さくら VPS の ubuntu 10.04 で日本語ロケールを追加する

過日、さくらインターネット VPS サービスを契約し、そこに ubuntu 10.04 をインストールした。
暫く使っていたら、man コマンドなどの表示が英文になっていることに気がついた。
当然 manpages-ja はインストール済みだ。

何となく echo $LANG コマンドを実行してみたら、シェル変数 LANG の値が en_US.UTF-8 になっていた。
それなら manpages-ja をインストールしたところで、英文で表示されるのは当たり前のことだ。

日本語表示に切り替えるにはシェル変数 LANG の値を ja_JP.UTF-8 のように ja で始まる値にすればいい。

シェル変数 LANG の意味については「第1章 GNU/Linux チュートリアル - 1.5.2. "$LANG" 変数」がわかりやすいと思うので参照して欲しい。

念のために locale コマンドを実行して、LANG 以外の言語関連のシェル変数の値を確認してみる。

LANG の値が en_US.UTF-8 になっていたことから予想していたとおり、言語関連のすべてのシェル変数の値が en_US.UTF-8 になっている。

これらのシェル変数の値を、ja で始まる値、実際には ja_JP.UTF-8 に変更するには /etc/default/locale ファイルを修正すればいいのだが、さくらインターネットの VPS に ubuntu 10.04 をインストールしたときには、この /etc/default/locale ファイルが存在しない。
逆に言えば、/etc/default/locale ファイルが存在していないから en_US.UTF-8 になっているとも言える。

ところで、一言で LANG を ja_JP.UTF-8 にすれば良いと簡単に言っているが、LANG などの言語関連のシェル変数に設定できるのは、システムのロケールに登録されている値でないといけない。
システムのロケールに登録されている値以外を設定したときは、設定自体が無視されるか、場合によっては意味不明な表示になってしまう可能性もある。

そこでまずは、システムに登録されているロケールを確認するために locale -a コマンドを実行する。

これを見ると ja で始まる値がひとつも含まれていない。

grep ja cat /usr/share/i18n/SUPPORTED コマンドで ja を含む値が、使用中の ubuntu 10.04 でサポートされているかを調べてみる。
すると、以下のように ja_JP.EUC-JP と ja_JP.UTF-8 の二種類の値をサポートしていることが分かる。

この内の ja.JP.EUC-JP は文字コードに euc-jp を使う指定なので、文字コードに utf-8 を使う ja_JP.UTF-8 だけをシステムに登録してやる。

システムのロケールに新たな値を登録するには locale-gen コマンドを使う
このコマンドはシステムの状態を変更するものなので sudo を頭に付けて、 sudo locale-gen ja_JP.UTF-8 のように実行する。

これでシステムのロケールに ja_JP.UTF-8 が追加された。
念のためにもう一度 locale -a コマンドを実行して、ja_JP.UTF-8 が追加されていることを確認する。

最後に、シェル変数 LANG の値が最初から ja_JP.UTF-8 になっているようにするため、 sudo update-locale LANG=ja_JP.UTF-8 コマンドを実行して、/etc/default/locale ファイルを作成、更新してやる。
直接 /etc/default/locale ファイルを編集、修正してもいいのだが、専用のコマンドが用意されている場合はやはりそれを使うのが順当だろう。

/etc/default/local ファイルの内容は OS の起動時に設定されるので、 sudo reboot コマンドを実行して OS を再起動する。
これで man コマンドなどの表示がきちんと日本語で表示されるようになる。

ただし sudo update-locale LANG=ja_JP.UTF-8 コマンドで起動時のロケールを ja_JP.UTF-8 にした後に、さくら VPS のコントロール パネルから VNC コンソールを起動すると文字化けが発生してしまう。
これを回避するにはシェル変数 TERM の値が ‘lunux’ のときにシェル変数 LANG の値を C に変更するように .bashrc に書き加えるなど、ログイン時の処理に手を加えるひつようがあるだろう。
参考までに、筆者の .bashrc の該当部分を紹介しておく。

関連記事

  • さくらインターネット VPS サービスを契約してみた2012.4.24 (火) さくらインターネット VPS サービスを契約してみた ubuntu 使いなので、最初にインストールされている CentOS を起動もせず即座に OS 再インストールして ubuntu に入れ替えてしまった。 さくらインターネット VPS サービスではまだ ubuntu 12.04 LTS は提供されていない […]
  • ubuntu 12.04 を起動しても DNS に名前登録されない2012.8.17 (金) ubuntu 12.04 を起動しても DNS に名前登録されない ubuntu 12.04 を評価のためにインストールしてみた。 サーバーとしての評価なので最終的には固定 IP アドレスにするのだが、評価途中は DHCP を使った動的割り当ての方が何かと手軽だ。 ところが、DHCP サーバーと DNS […]
  • ubuntu のインストール直後の調整 (その 2)2010.6.27 (日) ubuntu のインストール直後の調整 (その 2) [ログインスクロプトの修正] インストールが終わった ubuntu 10.04 LTS Server Edition 64bit 版に SSH […]
  • ubuntu のインストール直後の調整 (その 1)2010.6.26 (土) ubuntu のインストール直後の調整 (その 1) [SSH での接続と不要パッケージの削除] ここまで 3 回に渡り Hyper-V の仮想マシンを作成して、そこに ubuntu 10.04 LTS Server Edition 64bit 版をインストールするまでを書いた。 しかしこれだけでは単に […]

コメントを残す