MacのターミナルからLinuxサーバに接続するとlocaleが変わる

MacBookからLinux(Ubuntu)にSSH接続して操作をしていると、パッケージのインストールの時とかにこんなワーニングが出たりする。

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = "en_US:en",
        LC_ALL = (unset),
        LC_CTYPE = "UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

たまにエラーになっちゃうものもあるんだけど、Linux(Ubuntu)側は特にlocaleやLANGUAGEの設定を変更していないのに、なんでだろうと思ってたら、MacBook側の設定だった…

MacからのSSH接続時の設定を変更

問題なのはMac側の”ssh_config”ファイルの設定。

$ cat /etc/ssh/ssh_config
~
Host *
	SendEnv LANG LC_*
~

こんな風になっている。”SendEnv ”は環境変数をHostに送信することだからこれを実行しないようにコメントアウトする。

$ vim /etc/ssh/ssh_config
~
Host *
#	SendEnv LANG LC_*
~

これで終わり。次にSSH接続した時から設定が反映されるよ。

「変更したことで問題起こらないの?」って疑問はあるかもしれないけど、多分問題ない。恐らく、同一人物が色々なMac間をリモート操作する時に、デスクトップ環境が統一されるようにという考慮な気がする。

つまりは、Mac大好きでMac以外の環境ではパソコン触らないような人向けの設定だと思う。僕はそこまでMac漬けではないので必要ない設定ですw

リモート接続したらリモート先の権限に合わせてもらって良いのです(。・ω・)ノ゙