SSH 在連線遠端機器時預設會傳遞一些環境變數,其中就包括你本機的 locale 變數。這會導致遠端機器的 locale 配置變成和你本地主機一樣。有時候我們不希望這種行為,我們可以透過修改 SSH 配置檔案來取消這一行為。
編輯 /etc/ssh/ssh_config
檔案:
sudo vim /etc/ssh/ssh_config
可以找到檔案中有一項 SendEnv LANG LC_*
設定:
Host *
SendEnv LANG LC_*
這個設定導致了我們在使用 SSH 連線時自動傳遞了 LANG
和 LC_*
環境變數。把這條設定註釋掉就可以了:
#Host *
# SendEnv LANG LC_*
StackOverflow 中提到還可以在 ~/.ssh/config
中設定取消傳遞 LANG
和 LC_*
環境變數的方法,但是 SSH 貌似會預設採用系統設定中的環境變數配置,因此這個方法無效。
參考:How not to pass the locale through an ssh connection command | StackOverflow