我不是新手,但我已经和这个看似简单的问题斗争了一段时间了。我知道如何使用/etc/environment或其他技巧来解决它,但我希望变量/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
Run Code Online (Sandbox Code Playgroud)
我知道我可以将它们放入/etc/environment或/etc/profile等中。触发dpkg-reconfigure locales, locale-gen,locale-update效果为零。我知道他们所有人。
那些应该来源的东西/etc/default/locale却没有来源。我不明白是什么。我也重启了。
这是我 ssh 进入机器的时候。
...几分钟后我想通了...该死的 PAM!
通过查看所有源自 /etc/default/locale 的 /etc 文件来追踪它,并且出现了 PAM。它的来源是/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?
| 归档时间: |
|
| 查看次数: |
2443 次 |
| 最近记录: |