2000-02-26(土) [長年日記]
■ VJE-Delta 3.0
会社帰りに町田のヨドバシカメラに寄ったら、VJE-Delta 3.0を見つけてしまったので買ってしまった。ちなみに町田はVACS(VJEの開発元)の所在地なので、置いてなかったらそれはそれで悲しかったけど(でも最後の1個だった)。実はDOS時代のVJE-βからず〜〜〜〜っとVJEユーザで、その間いちども浮気をしたことがない。現在では決して最高の日本語変換エンジンではないけれど、指も頭も完全にVJEの癖になじんでしまっているので、おいそれと他に乗り換えられるものではない。というわけで、VACSがちゃんとLinuxやBSDにVJEを移植してくれているのは嬉しい。しかもWindows版がまだ2.5なのに、Linux版は3.0だ。
CD-ROMにはRPMパッケージがちゃんと含まれているので、インストールは簡単。もちろん(?)Kondaraはサポート対象に入っていないけど、リストの中にはLASERの6.0なんかもあるので大丈夫でしょう。入れたあとは、今まで使っていたCannaからVJEへ設定を書き換えなければいけない。daemonであるvjedは例によって自動的に入っているようなので、やるべきことは以下の2点:
- 環境変数
LANGとXMODIFIRESの書き換え kinput2の代わりにvjeを起動
マニュアルでは環境変数は.bashrcでと書いてあるけど、$HOMEでXMODIFIRESを設定している「.」で始まるファイルを探してみると、X関係のファイルだけで3つもある(.Xclients、.xinitex、.xsession)。現在、どのファイルの設定が働いているのかわからないけど、なんにせよこっちを変えた方がいいみたい。というわけで、それらのファイルのCannaの設定をコメントにして、以下の3行を追加する:
# VJE-Delta XIM=vje XIM2=""
いったんlogoutしたあと、入り直して試してみる。環境変数はちゃんと設定されてるし、vjedもvjeも動いている。しかし、Shift-spaceを押しても漢字モードにならない。そもそもVJEのパネルが出てないじゃないか。どこに行ったんだ……と思ったら、KDEのパネルの下に隠れてた(笑)。どっちも最上位に表示されるウィンドウだからなぁ。デスクトップを移動すると普通のウィンドウの下にも隠れちゃったりして、ちょっとこのへんは完成度が低い感じがする。マニュアルを読むと、変換キーはCtrl+spaceだそうで。そらあかんわな(笑)。しかし、IMごとにここまで違うと、さすがに混乱する。
それにしても、Ctrl+spaceってのは押しづらい。今使っているキーボードはテンキー部分だけを切り落とした(カーソルキーはある)富士通製109キーボードで、これはうちの連中に人気があってどこの家にもあるというシロモノ。Linuxerには101キーボードファンが多いみたいだけど、おれはJIS配列じゃないとダメな上に(101の方が変だと思うんだけどね……)、左利きのためカーソルキーをけっこう便利に使うため(マウスと一緒に使える)、こういうキーボードはいい。こいつで使いやすくキーバインドを変えたい。ちなみにWindowsで使っているVJE-Deltaでは、「変換」キーでON/OFFを切り替えているので、それができると嬉しい。VJEのFAQを読んでみると、xmodmapとVJEのキーボード設定ファイルgeneral.keyを使って設定できそう。
■ xmodmap
まず、xevを実行して、変換キーを押すことでこのキーのキーコードを得ることができる:
KeyRelease event, serial 27, synthetic NO, window 0x3400001,
root 0x26, subw 0x0, time 2384090846, (496,124), root:(500,653),
state 0x0, keycode 129 (keysym 0xff21, Kanji), same_screen YES,
XLookupString gives 0 characters: ""
「keycode 129」とある。続いてxmodmao -pkでキーコード129を見ると、こんな感じに現在はスペースに割り当てられていることがわかる:
129 0x0020 (space)
VJEのFAQによれば、これをKanjiというキーに変えればいいみたい。とりあえず一時的にこんか感じで変えてみる:
$ xmodmap -e 'keycode 129 = Kanji'
これで変換キーを押すとKanjiというコードが発生することになるんだな(たぶん)。そしたら次は、VJEの設定でKanjiキーに機能を割り当てればいい。まず、$HOME/.vje/にVJEのディレクトリからdefault.keyをgeneral.keyとしてコピー、次の1行を追加する:
XK_Kanji=F_SCRN F_SCRN F_SCRN F_SCRN F_SCRN
vjekillしていったんvjeを殺してから、vjeを再度実行。試しに漢字変換してみると、おお、ちゃんと変換キーでVJEがON/OFFされる……けど、何か入力してかな漢字変換をさせようとすると、OFFになってしまうぅ。文字入力中は、変換動作をするようにしないといけないんだな。VJEのマニュアルを読むと、さっき追加した行の各フィールドは、VJEの状態によって何をさせるかを指定しているようだ。さっきの設定ではいつでもON/OFFを切り替えることになっている。これを以下のように置き換えた:
XK_Kanji=F_SCRN F_CNV F_CNV_NCNV F_CNV_NCNV F_CNV_NCNV
これはXK_spaceのパクり。これで文字入力状態では変換キーとして働き、何も入力されていないときにはOFFになる。めでたし。この調子でキーアサインを好きなように変えていけばいいだろう。
続いて単語登録はどうなっているのか調べたら、なんとGUIでは登録できないみたいで、vaddというコマンドでやれとある。これはCanna以下だなぁ。なんでWindowsみたいにGUIにしないんだろう。まぁ、このコマンドでも対話式に登録できるからいいけどね。試しにいくつか登録してみたけど、なぜか変換されない。vdispdコマンドで調べるとちゃんと登録されているのに。ふふん、これはたぶん、辞書が書き変わったことを変換エンジンが知らないせいだな。試しに、vjedにHUPを送ってみたら、ちゃんと変換できるようになった。うーむ、ちょっとアレな仕様だが、これくらいマニュアルに書いとけって >VACS なんにせよ、これで快適生活だ♪
2000-02-21(月) [長年日記]
■ VNC
さて、面倒くさそうな問題はあとまわしにして、わりと簡単に片付きそうな問題から手を付ける(笑)。最近、仕事から帰って最初に立ち上げるPCはWindows98マシンの方なのだが、なぜかというとMP3プレーヤーのRio PMP300へ、翌日聴くデータを転送するため。これを済ませば、(ゲームをするのでない限り)Windowsを使う用事はない。ところが、狭い机に2台のマシンが載っているので、キーボードやマウスの置き換えがすごく面倒。キーボード切替え機とかそういうものでなく、LinuxからWindowsをリモートで操作できれば便利だよね。
ということで、今日はVNCをいれます。VNCは、Virtual Network Computingの略で、遠隔地にあるマシンのデスクトップを手元のマシンのディスプレイに出してマウスやキーボードで操作しちゃおうというソフトである。SymantecやIBMが市販ソフトを出しているけど、VNCはGPLで配布されるフリーソフトで、UNIX系OSやWindowsだけでなく、MacやPalmでまで動くという優れもの(Palmはクライアントだけだけど)。会社でも出張先で自分のオフィスのマシンをNoteで操作するのに使っていて便利なのは知っていたので、これをWindowsマシンに入れてLinuxから操作しちゃおうというわけ。
VNCのサイトからLinux用とWindows用のパッケージを取って来る。Linux用はソースもあるけど、Kernel 2.2用のバイナリパッケージもあるのでそれでもいい。まず、サーバーになるWindows用をインストール。こちらは通常のインストーラーがあるので簡単。登録後、スタートメニューにレジストリの登録とサービスの登録があるのでそれをすれば、起動時にサーバーが立ち上がるようになる。ここで、ログイン時のパスワードを設定する。Windows側の設定はこれで完了。
Linux用は使ったことがないのでパッケージを展開してREADMEを読む。いくつかファイルができるけど、今回Linux側はクライアントにしかしないので、vncviewerという実行ファイルだけでいいようだ。こいつを/usr/local/binあたりにコピーしておく。あとはおもむろに実行するだけ。まず、接続するマシン名を入力するウィンドウが出るのでWindowsのホスト名を入力。相手が見つかると今度はパスワードの入力を求めて来るのでさっき指定したものを入力すれば、こんな感じに、めでたくWindowsのデスクトップがX上に表示される。
ちょっと反応が鈍いだけで、操作はWindowsとまったく変わらず。注意すべきなのは、Windows上のマウスカーソルは実際の矢印ではなく、その横についてくる小さな四角だということだ。これで、Windowsマシンは電源を入れるだけで、あとは全部Linux上で操作できるようになった。これでまた一歩、野望に近付いたぞ♪
2000-02-20(日) [長年日記]
■ リンク
maruさんという方から、Kondara Fight!というページからリンクしたとの連絡をもらった。この日記、Kondaraの掲示版で1回通知しただけなのに、けっこう読者がいて驚く。というわけで、表紙にリンクコーナーも作りました。
■ Apache
で、ここを読んでいたら、重大なヒントが。Apacheでユーザのページ(/~sho)が見えないのは、なんと、/home/shoのパーミッションのせいだった!!(笑) だって、こうだもん、やられたぜ:
$ ls -l /home 合計 12 drwxr-xr-x 5 root root 4096 Dec 26 01:38 httpd drwxr-xr-x 2 root nobody 4096 Oct 19 14:56 samba drwx------ 25 sho sho 4096 Feb 19 23:53 sho
■ ほら、自分以外誰も読めない。このディレクトリ以下をいくら公開しても、Apacheは見てくれないらしい。で、chmod 755 /home/shoにして、めでたく見ることができた。他にも、NetscapeのFROMの幅がおかしい(ちょうど倍の幅になる)のはアップグレードすれば直るとか、この日記なんかよりよっぽど役に立つぞ(笑)。
■ biff
さて、メールの取り込みはfetchmailをdaemonモードで動かして、30分に1度ISPにアクセスさせてるんだけど、新しいメールが来ているかどうか、メーラーを立ち上げないとわからないのがしゃくにさわる。Maildir対応のbiffでも探してくればいいんだろうけど(ちなみにKDE付属のkornはダメっぽい)、ここはお手軽かつセキュリティ的に問題のありそうな方法で(笑)実現する。
■ /etc/syslog.confに、以下のような行がある:
# Log all the mail messages in one place. mail.* /var/log/maillog
■ これは、メール関係のメッセージは/var/log/maillogに書き込めってことだ。この下に以下の1行を追加する:
mail.* /dev/console
■ これは、同じメール関係のメッセージを/dev/console、つまりコンソールに出すということ。これで、fetchmailをsyslogオプション付きで出すようにすれば、メールが届いたことをxconsoleで監視できるというわけ。xconsoleを邪魔にならない場所に開いて、全デスクトップで表示するようにすれば、簡易biffの出来上がり♪
■ Canna
残る問題は、Cannaで辞書登録ができなくなった件だな。誰か教えておくれ……。やっぱけっこう不便だわ。addwordsってコマンドが単語登録に使えるってことがわかったので試してみたけど、結果は同じ:
addwords user < dic write error "こんだら #T30 コンダラ" Addwords has done on "user".
■ /var/lib/canna/dic/user/sho/*配下のファイルのパーミッションをどう変えてもダメなので、なんか違うんだろうなぁ。素直に他に乗り換えるか。ううむ。