我不是新手,但我一直在与这个看似简单的问题作斗争一段时间。我知道如何使用或其他技巧来解决它,/etc/environment
但我希望 var/etc/default/locale
能够正常工作......它们根本没有来源
使用 Ubuntu 14.04.4。目前的内容/etc/default/locale
是:
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ALL=en_US.UTF-8
我知道我可以将它们放入/etc/environment
或/etc/profile
等中。触发dpkg-reconfigure locales
, locale-gen
,locale-update
的效果为零。我知道他们所有人。
应该/etc/default/locale
采购的东西不是采购它。我不知道是什么。我也确实重启了。
这是我 ssh 进入机器的时候。
...几分钟后我想通了...该死的PAM!
通过查看所有 /etc/default/locale 和 PAM 出现的 /etc 文件来跟踪它。它在
/etc/pam.d/sshd
.然后我记得我最近才在我想通过 chroot'ing 监禁 sftp 用户时
/etc/ssh/sshd_config
通过评论该行来禁用 PAM。#UsePAM yes
解决方案:要么在 sshd_config 中重新启用 PAM,要么在 /etc/environment、/etc/profile 或 ~/.profile 中源 /etc/default/locale
模组可以根据需要删除问题和答案。我会留下他们以防其他人陷入同样的困境。
然而!
这实际上不应该是一个值得向 Ubuntu 开发人员报告的错误吗?是否不应该在所有登录名上配置区域设置,无论是否使用 PAM?
阅读
man ssh
,它(部分)在以下ENVIRONMENT
部分中说:并且,在该
FILES
部分中,请参阅:和
和