AR ホームベーカリー

オイラのアウトプット用ホームベーカリー!

(WSL2 の) Ubuntu から SSH するときはコンフィグを変更しておけという学び

カッコつけちゃったけど、たぶん Ubuntu 共通の症状だと思うので。

リモート環境の LANG が C になる

以下の記事のように、 localectl でリモート環境の LANG を日本語に変更したとする。

donbulinux.hatenablog.jp

[root@remotehost ~]# localectl set-locale LANG=ja_JP.utf8
[root@remotehost ~]# localectl status
   System Locale: LANG=ja_JP.utf8
       VC Keymap: us
      X11 Layout: n/a
[root@remotehost ~]# source /etc/locale.conf

これで再起動したり SSH しなおしたりしても LANG=ja_JP.utf8 は維持されるはずなんだけど、 ssh 再接続すると LANG=C になる、というのが新人くんの作業環境で発生していた。

ローカルの LANG 設定が強制されていた

僕の環境で確認すると問題ないので「天狗かあ」という顔をしていたのだけど、以下の記事の通りだった。

dev.classmethod.jp

たしかユーザーディレクトリではなく /etc/ssh/sshd_configSendEnv LANG LC_* が書いてあるはずなので、コメントアウトして reboot すれば解決のハズです。

新人くんの作業環境も Ubuntu 入れたままで LANG=C だったのでそのままリモート環境に適用されていた、というオチだった。

は〜こういうの困る。