我刚买了一台VPS,我正在用SSH播放它。
在安装了几个软件包之后,我发现我的语言环境有问题(我需要en_US.UTF-8
但是我有Latin1
。我用谷歌搜索了它,但即使在我认为我已经改变了语言环境之后它们仍然保留回到原来的,我仍然遇到软件安装问题。
所以,我得到:
root@myname:~# locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pt_PT.UTF-8
LANGUAGE=
LC_CTYPE="pt_PT.UTF-8"
LC_NUMERIC="pt_PT.UTF-8"
LC_TIME="pt_PT.UTF-8"
LC_COLLATE="pt_PT.UTF-8"
LC_MONETARY="pt_PT.UTF-8"
LC_MESSAGES="pt_PT.UTF-8"
LC_PAPER="pt_PT.UTF-8"
LC_NAME="pt_PT.UTF-8"
LC_ADDRESS="pt_PT.UTF-8"
LC_TELEPHONE="pt_PT.UTF-8"
LC_MEASUREMENT="pt_PT.UTF-8"
LC_IDENTIFICATION="pt_PT.UTF-8"
LC_ALL=
但之前,我已经完成了:
locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LS_ALL=en_US.UTF-8
所以,我可以永远解决这个问题吗?
PS:我正在使用SSH完成所有这些工作。
答案 0 :(得分:0)
这是因为我本地计算机中的locale
设置为葡萄牙语,SSH
转发并尝试在服务器上使用,但服务器没有安装它。
我本可以停止将locale
环境变量从本地计算机转发到服务器。为此,我会在本地SendEnv LANG LC_*
文件中评论/etc/ssh/ssh_config
行。
相反,我决定:
1)生成locale
- 使用locale
在服务器上生成英语sudo locale-gen en_US.UTF-8
2)停止从本地计算机到服务器接受locale
环境变量。为此,我评论了远程AcceptEnv LANG LC_*
文件中的/etc/ssh/sshd_config
行。请注意,为此,我必须安装nano软件包来编辑文件(当我在文件目录中时sudo apt-get install nano
我刚刚nano filename
之后)。
3)将服务器locale
设置为英语 - 再次使用~/.bashrc
将以下行添加到我的远程~/.profile
或nano filename
文件中(不要忘记它们是隐藏的文件)您的主目录,因此它们不会出现在简单的ls
搜索中;您需要使用ls -la
命令):
export LANGUAGE="en"
export LANG="C"
export LC_MESSAGES="C"
export LANG=en_US.UTF-8
export LANGUAGE=en_US:en
export LS_ALL=en_US.UTF-8
我还重新启动了VM,在此之前我关闭了SSH会话并重新进入以查看更改是否正常。