Edited at

Edisonに日本語UTF-8(ja_JP.UTF-8)のロケールを設定する。

More than 3 years have passed since last update.


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つの手順になります。

1. 日本語localeのインストール

2. 日本語UTF-8ロケールの作成

3. 環境変数への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"