Z.OOL.ネット信託統治領 はてな諸島

こちらは "Z.OOL.ネット信託統治領 はてな諸島" です。

Z.OOL.ネット信託統治領はてな諸島は、はてなダイアリーからはてなブログに運用を移行致しました。
どうか御了承下さい。

Debian noroot 環境で日本語環境を導入する

随分と過酷な気候の日々。随分と全身倦怠感が蓄積される日々。何とかならないか...。
#NowPlaying New Order: "Blue monday 88"

追記 (2016/02/12, 2016/03/18)

本稿を加筆修正した記事をQiita に投稿しました。今後は、Debian noroot 環境への日本語環境の導入に関する投稿の加筆訂正及び更新は、"Debian noroot 環境で日本語環境を導入する - Qiita" に纏めることとしますので、どうか宜しく御願い致します。

qiita.com

追記 (2015/10/23)

fcitx-mozc 導入時に日本語入力が文字化けする問題を回避する修正を行いました。

はじめに

Debian noroot とは、 Android 上において root 権限を取ることなく Debian 環境を構築するためのアプリケーションです。

CPU の性能とメモリ容量が潤沢にある Android 端末であれば、このアプリケーションの導入によって Android 端末上で非常に軽快な Debian 環境を実現できます。 現在、僕は手元の Sony Xperia Z Ultra 上に Debian noroot をインストールして Android 上で Debian 環境を運用しています。

ここでは、自分の手元の環境で実際に行った Debian noroot 環境における日本語環境の構築の概略について簡潔に述べます。

なお、Debian noroot 環境の日本語環境構築等、各種環境設定に当たっては、以下の Web page の内容を参考にしました。

上記の Web page の作者である msmrrenda 氏AbyssLuke 氏に心より感謝致します。

一時的に日本語 locale を無効化する

Debian noroot環境においては、初期状態では locale 関連の設定が日本語のものとなっているにも関わらず、日本語フォントがインストールされていないためにエラーメッセージ等が正常に表示されない問題が発生します。

この場合は、 locale 関連の環境変数 LC_ALL 等を以下のように一時的に変更して shell を起動し、各種メッセージの表示の日本語化を一時的に無効化します。

 # env LC_ALL=C LANG=C LANGUAGE=en bash
 #

VL ゴシックフォントを導入する

まず、日本語フォントとして VL ゴシックフォントを導入します。以下のようにしてインストールします。

 # apt-get install fonts-vlgothic

MLTerm を導入する

次に、日本語端末エミュレータとして MLTerm を導入します。

なお、 MLTerm は Debian noroot 環境において、疑似端末の問題を回避する事なく正常に動作させる事が可能です。以下のようにしてインストールします。

 # apt-get install mlterm

そして、 ~/Desktop/XTerm.desktop~/Desktop/MLTerm.desktop にコピーし、以下の部分を修正します。

[Desktop Entry]
...
Exec=mlterm -w 20 --deffont="VL Gothic" --bg=black --fg=green --ac 2 -e /bin/bash -l
...
Name[en_US]=MLTerm
Name=MLTerm
...

~/Desktop/Root-XTerm.desktop も同様に ~/Desktop/Root-MLTerm.desktop にコピーして以下のように修正します。

...
Exec=fakeroot-tcp /usr/bin/env PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/mlterm -w 20 --deffont="VL Gothic" --bg=black --fg=green -ac 2 -e /bin/bash -l
...
Name[en_US]=Root MLTerm
Name=Root MLTerm
...

これで、画面上に MLTerm のアイコンが現れるので、アイコンをクリックすると MLTerm が起動します。

また、 mlterm に以下のようにして --pic オプションをつけて起動させることにより、 MLTerm に壁紙を表示させる事が出来ます。

例えば /path/to/picture/wallpaper.jpg に壁紙ファイルをおいて、 ~/Desktop/MLTerm.desktop を以下のように修正します。

[Desktop Entry]
...
Exec=mlterm -w 20 --deffont="VL Gothic" --pic=/path/to/picture/wallpaper.jpg --bright=50 --bg=black --fg=green -ac 2 -e /bin/bash -l
...

そして MLTerm のアイコンをクリックすると以下の画像のような MLTerm を起動させることができます。 f:id:z80oolong:20150731183811p:plain

Fcitx-mozc を導入する

最後に日本語入力システムとして fcitx-mozc を導入します。まずは以下のようにインストールします。

apt-get install fcitx-mozc

次に、ルートディレクトリ直下の /proot.sh に以下の行を追記します。

...
export LANG="ja_JP.UTF-8"    # 文字化けの問題が発生する場合は、 
export LANGUAGE="ja"         # 環境変数 LANG, LANGUAGE の設定も追記する。
...
export XMODIFIERS="@im=fcitx"
export QT_IM_MODULE=xim
export QT4_IM_MODULE=xim
export GTK_IM_MODULE=xim
...

そして、 Debian noroot を再起動させると、 fcitx が使用できるようになります。

なお、漢字変換に関する keybind の設定は Android OS 上で使用しているもの (F12 キー等) と衝突しないものにする必要があります。