カッコつけちゃったけど、たぶん Ubuntu 共通の症状だと思うので。
リモート環境の LANG が C になる
以下の記事のように、 localectl でリモート環境の LANG を日本語に変更したとする。
[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 設定が強制されていた
僕の環境で確認すると問題ないので「天狗かあ」という顔をしていたのだけど、以下の記事の通りだった。
たしかユーザーディレクトリではなく /etc/ssh/sshd_config に SendEnv LANG LC_* が書いてあるはずなので、コメントアウトして reboot すれば解決のハズです。
新人くんの作業環境も Ubuntu 入れたままで LANG=C だったのでそのままリモート環境に適用されていた、というオチだった。
は〜こういうの困る。