我有一个运行 Poky Linux Rocko-2.4.2 和 BusyBox 的机器。我将区域设置设置为美国英语 UTF-8 (en_US.UTF-8)。如果我直接在控制台以 root 身份登录并执行:locale,我会得到预期的输出:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
如果我以 root 身份 SSH 进入盒子并执行:locale,我也会得到如上所示的预期输出。我正在编写一个 python 脚本来测试各种操作系统属性,系统区域设置就是其中之一。我使用 python Paramiko 模块进行 SSH 连接;相同的凭据:root 用户和密码。但是,当脚本执行时,它会返回:
LANG=""
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=""
搜索周围我发现这并尝试了poky boxe的sshd_config中的方法2设置AcceptEnv no
,但这似乎没有任何效果。必须在盒子上正确设置区域设置,这意味着解决方案不能涉及更改我的 ssh 配置,如上面链接中的方法 3。
我是否实际上没有正确配置 poky box 上的区域设置,或者......?如果我导航到:/usr/share/locale/en/LC_MESSAGES/,则存在 2 个文件:gtk30.mo & gtk30-properties.mo;这听起来正确吗?我没有包含 python 代码,因为老实说我不认为它是罪魁祸首,但如果评论认为我会添加编辑。