Debian
沒有通過 ssh 連接正確設置語言環境
我有一個安裝了幾個語言環境的 debian 伺服器,de_DE、en_GB 和 en_US。我希望能夠通過 ssh 登錄並相應地設置語言環境(在我的情況下為 en_US,對其他人不同)我執行 dpkg-reconfigure locales,並選擇 None 作為此處提到的預設語言環境:http://wiki .debian.org/Locale。現在,當我通過 ssh 登錄時,我仍然獲得 de_DE 語言環境。
LANG=de_DE.utf8 LANGUAGE=de_DE.utf8 LC_CTYPE="de_DE.utf8" LC_NUMERIC="de_DE.utf8" LC_TIME="de_DE.utf8" LC_COLLATE="de_DE.utf8" LC_MONETARY="de_DE.utf8" LC_MESSAGES="de_DE.utf8" LC_PAPER="de_DE.utf8" LC_NAME="de_DE.utf8" LC_ADDRESS="de_DE.utf8" LC_TELEPHONE="de_DE.utf8" LC_MEASUREMENT="de_DE.utf8" LC_IDENTIFICATION="de_DE.utf8" LC_ALL=de_DE.utf8
我用 ssh -v 檢查,ssh 客戶端確實在發送 LANG 變數
debug1: Sending environment. debug1: Sending env LANG = en_US.UTF-8
語言環境如何仍設置為 DE,我如何禁用該行為?
**編輯:**它現在工作。有人強行在 /etc/profile 中設置語言環境…
好的,我想通了。
LC_ALL
有人將andLANG
變數硬編碼在中/etc/profile
,因此其他所有內容都被忽略了。刪除這些後,現在根據 ssh 傳輸的環境設置語言環境。
在 ~/.profile 中指定使用者首選的語言環境配置是否適合您的需要?
此外,為了避免您的煩惱,請停止從客戶端轉發語言環境(/etc/ssh/ssh_config,註釋掉 SendEnv LANG…)並停止在伺服器上接受(/etc/ssh/sshd_config)..
或者,如果您願意,可以使用所需的選項設置 ~/.ssh/environment 文件。您必須在伺服器的 /etc/ssh/sshd_config 文件上啟用 PermitUserEnvironment。