Debian Consoleログインの文字化け解消

最近のLinuxディストリビューションはしっかり多言語対応しているのでグラフィカルなインストーラーでちゃんと日本語を選べるようになっていて、その状態でインストールするとしっかりとシェルの環境変数で言語が日本語になるように設定してくれる。

これ自体はありがたくてSSHなどでリモートのターミナルから接続した環境では様々なコマンドの出力結果が日本語化されてありがたいのだが、一つだけ問題がある。それはサーバー自身のコンソールからログインした場合だ。昔からコンソール画面の出力は多言語化されていないので、この状態でも言語が日本語になっていると出力が文字化けしてしまう。ついうっかりコンソールからパッケージのインストールとかをしてしまうとaptからのメッセージが文字化けして何を要求されているのかわからないまま全部の質問にYと答える羽目になる。

まあ、当たり前のことであるがログインシェルからはどのようなターミナルから接続されているのかを環境変数で認識できるわけだから、ログインシェルの設定でコンソールからログインしている時だけ環境変数の言語をデフォルトのCに戻してあげればよいだけである。そこで、bashをログインシェルにしている時には$HOME/.bashrcに以下の設定を書き加えておく。

case $TERM in
linux) LANG=C ;;
esac

これでログインした環境がコンソールだった場合に、環境変数TERMの内容がlinuxと設定されているので、システムの標準の言語設定をオーバーライドしてCに書き換えることができる。これで、コンソール環境での出力が強制的にデフォルトの英語に戻るというわけだ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください