Opensuse
設置語言環境失敗。修復你的系統
帶有 openSUSE Tumbleweed 的 32 位伺服器:
登錄時,我收到以下警告:
/usr/bin/manpath: 無法設置語言環境;確保 $ LC_* and $ 朗是正確的
為了修復上述錯誤,我執行這些命令來修改系統語言和時間,但我得到了錯誤:
> sudo yast2 language [sudo] password for root: Failed to set locale. Fix your system. Failed to set locale. Fix your system.
還:
> sudo yast2 timezone [sudo] password for root: Failed to set locale. Fix your system. Failed to set locale. Fix your system.
我無法弄清楚原因。有人有建議嗎?
更新
語言環境輸出:
> locale locale: Cannot set LC_CTYPE to default locale: No such file or directory locale: Cannot set LC_ALL to default locale: No such file or directory LANG= LC_CTYPE=UTF-8 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=
另一個輸出:
> locale -a locale: Cannot set LC_CTYPE to default locale: No such file or directory C C.utf8 POSIX aa_DJ aa_DJ.utf8 aa_ER aa_ER@saaho aa_ET af_ZA af_ZA.utf8 agr_PE ak_GH am_ET an_ES an_ES.utf8 # ... it' a long list
更新
~/.profile
即使在註銷甚至重新啟動之後,添加這些行也不能解決問題:export LANG="en_US.UTF-8" export LC_CTYPE="en_US.UTF-8" export LC_ALL="en_US.UTF-8"
新觀察
- 直接/物理登錄伺服器:不拋出警告
- 從 Linux 筆記型電腦(openSUSE Leap 15.1)通過 SSH 登錄伺服器:未拋出警告
- 從 MacBook 筆記型電腦通過 SSH 登錄伺服器:拋出此警告:
/usr/bin/manpath: 無法設置語言環境;確保 $ LC_* and $ 朗是正確的
如此處評論:
啊,這很好解釋。SSH 將您的語言環境與連接一起轉發。因此,您的 Mac 要求的語言環境在您的 Linux 機器上不可用。
要麼將您的 Mac 區域設置更改為一致,要麼將您的 Mac SSH 設置更改為不轉發區域設置: https ://stackoverflow.com/questions/29609371/how-do-not-pass-locale-through-ssh
我通過幾個步驟修復了一些我正在使用的樹莓派。
- 我註釋掉
en_GB.UTF-8
並/etc/locale.gen
取消註釋en_US.UTF-8
。- 我添加了行
LC_CTYPE=en_US.UTF-8
和LC_ALL=en_US.UTF-8
到/etc/default/locale
. 您可能需要添加更多這樣的行,例如LC_MESSAGES=en_US.UTF-8
.- 我跑了
export LC_ALL=en_US.UTF-8
。- 最後,我跑了
sudo locale-gen
。如果您
locale
在這些步驟之後執行,您應該不會看到任何警告,並且您應該看到en_US.UTF-8
除了可能LANG
和之外的所有欄位LANGUAGE
。export LANG=en_US.UTF-8
您可以使用和手動更改這些export LANGUAGE=en_US.UTF-8
。