我在桌面上使用 kubuntu 20.04,全新安装后,当我连接到所有服务器时出现了奇怪的行为:带有重音字符的文件内容不会显示。
例如,单词“省“ 被展示 ”普罗文西亚",用两个空格代替重音符号我(我)。
在我左边 50 厘米处我的笔记本电脑也使用 kubuntu 20.04,我没有这个问题。
以下是区域命令信息....
桌面(未按预期显示字符)...
$ locale
LANG=ca_ES.UTF-8
LANGUAGE=
LC_CTYPE="ca_ES.UTF-8"
LC_NUMERIC=ca_ES.UTF-8
LC_TIME=ca_ES.UTF-8
LC_COLLATE="ca_ES.UTF-8"
LC_MONETARY=ca_ES.UTF-8
LC_MESSAGES="ca_ES.UTF-8"
LC_PAPER=ca_ES.UTF-8
LC_NAME=ca_ES.UTF-8
LC_ADDRESS=ca_ES.UTF-8
LC_TELEPHONE=ca_ES.UTF-8
LC_MEASUREMENT=ca_ES.UTF-8
LC_IDENTIFICATION=ca_ES.UTF-8
LC_ALL=
$ locale -a
C
ca_AD.utf8
ca_ES.utf8
ca_ES.utf8@valencia
ca_FR.utf8
ca_IT.utf8
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
笔记本电脑(运行正常)......
$ locale
LANG=ca_ES.UTF-8
LANGUAGE=
LC_CTYPE="ca_ES.UTF-8"
LC_NUMERIC="ca_ES.UTF-8"
LC_TIME="ca_ES.UTF-8"
LC_COLLATE="ca_ES.UTF-8"
LC_MONETARY="ca_ES.UTF-8"
LC_MESSAGES="ca_ES.UTF-8"
LC_PAPER="ca_ES.UTF-8"
LC_NAME="ca_ES.UTF-8"
LC_ADDRESS="ca_ES.UTF-8"
LC_TELEPHONE="ca_ES.UTF-8"
LC_MEASUREMENT="ca_ES.UTF-8"
LC_IDENTIFICATION="ca_ES.UTF-8"
LC_ALL=
$ locale -a
C
ca_AD.utf8
ca_ES.utf8
ca_ES.utf8@valencia
ca_FR.utf8
ca_IT.utf8
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IL
en_IL.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
从我的桌面连接到我的一台服务器...
# locale
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=ca_ES.UTF-8
LC_TIME=ca_ES.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=ca_ES.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=ca_ES.UTF-8
LC_NAME=ca_ES.UTF-8
LC_ADDRESS=ca_ES.UTF-8
LC_TELEPHONE=ca_ES.UTF-8
LC_MEASUREMENT=ca_ES.UTF-8
LC_IDENTIFICATION=ca_ES.UTF-8
LC_ALL=
# locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf8
POSIX
从我的笔记本电脑连接到我的一台服务器...
# locale
LANG=en_US.UTF-8
LANGUAGE=
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=
# locale -a
C
C.UTF-8
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZM
en_ZM.utf8
en_ZW.utf
我看到的唯一区别是从我的桌面连接时的消息locale: Cannot set LC_ALL to default locale: No such file or directory
。但我不知道从哪里开始解决这个问题。
我确定这不是与 plasma、konsole 或 kubuntu 相关的问题,因为如果我不启动桌面(如果我在控制台中登录到我的桌面)我也会遇到同样的问题。
我已经尝试发表评论SendEnv LANG LC_*
( /etc/ssh/ssh_config
我的笔记本电脑上没有评论)
笔记本电脑和台式机都有相同的 SSH 版本...
OpenSSH_8.2p1 Ubuntu-4ubuntu0.1, OpenSSL 1.1.1f 31 Mar 2020
答案1
我已经解决了这个问题,感谢本文
以下步骤如下:
$ export LC_ALL="ca_ES.UTF-8"
$ export LC_CTYPE="ca_ES.UTF-8"
$ sudo dpkg-reconfigure locales
然后我选择并ca_ES.UTF-8
继续en_US.UTF-8
(我尝试选择并且也有效)。Locales to be generated page
ca_ES.UTF-8
Default locale for the system environment
en_US.UTF-8