▲Zaurus Top | ↑Up(設定・システム) | ←Prev(ipkg の構造と無理インストール) | →Next(セルフ開発環境)
(2003/07/07)
Opie とは、Open Palmtop Integrated Environment のことで、オープンソースの Linux PDA のプラットフォーム。OPIE は、Trolltech の Qtopia から分離して、 独自の改良がされてきたものだ。(本家サイト http://opie.handhelds.org より)
Qtopia は Zaurus のプラットフォームでもあり、Opie で動く各種ツールは、 Zaurus でも有用に使える可能性が高いってこと。世界中の PDA マニアが Unix の Qt や KDE というプラットフォームをもとに、ものすごい勢いでアプリケーショ ンやシステムを開発しつづけているのだ。
Tk に wish があるように、Opie というようりは Qtopia (QtPalmtop)の、 Widget (ボタンとか、ラベルとかの GUI部品) をシェルスクリプトから使うための インタプリタ。
画面イメージやなんかは、本家( http://www.rit.edu/~tfs1812/cgi-bin/document.pl?document=opie-sh) 参照。日本語の情報は、Walrus, Visit. の Linuxザウルス/Opie-sh-HowTo が充実している。
Qtopia アプリケーションで、相互にメッセージをやり取りするのに
qcop メッセージと言われる。
それをコマンドラインから扱うツールが
どんなメッセージが使えるかは、DIGITAL-MONO の LinuxZaurus/QCop が情報豊富。
Zaurus で(Qtopia で)使われているパッケージシステム。 インストールやアンインストールはパッケージ管理システムに まかせてしまうのが楽々。→解説
Zaurus の主要な使われ方として、メーカの思惑とは違って、 次のようなことをしたい人が多いと思う。
歩きながら、思いついた時にすぐプログラミング。
そういうつもりでいたのだが、NetFront で http://localhost/ ってすると、 「ネットワークに繋ぎますか?」だって。ifconfig で見ても lo は生きているのに。
いろいろ調べてみたところ、Linux としては、ネットワークは生きているけど、 Qtopia として落ちているらしい。つまり、qcop で
qcop QPE/Network 'up()'
しろ、ということだ。何回か、シェルでそういうコマンド打ってたけど、 しばしば使うので、GUI ラッパーが欲しくなってきたので、 opie-sh で作ることにした。
スクリプト localhost_net.sh のソースを次に示す。
opie-sh の -m オプションでボタン付のダイアログを表示して、
ボタンの押した結果が、ステータス
#!/bin/sh # 2003/07/05 KONDOU# http://www.bf.wakwak.com/~nkon/homepc/zaurus/ OPIE_SH=/opt/QtPalmtop/bin/opie-sh QCOP=/opt/QtPalmtop/bin/qcop ############################################# show_dialog(){ $OPIE_SH -m -g -M "<img src=/opt/QtPalmtop/pics/netmon/up2.png>This is GUI wrapper of<br><T>qcop OPE/Network 'up()'</T><br>for localhost netrowk." -0 "down" -1 "up" -2 "Cancel" } up(){ $QCOP QPE/Network 'up()' } down(){ $QCOP QPE/Network 'down()' } ############################################## # main show_dialog case $? in 0) down ;; 1) up ;; esac
あとは、ランチャに表示するために、
[Desktop Entry] Type=Application Exec=localhost_net.sh Icon=netmon/up2 Name=localhost_net
ipkg 化するためには、Walrus, Visit.で公開されている、 ipkg-buildを使うのが簡単だ。 Linux ザウルス用と書いてあるが、シェルスクリプトなので、 母艦で、ipkg を tar xvzf で展開して、その中の ipkg-build を呼んでもよい。
ipkg 化するためには、control というファイルが必要だが、簡単なので、以下の localhost_net の control を見て自習のこと。
Package: localhost-net Installed-Size: Version: 1.0.0 Depends: opie-sh Priority: optional Section: opie/settings Maintainer: KONDOU NobuhiroArchitecture: arm License: GPL Description: GUI wrapper of qcop QPE/Network 'up()'
次のディレクトリ構造を作っておいて、
+-- localhost_net/ +-- CONTROL/ | + control +-- opt/ + QtPalmtop/ + apps/ | + UserTab1/ {追加タブに入れることにする} | + localhost_net.desktop + bin/ + localhost_net.sh
できた ipkg は、本体メモリでも、SD カード上でもインストール可能。 ただし、アイコン長押して、「VGAに最適化して実行」のチェックを外して おくと良い。
▲Zaurus Top | ↑Up(設定・システム) | ←Prev(ipkg の構造と無理インストール) | →Next(セルフ開発環境)