远程安装的应用程序存在一些编码问题,但在我的本地机器上运行良好。
将我的语言环境“复制”到远程机器的最佳方法是什么?
我的个人机器上的语言环境配置如下:
$ locale
LANG=de_DE.UTF-8
LANGUAGE=de_DE:en
LC_CTYPE="de_DE.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="de_DE.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="de_DE.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=
答案1
您可以使用以下方式手动设置语言环境update-locale
:
sudo update-locale LANG=de_DE.UTF-8 LC_MESSAGES=POSIX
读手册页了解更多信息。
或者,您可以通过修改文件来手动更改系统的语言环境条目/etc/default/locale
。
例如,在德语系统上,为了防止系统消息被翻译,您可以使用:
LANG=de_DE.UTF-8
LC_MESSAGES=POSIX
笔记:更改只有在全新登录后才能生效。
答案2
更简单的方法
将所有语言环境导出到文件中
locale > import
打开文件并在每行开头添加导出
使用命令使其可执行
chmod ugo+rx import
复制到所需配置文件并执行
./import
答案3
在远程机器上配置区域设置时有一些建议
在 Debian 机器(远程机器)中,运行以下命令(以 root 身份):
sudo dpkg-reconfigure locales
在第一个屏幕上,选择所需的语言环境。之后,系统将提示您选择哪个是默认语言环境。选择“无”(参考:https://wiki.debian.org/Locale#Standard)。
配置你的 ssh 服务(
/etc/ssh/sshd_config
)以接受来自客户端的环境变量:取消注释以下行:AcceptEnv LANG LC_*
重新启动 ssh 服务器,注销并重新登录并运行locale
命令。它必须与本地计算机的语言环境相匹配。