contents
- 無線LANの機器構成
- メール
- fetchmail
- procmail
- mutt
- nomail
- ntpdate
- Web
- Netfrontのキーバインド
- NetfrontのHTTP_USER_AGENT
- SDカード
- コマンドライン
- vim
- copy & paste
- Keyhelper
リナザウのこと
無線LANの機器構成
- corega WLBAR-54GT SetCBW/S
- WLBAR-54GT (ルータ+アクセスポイント)
- WLCB-54GT (CardBusアダプタ)
- corega WLCFL-11 (CF型アダプタ)
まずThinkPadから有線で接続、asahi-netのアカウント情報などセットアップ。 ThinkPadにWLCB-54GTを挿入すると勝手にドライバがインストールされ、 あっさり接続確認。 WEPキーとMACによる接続制限をして完了。 リナザウ側も コレガ からダウンロードしたドライバを導入するだけで無事接続確認。
メール
最大の目的と言って良いメール。標準のメーラは腐ってると名高いが、 どのへんが腐ってるか実感する前にメールの受信漏れ (自分宛に出したはずのメールが受信できたりできなかったり) が発生したので、買って1週間目でさっさと捨て。 リナザウでも使い慣れたmewでと行きたかったが、 emacsを入れると明らかにメモリが足りなくなりそうだったのと、 このキーボードでコントロールキーを多用するemacsは果たして 使いやすいのかという疑問もあったりで、とりあえずmuttを使ってみることに。 muttはメールの送受信は自分ではできないので、
- 受信:fetchmail+procmail
- 読み書き:mutt
- 送信:nomail
という組み合わせになる。
fetchmail
パッケージをもらって来て普通にインストール。 so-net、asahi-net、rimnetと3つのメールアカウントがあって、 全てのメールをOpenBlockSに集約しているので、 リナザウで先にメールを取ってしまわないよう、keepオプションを付ける。 また、外出中のほとんどはPHSでの通信となるため、 大きなメールは受信できない。so-netに、プライベートな (従って優先度の高い、かつサイズの小さい)メールを集めるようにして、 so-netからのみ受信するようにしている。
[~/.fetchmailrc] set nobouncemail defaults protocol APOP uidl keep no mimedecode mda "/usr/bin/procmail" poll pop.tg8.so-net.ne.jp username "xxx" password "xxxxxxxx"
muttはMaildir形式のメールボックスを扱うので、受信したメールを Maildir形式で保存するため、ローカルメーラとしてprocmailに渡す。
procmail
これは、Maildir形式で保存するためだけに使っており、 メールボックスの振り分けなど一切していないので、設定ファイルは 恐ろしくシンプル。
[~/.procmailrc] PATH=/bin:/usr/bin:/usr/local/bin MAILDIR=$HOME/Maildir DEFAULT=$MAILDIR/mbox/ LOGFILE=$MAILDIR/procmail.log LOCKFILE=$MAILDIR/.lockmail
mutt
何年か前に試した時は、結局良くわからないまま挫折したのだが、 案外使える。
{{code(~/.mutt/muttrc}
set sendmail="/usr/sbin/nomail" set realname="Fromに入る名前" set from="Fromのアドレス" set hostname="tg8.so-net.ne.jp" set mbox_type=Maildir set spoolfile="/var/mail/zaurus" set mbox="+mbox" set record="+outbox" set postponed="+postponed" set tmpdir="~/Maildir/tmp" set editor="vi %s" # w3mをページャにするとURLをそのままリンクとして利用できて便利だが、 # 前後のメールに移動するのに手間が増えるので不採用 #set pager="w3m" auto_view text/html #auto_view text/plain auto_view image/jpeg auto_view application/vnd.ms-excel mailboxes "+mbox" "+mac" # I use fetchmail&procmail # set pop_host="pop://nanashi@example.com" # 以下、アドレスのエイリアス alias abc abc@xxx.yyy
}} pagerをw3mにしておくと、メール本文中のURLに直接アクセスできたりして 便利なのだが、前後のメールに移動など一手間増えて面倒なので 常に使う気はしない。メール閲覧中に外部ビューアとしてw3mを起動できれば 良いのだが、残念ながらそんな機能は無い。 仕方ないので、set pager=w3mが有効になったmuttrcを別途用意し、 こんなコマンドを作って使い分けている。
alias muw='rm ~/.mutt/muttrc; ln -s ~/.mutt/muttrc-w3m ~/.mutt/muttrc; mutt -y; rm ~/.mutt/muttrc; ln -s ~/.mutt/muttrc-org ~/.mutt/muttrc'
美しくはないが、自分で使うには充分。
nomail
配信可能なユーザとかローカル配信とかいろいろ機能はあるらしいが、 リナザウで使うにあたっては全然必要ない。/etc/nomail.confでの 設定項目は、
- internetaddr
- smtphost
のみ。
smtphostは、自宅で無線LANで使っている時(asahi-net)と外出中に Bitwarp-PDAで使っている時(so-net)とで使い分けないと エラーになってしまうのだが、どうやら/etc/nomail.confを 書き換えるしか方法が無いらしい。そんなものいちいちやってられないので、 このようなスクリプトを自作して使っている。
#!/bin/sh MY_CONF_FILE=/home/zaurus/etc/nomail.conf CONF="" ifconfig ppp0 > /dev/null 2>&1 if [ $? = "0" ] ; then CONF="so-net" else ifconfig eth0 > /dev/null 2>&1 if [ $? = "0" ] ; then CONF="asahi" fi fi if [ "$CONF" != "" ] ; then echo "setting nomail.conf for $CONF ..." rm $MY_CONF_FILE echo "rm $MY_CONF_FILE" CONF_FILE="/etc/nomail.conf."$CONF ln -s $CONF_FILE $MY_CONF_FILE echo "ln -s $CONF_FILE $MY_CONF_FILE" exit 0 else echo "No active network device." exit 1 fi
立ち上がっているネットワークインタフェースが、ppp?かeth?かによって プロバイダを判断し、confファイルを切り替えている。 これを/home/zaurus/bin/nomail_send.shとして保存 (良く考えるとちっとも"send"してないので名前がおかしい)、 .zshrcで
a no="/home/zaurus/bin/nomail_send.sh && nosend"
としている。
ntpdate
メールするならこれは必須。メールの時刻は猫の髭より大事。 ネットワーク接続をトリガーに時刻同期を行うため、 /etc/ppp/ip-upに
NTPLOG=/home/zaurus/Documents/ntpdate.log /usr/bin/ntpdate ntp.ring.gr.jp >> $NTPLOG 2>&1 tail -10 $NTPLOG > /tmp/ntpdate.log mv /tmp/ntpdate.log $NTPLOG chmod 644 $NTPLOG
を追加。普通のサーバならcronでntpdateしかけて、後はsyslog任せで 終わりなのだが、そもそもsyslogなんてものは無い。一応直近のログは 取っておきたいので、こんな感じに。
Web
メールの次はWeb。つーか、使ってる時間は当然メールよりWebのが長い。 ブラウザは標準のNetfrontとw3mの併用。PC/Linux/zaurus/Internet関連の 調べものをする時は、ほとんどw3mで事足りるのだが、一般人が見そうな ページは今やスタイルシートが無いとわけわかんなくなってきてるので、 仕方なくNetfront。でもそんなページをSL-C860のCPUでレンダリングするのは 結構辛かったり。最初は回線が遅いんだろうなと思ってたのだが、 どうもそうではない。NetfrontはJavaScript/スタイルシートは だいたい問題無いのだが、flushが使えない。flushページ用に Konquerorも入れているが、ほとんど使っていない。
Netfrontのキーバインド
Fn+←がたまに動かなくなるのは何故だ? 単に遅いだけか?
Fn+b | タブを閉じる | ||
Fn+m | 今開いているページを新しいタブで開く | ||
Fn+n | リンク先を新しいタブで開く | ||
Fn+o | 新しいタブでページを開く | ||
Fn+f | 検索ツールバーの有無 | ||
Fn+a | テキストをすべて選択 | ||
Fn+d | お気に入り登録 | ||
Fn+h | ホーム表示 | ||
Fn+s | ページページメモ保存 | ||
Fn+d | ブックマーク保存 | ||
Fn+z or Ctrl+z | 表示サイズ変更 | ||
Fn+↑↓ | フレーム移動 | ||
Fn+r | 更新 | ||
Fn+← | 戻る | ||
Fn+→ | 進む | ||
Menu,←,← | ロケーションバーにフォーカス |
NetfrontのHTTP_USER_AGENT
2005年4月くらいから、googleがwmlproxyのサービスを始めたらしい。 携帯端末からアクセスされたらシンプルな検索フォームと検索結果を返す。 それだけなら良いのだが、検索結果は本来の飛び先サイトのコンテンツを 勝手にWMLに変換して下さる。アクセスが集中するgoogleにとって 結構な負荷だろうに。普通は嬉しいのだろうが、はっきり言って ありがた迷惑だ。こっちはれっきとしたVGAだ。そのへんのi-modeだの H"Phoneだのと一緒にするな。
NetfrontのHTTP_USER_AGENTは、
Mozilla/4.0 (PDA; SL-C860/1.0,OpenPDA/Qtopia/1.3.2) NetFront/3.0
こうなっていて、ちっとずつ削って試したところ、後ろの"NetFront"を見て 判断しているらしい。レベルはどうやら関係ない。 デスクトップでNetfront使ってる人なんかもういないのだろうか? まぁ、他に実害が無いか、実際にあちこち行ってみないとわからんので、 とりあえず"Netfront"を削って、
Mozilla/4.0 (PDA; SL-C860/1.0,OpenPDA/Qtopia/1.3.2)
としてしばらく様子を見ることに。
SDカード
リナザウ用に256MのSDカードを購入。symbolic linkとか、muttのメールボックスとか、 ext2じゃないと困る場面がある一方で、FATにしておかないと USBストレージとして使えない。さらにSWAPも作っておきたいので パーティションを3つに切ることに。普通にfdiskで
/dev/mmcda1 FAT 160M /dev/mmcda2 swap 32M /dev/mmcda3 ext2 64M
のように分割。それぞれformatした後、device fileが1,2までしか 用意されていないので、
mknod /dev/mmcda3 b 60 3 mkdir /mnt/sd3 mount /dev/mmcda3 /mnt/sd3
で確認。fstabにswapを追加。
zaurus% cat /etc/fstab /dev/mtdblock2 / jffs2 ro,noatime 1 1 /dev/mtdblock3 /home jffs2 defaults,noatime 1 2 none /dev/shm tmpfs size=1m,noauto 0 0 /dev/hda1 /mnt/cf auto noauto,owner 0 0 /dev/mmcda1 /mnt/card auto uid=500,noauto,owner 0 0 /dev/mmcda2 swap swap defaults 0 0 none /dev/pts devpts gid=5,mode=620 0 0
次に、SDカードの挿抜を制御している/etc/sdcontrolを改造。
zaurus% diff -uw sdcontrol.org sdcontrol [/etc] --- sdcontrol.org Sat Apr 3 11:20:00 2004 +++ sdcontrol Sun Apr 10 12:29:50 2005 @@ -9,7 +9,9 @@ ACTION=$1 DEVICE=/dev/mmcda1 +DEVICE2=/dev/mmcda3 MOUNT_POINT=/mnt/card +MOUNT_POINT2=/mnt/sd3 SMB_MOUNT=/home/samba/SD_Card INSTALL_DIR=Documents/Install_Files FSTYPE="-t vfat" @@ -107,6 +109,8 @@ kill -HUP "$STORAGE_PID" fi fi + mount $FSTYPE2 $DEVICE2 $MOUNT_POINT2 + /sbin/swapon -a ;; 'eject') if [ $STORAGE_DEV = $DEVICE ]; then @@ -121,6 +125,8 @@ else exit 1 fi + umount $MOUNT_POINT2 + /sbin/swapoff -a ;; 'compeject') if [ $STORAGE_DEV = $DEVICE ]; then
'insert'ではswapon -aして、'eject'でswapoff -a。swap使用中にswapoff したらどうなるのだろう。まぁ、基本的にはejectしないので、 あまり気にしないことに。
実際に挿入してみると、自動的にmountされてswapも有効になる。 これでOKと思ったら、rebootするとエラー発生。何とdevice fileが 消えている。/dev/mmcda[1-2]の日付は2003/6なので、毎回作っている わけではないはず。良くわからんのでboot時にmknodするスクリプトを 作成。
[/etc/rc.d/init.d/mkdev] #!/bin/bash # # /etc/rc.d/init.d/mkdev - make device file for /dev/mmcda3 # case "$1" in start) /bin/mknod -m 644 /dev/mmcda3 b 60 3 ;; stop) ;; restart) ;; *) echo "Usage: $0 (start|stop|restart)" exit 1 ;; esac exit 0
zaurus% chmod 755 /dev/rc.d/init.d/mkdev zaurus% ln -s /etc/rc.d/init.d/mkdev /etc/rc.d/rc3.d/S01mkdev zaurus% ln -s /etc/rc.d/init.d/mkdev /etc/rc.d/rc5.d/S01mkdev
今まで意識したことが無かったが、/etc/inittabを見ると runlevelは5らしい。who -rは無い。
コマンドライン
- qcop QPE/KeyHelper "enable()"
- KeyHelperの変更反映
- netctl -c WLAN0
- ネットワーク接続
- netctl -d
- ネットワーク切断
vim
エディタは長らくjviを使っていたが、howmを使いたいのでvimを入れることに。 vim-6.1+香り屋パッチ を使う。さすがにjviに比べると起動に0.5秒くらいかかるが、emacsよりましだろう。 Zaurus 別館から落せるパッケージはどうもおかしい。 環境のせいなのかわからんが、第一引数を見ていない。
copy & paste
誰かTerminalでcopy & pasteする方法を教えてください。X/Qt入れないと ダメですか? つーか、X/Qtならできるのでしょうか? 何で情報無いのだろう?
Keyhelper
工事中。