1. はじめに
Intel EdisonにデフォルトでインストールされているYocto OSはlocaleがインストールされていません。そのため、環境変数LANGやLC_ALLにja_JP.UTF-8と指定してもロケールが変更できません。このままでは日本語を取り扱うプログラムなどを実行すると、うまく処理できない場合があります。そこで本稿では日本語UTF-8のロケールをEdisonにインストール方法について説明します。
OSを他のディストリビューションにするという方法もありますが、Yocto OS縛りがある場合に参考にしてみてください。
1.1 Edisonのlocaleを確認する
EdisonのYocto OSはSystemdが採用されています。localeの設定についてはlocalectlが利用されます。
まず現在のlocale設定を見るために以下のコマンドを実行します。
root@edison:~# localectl
また利用できるlocaleの設定については下記のコマンドで確認できます。
root@edison:~# localectl list-locales
Failed to open locale directory: No such file or directory
Edisonをセットアップ後の状態ではlocaleがインストールされていないため、上記のようなメッセージが表示されます。ここからEdisonにlocaleをインストールして行きます。
1.2 Edisonにロケールを設定する手順
Edisonでのlocaleの設定の手順は以下の3つの手順になります。
- 日本語localeのインストール
- 日本語UTF-8ロケールの作成
- 環境変数へのlocaleの設定
次にそれぞれについて説明して行きます。
2. 日本語localeのインストール
ロケールについてはopkgでインストールすることができます。日本語以外に付いてもロケールが用意されていますので、適宜必要な物をインストールします。
2.1 リポジトリの追加
opkgのリポジトリを追加します。下記パスにファイルにリポジトリを3つ追加します。
/etc/opkg/base-feeds.conf
src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
その後、opkgでアップデートを実行してください。
root@edison:~# opkg update
2.2 インストールの実行
下記のコマンドでインストールして行きます。
root@edison:~# opkg install glibc-locale-ja
root@edison:~# opkg install glibc-localedata-ja-jp
root@edison:~# opkg install glibc-charmap-utf-8
ここで再びlcalectlで利用できるlocaleを確認します。
root@edison:~# localectl list-locales
ja_JP.EUC-JP
ja_JPが追加されていることが確認できます。
3. 日本語UTF-8ロケールの作成
ja_JPのロケールはインストールできましたが、このままでは日本語UTF-8のロケールが設定できません。
そこで。localedefを使い、日本語UTF-8をロケールを作成します。
※余談ですが、euc-jpのロケールはopkgのリポジトリにあるようです。
まずlocaledefをopkgからインストールします。
root@edison:~# opkg install localedef
下記のコマンドでUTF-8のロケールを作成します。
root@edison:~# localedef -i ja_JP -f UTF-8 ja_JP.utf8
参考;http://webos-goodies.jp/archives/50808801.html
もう一度ロケールを確認しましょう。下記のように表示されれば成功です。
root@edison:~# localectl list-locales
ja_JP.EUC-JP
ja_JP.utf8
4. ロケールの設定
最後に環境変数を設定すれば完了です。下記を~/.profileなどに設定すれば良いと思います。
root@edison:~# export LANG="ja_JP.utf8"
本来Systemdではlocalectlコマンドでロケールの設定をするのが正しいようですが、Edisonの
場合設定が聞きませんでした。またこの場合、再起動後に設定が消えるようです。このあたり追加で検証を行いたいと思います。
5. まとめ
今回の作業をまとめてみました。
root@edison:~# opkg install glibc-locale-ja
root@edison:~# opkg install glibc-localedata-ja-jp
root@edison:~# opkg install glibc-charmap-utf-8
root@edison:~# opkg install localedef
root@edison:~# localedef -i ja_JP -f UTF-8 ja_JP.utf8
root@edison:~# export LANG="ja_JP.utf8"