私は以前から PHS を使っていたんだけど、mobio を購入してから外出先でもネットワークに接続したくなって、Paldio 611S に機種変更した。
Paldio 611S はコンパクトフラッシュの接続部を持っていて、付属のアダプタを使えばそのまま邪魔なケーブル無しに mobio に接続できる。※1
で、どういう風にネットワーク接続しているかはおいおい書くとして、ここでは 611S の電話帳の編集をしてみようとおもう。
paledit は乃村能成さんが作成された Perl スクリプトで、Paldio 331S/341S/611S の電話帳を読み出し/書き込みするもの。
追加書き込みとか、Windows の電話帳編集ソフトのような多彩な機能※2はないけど、テキストデータに書き出し/読み込みしてくれるので、あとは
sed でガリガリ awk でゴリゴリ perl でシャカシャカと簡単にできるのが利点ですね。
まず適当な作業用ディレクトリに paledit をゲットして展開します。
$ mkdir ~/src $ cd ~/src $ fetch http://www.swlab.csce.kyushu-u.ac.jp/~nom/prj/paledit/paledit-0.91.tar.gz Receiving paledit-0.91.tar.gz (31364 bytes): 100% 31364 bytes transferred in 5.9 seconds (5.19 Kbytes/s) $ tar zxvf paledit-0.91.tar.gz
次に展開されたディレクトリに移動して、インストール作業を行います。
$ cd ~/src/paledit-0.91 $ ./configure creating cache ./config.cache checking for a BSD compatible install... /usr/bin/install -c checking host system type... i386-unknown-freebsd3.4 checking for perl... /usr/bin/perl updating cache ./config.cache creating ./config.status creating paledit creating tel10to11 creating Makefile $ su Password: [root password] # make install # exit
これでインストールは終了です。
paledit は標準では /dev/cuaa2 (sio2) を使うようになっています。Paldio 611S がどのポートで認識かれるか確認して設定をあわせておきましょう。
Paldio 611S がどのポートで認識されているかは PC-CARD スロットに差し込んだ時のメッセージでわかります。
$ tail -f /var/log/messages
として Paldio を接続してみます。
Nov 30 18:05:24 neo /kernel: Card inserted, slot 0 Nov 30 18:05:27 neo pccardd[79]: Card "NTT DoCoMo"("PALDIO 611S PC CARD") [(null )] [(null)] matched "NTT DoCoMo" ("PALDIO 611S PC CARD") [(null)] [(null)] Nov 30 18:05:31 neo /kernel: card0: assign sio3 iobase 0x3f8 irq 4 flags 0x40080 Nov 30 18:05:31 neo /kernel: sio3: type 16550A Nov 30 18:05:31 neo root: NTT Personal Paldio 611S PC Card inserted
私の場合は、card0: assign sio3 なので sio3 で認識されています。Perl スクリプト /usr/local/sbin/paledit を直接編集してデバイス指定を修正します。
# chmod 755 /usr/local/sbin/paledit # vi /usr/local/sbin/paledit $optDEV = "/dev/cuaa3"; # chmod 555 /usr/local/sbin/paledit
もし sio1 ならば /dev/cuaa1, sio2 ならば /dev/cuaa2 というように認識したデバイスにあわせて書き換えてください。※3
さて、ここまでの作業でインストールは終了しました。
ですが、このままでは /dev/cuaa[0-9] のパーミッションにより一般ユーザーが読み書きできないため、root になって電話帳の転送作業をする必要があるので面倒です。
んー、どうしよう。suid するのも怖いし、sudo を使おうかとも思ったんですが、今のところ自分を dialer グループに追加して使っています。※4
# vi /etc/group dialer:*:68:[user ID]
paledit は追加登録はできないので、一度総ての電話帳データを取得して新しいエントリを追加して書き戻すようにします。
611Sを接続して電話帳データを取得してみます。
$ paledit -get > phonelist Phonebook has 20 entries. Reading 1/20 ... Reading 2/20 ... Reading 3/20 ... Reading 4/20 ... Reading 5/20 ... [...] $ jless phonelist 1 | 堀川 XXXX | ほり | 携:090XXXXXXXX | 家:045XXXXXXX | 1 | 宮崎 XXXX | みや | 携:090XXXXXXXX | | 1 | nemo | ねも | 携:090XXXXXXXX | 家:046XXXXXXX | 2 | LA LAND | える | 家:045XXXXXXX | 家:045XXXXXXX | 3 | 久保田 | くぼ | 家:045XXXXXXX | | [...]
電話帳データは、Shift-JIS コードで書き出されていることに注意してください。paledit では Shift-JIS コードのファイルのみを読み出し/書き込みできます。
電話帳データのフォーマットに付いては、/usr/local/share/doc/paledit/paledit-format.doc に説明があります。
フィールドセパレータは "|" です。
種 | 名前 | 読み | 電話番号1 | 電話番号2 | CMセンター番号 --------------------------------------------------------------------------- 1+ | 乃村 能成 | のむ | ピ:050xxxxxxx | 家:092xxxxxxx | 九州:092xxxxxxx
フィールドデータ | Paldio 電話帳の登録先 |
---|---|
1 | ベストメンバー |
2 | 電話帳1 |
3 | 電話帳2 |
1+ | ベストメンバー + 文字情報ダイアル |
2+ | 電話帳1 + 文字情報ダイアル |
3+ | 電話帳2 + 文字情報ダイアル |
フィールドデータ | Paldio での表示 |
---|---|
ピ: | PHS マーク |
携: | 携帯電話マーク |
ベ: | ポケットベルマーク |
家: | 家マーク |
会: | 会社マーク |
あとは、このファイルを書き換えて電話帳データを編集します。
Shift-JIS コードが編集できるエディタを使ってください。
$ jvim3 phonelist 1 | 堀川 XXXX | ほり | 携:090XXXXXXXX | 家:045XXXXXXX | 1 | 宮崎 XXXX | みや | 携:090XXXXXXXX | | 1 | nemo | ねも | 携:090XXXXXXXX | 家:046XXXXXXX | 2 | LA LAND | える | 家:045XXXXXXX | 家:045XXXXXXX | 3 | 久保田 | くぼ | 家:045XXXXXXX | | [...] 1 | 堀川 昌哉 | ほり | ピ:090XXXXXXXX | 家:045XXXXXXX |
電話帳データの編集が終わったら、611S にデータを書き戻します。
paledit でデータを書き込む際に、一度 Paldio の電話帳を消去してから転送していることに注意してください。
$ paledit -put phonelist Phonebook has 20 entries. Phone Book Cleared. Sending 1/ 20 ... Sending 2/ 20 ... Sending 3/ 20 ... Sending 4/ 20 ... Sending 5/ 20 ... [...]
これで新しい電話帳データが paldio に転送されました。
mobio で住所管理ソフトなどを使っていると、そのデータをテキスト処理してデータの同期ができて便利そうなんだけど、UNIX 系 OS で使い勝手のよいソフトウェアをまだ見つけていません。良いのがあったら紹介してください。:)
DOS名称 | ポート | ダイアルアウトデバイス | ダイアルインデバイス |
---|---|---|---|
COM1 | sio0 | /dev/cuaa0 | /dev/ttyd0 |
COM2 | sio1 | /dev/cuaa1 | /dev/ttyd1 |
COM3 | sio2 | /dev/cuaa2 | /dev/ttyd2 |
COM4 | sio3 | /dev/cuaa3 | /dev/ttyd3 |