Android黎明期のクラムシェルたち ( その2 LifeTouch NoteでLinuxを使おう )
LifeTouch Noteで、Debian Wheezyを動かそう
NECは過去に、大型キーボードも搭載する端末としてモバイルギアシリーズを発売しており、快適な文字入力ができる端末として人気を集めていました。特に、裏技としてDOS化して超小型のMS-DOSマシンとして活用できることが発見されてからは、その手のガジェット好きからも多大なる支持を集めていたものです。
かく言うわたしも、モバイルギア”MK22”を愛用しておりました。いまやヒンジ折れして見る影もありませんが。
そういった経過から、LifeTouch Noteは、モバイルギアの後継モデルという印象が非常に強く、ユーザーの期待も小さくなかったのですが、残念ながらあまり評判は芳しくありませんでした。マシンの概要と評価は、このあたりのレビューを参考にして下さい。
立派なキーボードを持っている点は評価出来ますが、7インチでありながら”800×480”という解像度は、この時代でもぱっとしません。5インチのIS01が”960x480”であることを考えれば、一目瞭然でしょう。重量700gもこのサイズにしては鈍重な感は否めず、常時携帯したくなるようなマシンとはとても思えません。
言ってみれば、「Androidの特性と全く正反対」なのが、このマシンなのです。そりゃ、売れないよね(笑)。
また、IS01やDynabook AZがROM焼きや、Ubuntuインストールで盛り上がっていたことと比較すると、極めて地味で遊びがいのないマシンという印象が強く、ほとんど盛り上がりませんでした。わたし自身も購入はしたものの、あまり熱心に触った記憶がありません。
それならば、LifeTouch Noteの特徴を活かした使い方を考えてみましょう。
唯一の長所は「キーボード」、ならば”Linux”だ。
そう、まずはLinuxでしょう。...我田引水だな(笑)。
今回は、このぱっとしなかった”LifeTouch Note”にDebianをインストールして、遊んでみましょう。「今更感」は強いですけど。
(0) 始める前に
Android2.2レベルのマシンに、”Google Playストア”は全く役に立ちません。殆んどのツールが、サポート対象外になっているからです。
したがって、ツールをインストールするには、インターネット上にある他のサイトから、”.apk”ファイルを見つけてきて、手動で行う必要があります。
通常は、”Android SDK”をダウンロードして、その中に含まれるツール”adb”で、apkのインストールを行います。やり方については、この記事などを参考にして下さい。
また、LifeTouch NoteとPCを接続するUSBケーブルの端子は、「MiniUSB」です。現在主流の「MicroUSB」ではありませんので、注意して下さい。
(1) Android2.2で使える”Linux”を見つける。
さて、それでは始めましょう。
ひとりよがりのモバイルPC(その4 AndroidでLinux環境を動かす3つの手法)を紹介いたしましたが、これらはどれも「Android5.0以上」が対象なので、今回はどれも使えません。
そんな中で選択したのが、UserLAndの前身である”GnuRoot”です。このツールの古いバージョンなら、2.2レベルをサポートしてくれそうです。今どきGoogle Playにあるわけがないので、ネットワーク上から”apk”を探してきてインストールしてみましょう。
こちらを見つけました。
https://m.apkpure.com/nl/gnuroot/champion.gnuroot
ここから、“GNURoot_v0.1.5_apkpure.com.apk” をダウンロード。インストールしてみると、問題なく完了。
まずは、最初の関門はクリア致しました。
(2) GnuRootのダウンロードエラーを回避して、起動する。
次に、”GNURoot”を起動すると、下記の画面になりますので、まずは「Create New Rootfs」をクリックします。
残念ながら、この処理はうまくいきません。どうも、RootfsをGoogle Playからダウンロードしに行ってしまうようなのです。
なるほど。それなら、”Debian Wheezy”を事前にインストールしておけば動くかもしれません。探してみると、それらしい”apk”が、同じサイトにありました。
https://m.apkpure.com/jp/gnuroot-wheezy/champion.gnuroot.wheezy
“GNURoot Wheezy_v0.0.5_apkpure.com.apk"をダウンロード、インストールを行います。
完了後、再度”GNURoot”を起動、「Create New Rootfs」クリックすると、実行が始まりました。
なんとか導入が完了したようです。
次に、「Launch as Fake Root」にチェックを入れて、「Launch Rootfs」をクリックします。
ターミナルが起動して、プロンプトが現れるはずです。
(3) ターミナルを設定する。
この環境は、Debianがバックエンドで起動しており、そのSSHサーバーにターミナルでアクセスするようになっているようです。ターミナルは、おなじみの「Android Terminal」ですので、まずはその設定を行います。
「MENU」を押して、「その他」→「設定」を選択します。
まずは、画面の文字が小さいので、「フォントサイズ」を16ポイント程度にしておきましょう。「Default to UTF-8」にもチェックを入れておきます。
また、「Back Button」の挙動は、”ESC"にしておいたほうが便利です。
漢字を通したいので、「インプットメソッド」を「単語ベース」に設定します。
以上で、ターミナルの設定は終了です。
(4) Debianの環境を整備する。
ここからは、Debian本体の設定に移ります。現在導入されているDebianは、Wheezyという古いバージョンなので、現行のRepositoryからはツールの導入が出来ません。
1. Repositoryの変更
/etc/apt/sources.listを変更します。以下のような設定がされていますが、現在このサイトは使えません。
deb http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ wheezy main contrib non-free
こちらの情報によると、”archive.jp.debian.org”にあるようなので、sources.listを変更します。
# cd /etc/apt
# sed -i -e 's/ftp./archive./' sources.list
システムを更新します。それなりの時間がかかります。
# apt-get update
# apt-get upgrade
2. 日本語環境を整備する。
続けて、日本語環境を設定します。
まずは、localesを導入。
# apt-get install locales
ここで、localeを”ja_JP.UTF-8”に設定します。
# dpkg-reconfigure locales
また、~/.bashrcの最後に
export LANG=C
と書かれていますので、これを”ja_JP.UTF-8” に変更しないといけません。これに気が付かず、少し悩みました。これで、漢字の表示は問題ないはずです。
一方、漢字の入力ですが、LifeTouch Noteの場合、標準のATOKがターミナル上でも使えるので、何もする必要はありません。これは嬉しい。
(5) ツールをインストールする。
後は、適当なツールをインストールすれば環境設定完了です。
1. エディタ
# apt-get install vim emacs
使い慣れた”Emacs”ですが、このターミナル上では、Controlキーの挙動が今ひとつで、勝手がよくありません。Controlを押しただけで、”Mark activated”、”Mark deactivated”がトグルで動いてしまうなど、いささかイライラが募ります。この環境では、”Vim”を使ったほうが良いかもしれません。
(2021/12/28 追記)
これについては、キーレイアウトを変更することで対応できます。
ただし、/systemデレクトリを書き換えるので、LifeTouch Noteをroot化する必要があります。危険を伴う処置なので、自己責任でお願いします..。
と言っても、ここまでの処理、すべてそうですけどね(笑)。
1) root化
SuperOneClickというツールを使用します。Webサイトを検索してみてください。
「バージョンを選ぶ」ということですが、わたしはかなり前に1.7で実行しました。1.9.5でも動くという情報もありましたが、2.3.3はだめとのこと。
2) layoutファイルの取り出し
PCとLifeTouch NoteをUSBケーブルで接続、adbでアクセス、layoutファイル「nvec_keyboard.kl」を取り出します。
$ adb pull /system/usr/keylayout/nvec_keyboard.kl nvec_keyboard.kl
3) layoutファイルの変更
PC上で、nvec_keyboard.klを変更します。ESCAPE(key 1)とCTRL_LEFT(key 29)が対象です。
#key 1 ESCAPE ### <---
key 1 BACK
key 87 F11
key 88 F12
key 85 ZENKAKUHANKAKU
key 124 YEN
key 89 RO
#key 29 CTRL_LEFT ### <---
key 29 DPAD_CENTER
なお、Ctrlキー(key 29)とFnキー(key 464)を入れ替えたい場合は、下記とします。
key 464 DPAD_CENTER
key 29 INTERNAL_FN
変更後、nvec_keyboard.klを、LifeTouch NoteのSDCARD(/mnt/sdcard)に転送しておきます。
$ adb push nvec_keyboard.kl /mnt/sdcard/nvec_keyboard.kl
4) layoutファイルの更新
adb shellで、LifeTouch Noteの内部に入り、/systemディレクトリの位置を確認します。「suコマンドで、rootになれる」こともチェックしておきます。これが出来ていないとファイルの更新は出来ません。
/dev/block/mmcblk3p6が、systemパーティションなので、ここを書き込み可で再マウント、layoutファイルを転送します。
# mount -o rw,remount -t ext2 /dev/block/mmcblk3p6 /system
# cd /system/usr/keylayout
# cp /mnt/sdcard/nvec_keyboard.kl .
# chmod 644 nvec_keyboard.kl
# exit
$ exit
5) ターミナルでの設定
ターミナルから「Menu」→「その他」→「設定」に入り、「コントロールキー」を「トラックボール」に設定します。
ESCは「(3) ターミナルを設定する。」で述べたように、「Back Button」の挙動を”ESC"にしておくことが必要です。
以上で、Cotrolが普通に使えるので、Emacsの操作性が一挙に上がりますし、ESCは、Vimで効果的でしょう。
ただ、Controlが「トラックボール」になってしまうので、他のツールに影響があるかもしれません。まあ、AndroidでControlキーを使うアプリは殆どないので、深く考えないことにします。
(ここまで追記)
(さらに追記)
やはり、Controlが使えないのは問題があるので、[無変換キー]を[CTRL_LEFT]に割り当てました。必要な場合、4) layoutファイルの変更に追加してください。
#key 94 MUHENKAN
key 94 CTRL_LEFT
(ここまで追記)
2. 開発ツール
適当なツールを入れておきます。gcc、pythonなどを入れておきます。SSHも当然使用できますので、リモートマシンへのアクセスも可能です。
# apt-get install git
# apt-get install build-essential
# apt-get install python3 python3-pip
以上で環境設定は終了です。
「X環境」ですが、LifeTouch Noteは、Bluetoothはサポートされていますが、マウス接続はできないようですし、USBにも接続できないとのことなので、とても使い物にならないと思います。
Terminalでの使用にとどめておくのが現実的でしょう。
今回、LifeTouch Noteを”Linuxターミナル”として動作させることが出来ました。「今更」とは思いましたが、色々やってみると、なかなか楽しい作業でした。
次回は、Python3の環境を整備してみましょう。