「設定」→「ネットワーク設定」で「有線 LAN」「無線 LAN」として設定されている接続先の場合は、/etc/pcmcia/network.opts に各接続先毎の設定が記述されています。 この中に start_fn() 及び stop_fn() という関数があって、 それぞれ接続時と切断時に実行されるように設計されています。 「ネットワーク設定」で新しく接続先を作成した時点ではこれらの関数の中身は空になっていますので、 このファイルを編集してバッチ処理の script を追加しましょう。
例:
| → |
|
「設定」→「ネットワーク設定」で「ダイアルアップ接続」として設定されている接続先の場合は、 PPP 接続を実行する際に使用される script である /etc/ppp/ip-up に追加の記述をします。 接続先毎に異なる記述を行なうことは出来ませんが、 複数のダイアルアップ接続アカウントを持っていることは珍しいし、 しかもそれぞれの接続先毎に自動実行の中身を変えたいというニーズはまずないと思いますので、 これ以上の小細工は必要ないでしょう。
例:
if [ -x /usr/bin/ntpdate ]; then /usr/bin/ntpdate ntp.nc.u-tokyo.ac.jp fi |
chmod 755 /etc/ppp/pptp-on /etc/ppp/pptp-off chown root.root /etc/ppp/pptp-on /etc/ppp/pptp-off |
start_fn () { /etc/ppp/pptp-on PPTP_SERVER ACCOUNT PASSWORD lock noauth return } stop_fn () { /etc/ppp/pptp-off return } |
(前略) if [ -x /sbin/dhcpcd ] ; then rm -f /var/run/dhcpcd-$DEVICE.cache # This is a version check: I know it looks weird if /sbin/dhcpcd -XYZZY 2>&1 | grep -q DHCP ; then (後略) |
以降の例では /mnt/card (SD カード) 上に 16MB 分のサイズで FILE という名前のファイルを作成し、 これを /mnt/MOUNT にマウントしています。 これらを変更したい場合は、 例に書かれた青字部分をそれぞれ変更して下さい。
dd if=/dev/zero of=/mnt/card/FILE bs=1M count=16 |
/sbin/mke2fs -j /mnt/card/FILE |
mkdir /mnt/MOUNT |
/mnt/card/FILE /mnt/MOUNT ext3 noauto,loop 0 0 |
(前略) while true do umount /mnt/MOUNT umount $MOUNT_POINT if [ $? = 0 ]; then (中略) ln -s $MOUNT_POINT $SMB_MOUNT mkdir -p $MOUNT_POINT/$INSTALL_DIR mount /mnt/MOUNT #echo mount $? >> /tmp/sd ;; 'eject') fuser -s -m $DEVICE if [ $? = 1 ]; then umount /mnt/MOUNT umount $MOUNT_POINT rm $SMB_MOUNT (中略) kill_task # for QPE #fuser -k -m $DEVICE > /dev/null umount /mnt/MOUNT if [ $? != 0 ]; then usleep 500000 umount /mnt/MOUNT fi umount $MOUNT_POINT if [ $? != 0 ]; then (後略) |
(前略) mount $FATOPTS $FS $1 $MOUNTPT || mount $O $FS $1 $MOUNTPT || return 1 chkmntsh ${MOUNTPT} mount /mnt/MOUNT fi return 0 (中略) do_fuser -k -m $1 > /dev/null if mount | fgrep -q "$1 on" ; then if mount | fgrep -q "$1 on /usr/mnt.rom/cf" ; then umount /mnt/MOUNT || return 1 fi umount $1 || return 1 fi (中略) if [ "$LIST" ] ; then for MT in $LIST ; do if mount | fgrep -q "$MT on /usr/mnt.rom/cf" ; then umount /mnt/MOUNT if [ $? != 0 ]; then usleep 1000000 umount /mnt/MOUNT || return 1 fi fi umount $MT if [ $? != 0 ]; then (後略) |
Zaurus の IME には学習機能があって、
使用頻度の高い変換が優先的に選択されるようになっていますが、
この頻度判定が実にアバウトで全く実用に堪えられません。
常に直前の変換結果が最優先になり、
尚且つ変換させた文字列全体を記憶してしまうので、
例えば「がくしゅうこうかのむこうか」を「学習効果の無効化」に変換した直後は、
「がくしゅう」を変換しようとしただけで「学習効果の無効化」に変換してしまいます。
Zaurus ユーザの間では、
この機能を無効化するために、
学習結果を記述するファイルに書込み出来なくしてしまう手法が一般的に行なわれています。
勿論、
一切の学習が無効になるので、
良く使う変換結果を優先的に選択するという本来の機能も失われてしまうのですが、
その弊害よりも上記のようなお節介変換の弊害の方が大きいため、
多くの Zaurus ユーザがこの設定を行なっているのが実態だと思います。
但し、
このファイル書込みを禁止してもオンメモリのキャッシュ書込みまでは禁止出来ないので、
ある変換の直後に変換を行なう場合はお節介機能が働いてしまいます。
この場合、
一旦 IME を off にしてから再度 on に戻すことでキャッシュがクリアされますので、
お節介機能に悩まされないように頻繁に IME の on/off を繰返すと幸せになれると思います。
該当ファイルは「/opt/QtPalmtop/dic/kogatagaku.dat」です。
SL-C3000 以降では「/home/zaurus/Settings/kogatagaku.dat」になっているので気をつけて下さい。
このファイルを削除しただけではまた新規に作成されてしまうので、
同じ名前の directory を作成して書込みを禁止してしまいましょう。
尚、
当然のことながらこのファイルは一般ユーザではアクセス出来ませんので、
以下の作業を行なう前に su コマンドを使って root になっておいて下さい。
mv /opt/QtPalmtop/dic/kogatagaku.dat /opt/QtPalmtop/dic/kogatagaku.bak mkdir /opt/QtPalmtop/dic/kogatagaku.dat |
mv /home/zaurus/Settings/kogatagaku.dat /home/zaurus/Settings/kogatagaku.bak mkdir /home/zaurus/Settings/kogatagaku.dat |
因みに、 同じことを自動的に行なってくれる ipk 形式のファイルが公開されていますので、 コンソール作業に慣れていない人はこちらを使うのもいいと思います。
SL-A300 | discovery |
SL-B500 | poodle-j |
SL-C700 | corgi |
SL-C750 | shepherd-j |
SL-C760 | husky-j |
SL-C860 | boxer-j |
SL-6000 | tosa-j |
SL-C3000 | spitz-j |
SL-C1000 | akita-j |
SL-C3100 | borzoi-j |
SL-C3200 | terrier-j |
Zaurus で対応している CF カードや PCMCIA カードの情報は、
/etc/pcmcia/config というファイルに書かれています。
このファイルに情報のないカードは、
たとえ Zaurus の Linux kernel で制御可能なものであったとしても、
何のカードだか判らないので使えないということになります。
なので、
ここに載っていないというだけの理由で使えないカードは、
カード情報を追加してやれば使えるようになります。
但し、
kernel の機能としてそのカードを制御するドライバが本当に実装されていない場合は、
ここで説明する方法では対応出来ないので、
どこかでまずドライバを探して来て下さい。
/etc/pcmcia/config を覗いてみると、
後半部に「card」で始まるエントリが幾つもあるのが判ると思います。
これをお手本にしてエントリを追加します。
この時、
/etc/pcmcia/config を直接編集してもいいのですが、
このファイルは /etc/pcmcia/*.conf を全て参照するように書かれているので、
既存ファイルと重複しない名前で /etc/pcmcia/new-card.conf のように新しいファイルを作成して、
その中に追加したいカードの情報だけを書くといいでしょう。
一つのエントリの中の各行の意味は以下のとおりです。
以下の説明の中に出て来る「manfid」や「version」の値を調べたい
場合は、
カードを挿した状態でターミナルを開いて、
「/sbin/cardctl ident」と入力して下さい。
cardctl の詳しい使い方はここでは割愛しますが、
Linux 関連の資料を幾つか当たれば解説が見つかると思います。
では実際にやってみましょう。
一番一般的でニーズも多いと思われる Ethernet ドライバを例に説明します。
いわゆる LAN カードを Zaurus に対応させるお話です。
PLANEX が販売している CF-100TX2 という LAN カードがあります。
CF カードには珍しい 100BASE-TX 対応の LAN カードですが、
Zaurus が発売された頃には発表されていなかったので、
当然ながらエントリがありません。
ではまずカード情報を見てみましょう。
青字部分が入力文字列です。
bash-2.05$ /sbin/cardctl ident Socket 0: product info: "CF", "100Base-Ethernet", "V", "1.0" manfid: 0x021b, 0x0202 function: 6 (network) bash-2.05$ |
card "Planex CF-100TX2 Fast Ethernet" manfid 0x021b, 0x0202 bind "pcnet_cs" |
/etc/rc.d/init.d/pcmcia restart |
さて、 ここまでの手順を手動で試してみて上手く動くようになったら、 ここで作成したファイルを ipk 形式にしておくと、 後でメンテナンスが楽になると思います。 「ソフトウェアの追加/削除」でインストールしてやれば、 上記のプロセスを自動で行なってくれますから。
但し、
ここで CF-100TX2 設定ファイルの ipk ファイルを公開することは控えておきます。
というのも、
上記の説明は飽くまでも手順を示すための例示であって、
CF-100TX2 の設定ファイルの配布を目的としたものではないからです。
実のところ、
現在店頭で販売されている CF-100TX2 にはマイナーチェンジが入ってしまい、
「manfid」の値が上記のものとは異なっているそうです。
そういう本体に対し、
上記の説明通りの作業を自力で出来ない人が ipk ファイルだけを使ってしまうと、
混乱に陥らせる以外の結果を生みません。
実際、
以前 ipk ファイルをここに置いておいたところ、
そういう状況のユーザさんから何人か問い合わせが届きましたが、
自分で「manfid」を調べることすら出来ない相手には成す術がありません。
別にこれは意地悪で言っている訳ではなく、
私の持っていない機器に関して私が調べられることは何もないからです。
やり方は上で提示してあります。
でもそれが自分で出来ないなら、
残念ですが諦めるしかないと思います。
という訳で、
ipk ファイルは各自で作成して下さい。
コツとしては、
PCMCIA モジュールの再起動は postinst に記述しておけば便利ってことくらいですかね。
(追記)
...とか書いておいたのに、
日本語がちゃんと読めない人が多いようで ipk ファイルくれくれメールが殺到して大変なことになってしまいました。
仕方ないので、
「manfid」の代わりに「version」で CF-100TX2 を認識させる設定ファイルを作ってみました。
cf-100tx2_1.1_arm.ipk
でも、
この機種は上の cardctl の出力を見ても判るとおり product info フィールドにメーカ名も型番も載せてないんですよね。
この文字列だと機種を特定し切れなくて、
他の機種でもこの記述にマッチしてしまいそうなんですよね。
なので、
この対処法だと他の CF カードが使えなくなるかも知れません。
使う人はその危険性を承知の上で使って下さい。
あと、
Linux 知らない人にりなざうの設定方法を教えるのなんかもうまっぴらなので、
もし CF-100TX2 の ipk に関して一通でも問い合わせが来たら、
今度は絶対に ipk ファイルの公開はやめてしまいますのでそのつもりで。
少なくとも、
「ターミナル」を使って一通りのコマンドライン処理が出来るようになっていないと、
このページに書いてあることは理解すら出来ないと思います。
最後に一言、
PLANEX さんへ。
幾ら「サポート対象外」だからって、
対応 OS に「Linux」と書いた以上は Linux への対応に関して何らかの指針を用意するくらいは企業としての最低限の道義ではありませんかね?
技術力なりマンパワーなりの不足のせいでその最低限のことすら出来ないのであれば、
対応 OS に「Linux」と載せるのは無責任だとは思いませんか?
貴方の会社の売上げを上げるために、
Linux の「L」の字も知らない初心者に vi の使い方から教えないといけなくなった「社外サポート要員」がここに一人いるってことを忘れないで下さい。
りなざう用の ipk ファイルがここにあるからってんでこの機種を買ったりなざうユーザは少なくとも数十人はいる筈です。
「CF-100TX2」で Google ってみるだけでその傍証は得られるかと思いますが、
メーカとしてその辺りの認識はあるんでしょうかね?
ぷんすか。
Linux とは関係のない話ですが、 最近私はりなざうを使ってセミナーや勉強会のプレゼンを行なっています。 ノート PC を持ち運ばないといけなかった頃と比べて用意するものが少なくて非常に快適です。 そのためのノウハウを幾つかまとめてみましょう。
Zaurus のプレゼンソフトで扱えるのは画像ファイル形式のみです。
PowerPoint や OpenOffice Inpress で作成した資料は画像ファイルに落としておきましょう。
要求される画像サイズは 640x480 ですが、
同じ 4:3 の比率でもっと大きなサイズで作成したものを、
画像処理ソフトで縮小した方が、
ドットが粗くならなくて見易いと思います。
PNG とか JPEG とかも扱えるようですが、
私は素直に BMP で作っています。
見た感じ BMP が一番綺麗に映っている様子だったので。
画像ファイルに落とすには、
HTML にエキスポートして gif か jpeg を吐かせるのが手っ取り早いでしょう。
その後で 640x480 の BMP に変換します。
プレゼン資料は普通一枚や二枚じゃ済まないので、
画像変換を一括で行なってくれるソフトがあると嬉しいでしょう。
Windows だったら IrfanView、
UNIX だったら ImageMagick でしょうか。
変換時のオプションは色々自分で試してみてしっくり来るものを選んで下さい。
Zaurus のプレゼンソフトが対応しているのは、
I・O DATA の CFXGA か、
colorgraphic の Voyager VGA CF になります。
これらのカードは既に生産中止になっていますが、
もし入手出来た場合は標準の「プレゼンテーション」をそのまま使えば VGA 出力出来ます。
それ以外のデバイスでは、
海連のサインは VGA の対応ドライバを開発した人がいるので、
それを使わせて貰いましょう。
因みに青、緑、白、海と四色のレパートリーがありますがどれでも使えます。
これを REX-CFU1 のような USB ホストカードを使うか、
もしくは USB ミニ A プラグ付 USB ケーブルを使って Zaurus に接続します。
あとは
シミーさんの夢と小物のエンジニアリングから VGA presentation をダウンロードして来れば、
プレゼン資料を VGA 出力出来ます。
但し、
Zaurus の USB ポートだけでは電源容量が足りないので、
セルフパワーの USB ハブを間に噛ませる必要があります。
最後はデモ環境です。
コンソールや NetFront の画面をリアルタイムで VGA 出力してやればプレゼン効果も上がると思います。
昔は画面のスナップショットを撮ってプレゼンソフトで表示させていましたが、
Zaurus 画面のミラー化ソフトを開発した人がいるので、
それを使わせて貰いましょう。
さきらさんのありし日の気分(改)から Peinture Miroir 0.2 をダウンロードして来れば、
Zaurus 画面そのまんまのイメージが CFXGA や Voyager VGA CF 経由で VGA 出力されます。
但し、
実行前にアイコン長押しで「ルート権限で実行する」にチェックするのを忘れないように。
このソフトは最新版でサインは VGA にも対応しています。
最新版は .ipk 形式になっていないので、
pmiroir_061110.tar.gz をダウンロードして展開したバイナリを /opt/QtPalmtop/bin/pmiroir に上書きコピーします。
あとは、
上で紹介した VGA presentation がインストールされていれば、
サインは VGA に出力されます。
どちらのデバイスに出力するかは自動的に切替わるので、
VGA presentation がインストールされている状態でも CFXGA を使うことが可能です。