2000-02-02(水) [長年日記]
■ glossary
毎日ひそかに読んでいるぱぱんだ日記からたどったナショナルあかりごっこがおかしくて、「おおそうだ、うち(S.P.C.)も用語集がいるよな。毎日朝から晩までチャットに集まってよた話してるんだから(笑)」と思った。ちまちまとHTMLを書くのもだるいし、そもそもひとりで作ってもしょうがないので、みんなが書き込めるように休み時間の30分くらいを使ってCGIを一本でっちあげた。glossary作成CGIである。そんなことしてる暇があったらRuBBSのアップデートしろっつーの(「まったくだ」なんて声が聞こえてきそうだ)。このS.P.C. glossaryも、いつか公開できる日も来よう。
■ CGI
そのCGI、テストのために自宅に持って帰って来たんだけど、ちゃんとApache経由で実行できないといけないので、やっぱいろいろいじってやらないといけない。まず、先日設定したwwwoffleだけど、ローカルなサイトまでキャッシュしようとするので、これを避けなければいけない。/etc/wwwoffle.conf
のLocalNet
セクションに、spc15
を加える。ついでにlocalhost
も加えておくか。
続いて、CGIの実行環境。RPMで突っ込んだApacheでは、cgi-bin
ディレクトリは/home/httpd/cgi-bin/
になっているので、ここにCGIスクリプトを入れるんだけど、ownerがroot/rootになってて扱いにくい。こういう時のセオリーはどうなんかね。Apacheはnobody
のアカウントで動いてるけど、スクリプトの編集は自分のアカウントでやりたい。そこで、groupにwebmasterってのを追加して、自分を入れ、/home/httpd
配下のファイルをnobody/webmaster
の権限にしてみた。ownerとgroupに読み書き実行を許可すれば扱いやすいんじゃないのかな。それでもときどきrootにならないといけないのが面倒な感じ。自分のアカウントのままでいろいろできるように、いずれ工夫してみよう。これでCGIのメンテナンス環境はできてしまったので、今度こそRuBBSだな(笑)。
■ リンク
そういえば、この日記をリンクしたいと、あるコンダラーズの方からメールがあった。奇特なことである。日記形式は資料としてはぜんぜんなってないので、リンクしてもらっても有効に活用してもらえるかどうかわからんが、まぁ、いずれきちんとまとめるつもりはあるので、いいんじゃないかね。なお、私はリンク許諾を求めるメールには「リンクは何人にも妨げられないあなたの権利です」と答えるようにしている。はやい話が勝手にリンクすれってことなのでよろしく。
■ Palm
さて、今日の作業のきっかけになったナショナルあかりごっこは、けっこう大部で仕事中に読んだらやばいので、とっととw3mでdumpして(w3m -dump URL
でテキスト化されて出力してくれるのだ)、PalmのDOC形式にコンバート、PalmPilotに突っ込んだ。これで通勤中に読めるわけよ。で、帰りの横浜線で読んでたら、横で週アス読んでた兄ちゃんが熱い視線を送ってくる。そう、おれのPalmはGeminiケースのT5を装着してるので、すんごく目立つのだ。もしかして、予約してくれてる人だったりして。ひーん、お待たせしちゃってごめんなさい(泣)。最近、Geminiの進捗が最大のストレスになりつつあるよ。とほほ。
2000-02-07(月) [長年日記]
■ RuBBS
週末にやっとこま犬ライブラリを更新できたので、今日は久々にRuBBSのアップデートでもしようかね。まずはこのマシンにRuBBSをインストールしなければならない。/home/httpd/cgi-bin/bbs
を作ってそこに0.2.2を展開。アクセス権をnobody/webmasterにして、テスト用の掲示板をmakebbs
で作成してできあがったファイルにuser/groupに対する書き込み権を与える。やっぱこの過程はかなり面倒だなぁ。makebbs
の構造か、マニュアル(汗)を整備しないと使えねぇよ、これ(笑)。
とまぁ、環境が整ったところで実装開始。まずは、文中にURLを見つけたら自動的にリンクに変える機能がバグっていて、URLの末尾に空白があると正しく動作しない拳の修正。これはすでにパッチが出ていたのでそれをあてて終り(ちとバグってたけど)。
続いて新真コンダラ掲示板でリクエストがあったReply機能の実装。これもわりと簡単で、新しいフォームを作って対象になるアーティクルを引用符付きで突っ込むだけ。が、ここで問題が。存在しないアーティクル番号を指定しても落ちないようにしようと思って例外処理をいれたら、思ったように動かない。なに、Rubyはいつからraise
に文字列指定しちゃいけなくなったの!?
思わぬ非互換に泡を食ったが、class NoArticleError < StandardError end
という感じで新しい例外クラスを作ってそれを上げるように修正。あー、びっくりした。でもうちはまだRubyが1.2系なので、1.2でも1.4でも動くようにしないといけない。たぶん大丈夫だと思うので、自サイトだけアップデート。すでに5つの掲示板が運用されているので、入れ換えはちょっとドキドキするが、いちおう問題なし。
Reply用のイメージが、サイトごとに変えられるようにした方がいいかなぁ。掲示板によって背景色が違うから、同じイメージ使うのは無理があるか。もしくは透過色じゃなくすという手もあるな。そっちにするか、楽だし(笑)。よし、明日公開しよう。
2000-02-08(火) [長年日記]
■ TOWER RECORD
町田のビーミー大丸がつぶれることになって、テナントとして入ってるTOWER RECORDもいっしょになくなっちゃうことになった。あたしゃこれから、どこでCDを買ったらいいのだ? ポイントもまだたっぷりあるって言うのに。……それはさておき、最近CDを買っていなかったので、そのTOWERに寄ってJazzのCDを2枚ほど買って来た。ま、TOWERは隣駅の相模大野にもあるしな。
■ MP3
というわけで、予定を変更して今日のコンダラ引きは「CDから楽してMP3ファイルを作ろ〜っ」です(笑)。Windowsでは、有名なCD2WAV32を使っていて、なかなか使いやすくて悪くなかった。MP3エンコードはもちろん午後のこ〜だ(gogo)。gogo
は各種プラットフォームに対応しているからLinuxでも使えるとして、あとはCDからWAVをなんとかするだけでいいのだけれど、せっかくLinuxを使うのだから、コマンド一発で黙ってエンコードまでやってくれるようでないとね。GUIなソフトを起動して、いくつもボタンを押さないとエンコードが始まらないようじゃ、Linux使ってる意味がないわけよ。
で、こんな日もこようかと、Kondaraのインストール時にはちゃんとcdda2wav
のパッケージをインストールしておいたので、これを使えばいいはず。manをざーっと読んで、適当にこんな感じでコマンドを実行:
$ cdda2wav -D/dev/cdrom1 title
■ /dev/cdrom1
はSCSIな32倍速CD-ROMなんだけど、なにやら「SCSIじゃないからcooked_ioctlを使うぜ」みたいなことを言われている。でもとりあえず吸い出している模様。あう、全曲まとめて1ファイルになってるやんけ(泣)。これは-B
オプションをつければ解決やね。ためしにWindowsマシンから聞いてみると、ちゃんと聴こえるのでOK。ちなみにサウンドカードがちゃんとセットアップされているのがWindowsマシンだけなので、仕方がないのである。いいの、MP3は通勤の時にRioで聴くためのものだから。
WAVはできても、これだけでは面白くない。一気にMP3までやっちまわないと。で、cdda2mp3
というコマンドも一緒に入っていたので、これを使うといけるみたいだ。でもmanもないので、使い方がわからん。とりあえず先にgogo
をいれるか。gogo
のRPMはKondaraにはないので、こちらから持ってくる。gogo
のページからもリンクされてます。うちはPentiumII-350MHzだから普通のでいいのかな。RedHat用だけど大丈夫でしょう。現時点での最新は2.25。すんなりインストール完了。試しにさっき作ったWAVファイルをgogo
にかけてみると、無事にエンコードできた。気のせいか、WindowsNTで作ってたときより速い気がする(たぶん気のせい)。
このgogoのRPMを作っている酒居さんのページにはさらにLinuxマシンでCDからmp3を作るというありがたいページまで用意してあるので、これを参考にして、楽ちん環境を作ってみることにする。まず、cdda2mp3
はシェルスクリプトだということがわかる(サイズ見れば一発だろう……)。でもKondaraのcdda2wav
に付属(?)のcdda2mp3
はエンコーダーにl3enc
が指定してあるように、ちょっと違うっぽい。このページにgogo
用のcdda2mp3
が置いてあるので、ありがたくちょうだいする。
問題はcdda2wav
のオプションで、どうしてもCD-ROMをSCSIとして認識させられない。じっくりマニュアルを読んでみたけど、IDが4なら-D0,4,0
じゃないんかい? いろんな数字の組合せを試してみたけどダメなので、ここはあきらめてcooked_ioctlを使うことにする。動けばいいのよ、動けば。別にベンチマークしてるわけじゃないんだからさ。というわけで、cdda2mp3
を書き換えて、オプション指定部分はこんな感じにした:
# specify the audio track listing program and its options LAT=list_audio_tracks LAT_OPTIONS='-D/dev/cdrom1 -Icooked_ioctl' CDDA2WAV=cdda2wav CDDA2WAV_OPTS='-D/dev/cdrom1 -Icooked_ioctl -H -q -Owav -P0' MP_CODER='gogo' MP_OPTIONS='-b 96'
■ Rioに1.5〜2時間分の曲を入れるために96Kbpsでエンコードしている以外はまぁ、普通でしょう。でもってドキドキしつつ、実行:
$ cdda2wav title
■ 無事に動いてます。title01.mp3、title02.mp3……って感じで、ぞくぞくとMP3ファイルが生成されている。cdda2wav
とgogo
をパイプでつないでいるので、テンポラリファイルを作らない。だからめちゃめちゃ速く見える。いや、実際速いかな。CD 1枚を5〜7分でエンコードしちゃってるし。試しに聴いてみても、なんら問題なし。すばらしい(感涙)。これだよ、こういう環境が欲しかったんだよ。
■ jvim
さて、次。Windows時代に作ったテキストやスクリプトは当然SJISで書かれているんだけど、これが今のKondaraでは編集できない。いや、EmacsやJedなら編集できるかも知れないけど、おれ的にはviを使いたいわけよ。Kondaraに入っているvim
は、最新の5.x系で、これはたしか国際化されているのでそのままマルチバイトなテキストの編集ができるのだと聞いたことがある(嘘かも知れない)。でも、日本語化されてるわけではないので、コード系の自動判別とか、いろんなコード系の読み書きはどうやらできないっぽい。実際、SJISのテキストを読むと化け化けだ。これをなんとかしないと、困ることはなはだしい。
で、世の中にはちゃんと日本語化vimことJVimってのがある。会社に置いてあるFreeBSD機にはこれを自分でmakeして入れてあるんだけど、ちゃんとSJISテキストが編集できるので、これを自宅にも入れたい。で、いろいろ探してみると、jvim
のRPMパッケージがTurboLinuxにあることがわかったので、jvim+onew-2.0r_2.2.10-5.i386.rpm
ってのを拾って来た。onewってのは、コンソールで日本語を入力するためのライブラリらしい。しかし、この「2.0」ってのは何の番号だ? まさかバージョンじゃあるまい。
インストールしてmanを読んだら、文末の日付が1992年3月28日!! うげ、ホントに2.0か、これ。せめて3.0にしてくれよ……。いちおう使ってみるも、SJISテキストはなぜかreadonlyで読み込まれちゃうし、機能もいつも使ってるvimに比べるとだいぶ低い。いちおう編集はできるものの、ちょっとストレスたまっちゃうなぁ。ソース持って来てmakeすっか?
というわけで、ソースから作ることにする。まずは、JVimのページへ。vim 5.1の日本語化はかなり難航してるみたいで、ぜんぜん進んでないみたいなので、3.0用のを作ろう。本家のソース(vim-3.0.tar.gz)と、それよりも大きい(笑)日本語化パッチ(jvim.2.0.tar.gz)を入手。まずはソースを展開して、できたvim
ディレクトリに移動し、パッチを展開。
$ tar zxf vim-3.0.tar.gz $ cd vim $ tar zxf ../jvim.2.0.tar.gz
■ ここでreadme.1st
を読むと、patch -p < jvim.diff
でパッチを当てよ、とあるので、そうすると、patch
に「-pにはNUMの指定が必要だ」と叱られる。え、なぜ(泣)。patch
のバージョンが違うのか? -pを指定しないで実行してもうまくいかないので、patch
のmanを読みつつ、-p0を指定してみたら、なんとなく当たったもよう(笑)。いいのか、そんなことで(いいのだ)。続いてreadme.doc
を読むと、src/makjunix.mak
を編集せよとある。よく読んで、Linux 2.x向きの設定をして(Linux 2.0.x/2.2.xとあるところのコメントを外しただけ)、おもむろにmake
。
$ cd src $ make -f makjunix.mak
■ Warningがいろいろ出るけど、ここは無視。src
の下にvim
ができてればOK。make install
で入るのはこのバイナリとmanページ、ヘルプファイルだけなので、ここは手動で移動してしまおう。rootになって、
# strip vim # mv vim /usr/local/bin/jvim # mv ../doc.j/vim.hlp /usr/local/lib/
■ manページはいらないや。既存のvim
のと重なっちゃうし。ちなみに今回は、RPMから入れていないので/usr/local
配下を使うことにした。さて、実行してみよう。
$ jvim bash2: jvim: command not found
■ をい。変だな、と思ってwhich jvim
してみたら/usr/bin/jvim
だって。RPM版を消し忘れてた(笑)。rootでrpm -e jvim+onew
して、最挑戦。あれ、同じだ……。おお、これがbash
のhashってヤツか?
$ hash hits command 6 /bin/tar 6 /bin/ls 5 /usr/bin/wwwoffle 1 /usr/bin/vim 3 /usr/bin/w3m 3 /usr/bin/man 1 /usr/bin/jvim
■ 当たり(笑)。hash -r
でハッシュを消したら実行できた。うん、これなら5.0に比べてもあまり遜色がないから使えるな。SJISファイルはこれでいじることにしよう。本当は、これをRPM化して、Kondara-Zooにでも突っ込めばいっぱしのコンダラーズなんだろうなぁ。でもRPM作成にはもちっと修行せねばな。
2000-02-10(木) [長年日記]
■ RuBBS
あー、RuBBS公開してねーや。明日やろう。
■ qmail、Courier-IMAP
それはさておき。日経Linuxがqmailの特集をしていて嬉しい。しかもCourier-IMAPのことまで書いてある♪ メディア初登場じゃないの、これ。マイナーだからなぁ、Courier。でもこれ以上うちの環境いじるところはなかったのであった。まぁ、Internetに公開されてるマシンだといろいろとやりがいがあるだろうなぁ。やってみてーな、そういうマシンのセットアップ。NTTの常時接続も3000円切るとか言ってるしな……ってうちはサービス圏外だけど。
■ KDE
今までデスクトップはKondara版KDEのデフォルト壁紙が黄色かったので、タイトルバーとかも黄色ベースにしてけっこう明るい感じにしてたんだけど(黄色好きだし)、飽きてきたので変更してみることにした。今度はCDEをベースに、濃いグレーの背景に、白文字という配色に。しかし、rxvtの配色なんかは変わらない。でもKDEのディスプレイ設定には「フォントと色を非KDEアプリにも適用」というスタイルがあるので、それを指定してrxvtを再起動してみるといけた。「よっしゃ」と思ってNetscapeを立ち上げたら、メールのウィンドウで一部文字化け。どうやらKDEのフォントを設定されるとBoldの部分が化けるようだ。これじゃダメなので、このスタイルは却下。rxvtには-bg
、-fg
のようなオプションがあったので、それを指定した。色指定は色名だけじゃなくて、HTMLみたいに#付きの16進数でも指定できるんだな。こんな感じだ:
rxvt -fg white -bg '#393939'
■ SGmailも元の色のままだし、結局アプリごとに設定をしてやらないといけないというのはアレだなぁ。このへんがXのXたるゆえんなんだが。最初の設計がプリミティブ過ぎて、リソースの共有まで考えが及ばなかったんだろうなぁ。後発のウィンドウシステムの方が統一感が出るのは仕方がないところ。でも、GnomeやKDEのように、複数の環境が出てくるとまた統一されなくて混乱するわけで。これはもう、Linuxの背負った宿命なんだろうなぁ。でもこのままじゃデスクトップは世界制服できないと思うぞー。
2000-02-11(金) [長年日記]
■ KDEアプリケーション設定
なんか、KDEの設定にはまってしまった。kfm
でファイルをブラウズしてて、ファイルをクリックして起動されるアプリケーションを変更したいと思ったのがきっかけ。kfm
なんて滅多に使わないのに(笑)。今回は真面目にマニュアルを読んで作業をしてみる。kfm
のヘルプに「3.3 How to install a new application」というパート。ここを読むと、~/.kde/share/applnk
の下にkdelnk
ファイルを作ればいいらしい。
試しにjvim
をテキストファイルに関連づけしてみよう。まず、kfm
で~/.kde/share/applnk
を開く。よく見ると、この下にはないはずのファイルが見えている。これ、/usr/kde/share/applnk
の下のファイルだ。なるほど、よくできてるな。ここで右クリックして、新規作成でアプリケーションを選ぶ。ファイル名をjvim.kdelnk
にしてEnter。続いて開くプロパティウィンドウの実行ページでjvim
を指定、Xアプリケーションではないので、忘れずに「ターミナル内で実行」をチェック。続いてアプリケーションページの「コメント」「名前」を入力して完了。これでパネルのメニューにある「個人」カテゴリにjvim
が現れる(パネルの再起動が必要)。なるほどー、メニューはこういう仕組みになっていたのか。
続いてkfm
の編集メニューでMIMEタイプを選択。text
ディレクトリ内にあるplain.kdelnk
が、text/plain
の設定になっている。これ、パーミッションがroot:rootになってるんだけど、面白いことに編集するとsho:shoになる。つまり、さっきのメニューと同じように/usr/kde/share/mimelnk
の内容が表示されていて、編集すると各ユーザのディレクトリにコピーが作られるということらしい。なんにせよ、このファイルのプロパティで、text/plain
にjvim
を設定すれば、kfm
上で拡張子.txt
ファイルを選ぶとjvim
が開くようになるわけだ。めでたい。
この調子で、パネルのカスタマイズもしよう。メニューの中にある「パネル」の中でアプリケーションを選ぶと、パネルに並ぶアプリケーション起動のアイコンを増やせることがわかっていたんだけど、ここで選べるアプリの増やし方がわからなかったんだよね。今は上記の方法で個人メニューを増やせることがわかったので、jvim
を増やすことができた。以前(12/3の話)、kterm
を実行していたアイコンを、無理矢理rxvt
に書き換えていたけど、新たにrxvt
メニューを増やしてそれを追加すればいいのだ。わっはっは、おれの勝ちだ。こっそりkterm
を直しておこう(笑)。というわけで、こんな感じになった(ちなみにGIMPでキャプチャしてみたのだ。なんかいろいろできるようになってきて、楽しいな)。
2000-02-14(月) [長年日記]
■ Webページ編集
昨日、こま犬ライブラリを更新するのに、できるだけLinuxだけでやることにトライ。HTMLの編集は、先日入れたJVimでいけるようになったのでOK。文字コードだけでなく、改行コード(WindowsはCR/LF)も保存されるみたい。最近、会社でもJVimを使っているので、けっこうvi
に慣れてきたみたい。
イメージはGIMP。JPEGの写真編集は、サイズを変更したりフィルタを選ぶだけなので、わりと慣れた。マウスしか使えないのには相変わらずへき易するけど。問題は、各県のGIFイメージで、神社のある場所を3x3の赤い四角で塗って、神社名との間に黒で直線をひかなければいけない。Windowsで使っていたPaint Shop Pro(PSP)では、3x3の四角いペン先を選べたんだけど、GIMPではやりかたが良くわからない。5x5なんてのはあるので、自分で作ればいいのだろうか。でも作り方もよくわからんし。結局、1x1で9つの点を打ってなんとかした。次に、直線の引き方がわからない。PSPでは直線を引くツールがあったんだけど、GIMPではShiftキーと組み合わせてやるのだということがわかるまで10分くらい悩んでしまった。わかれば簡単なんだけど。神社名のテキストも、フォント選びでけっこう悩む。Xのフォント選択ってのも勉強しないと(つーか、なんど文献を読んでも)わからんなー。
このGIFファイルに、クリッカブル・マップを設定する時点で困った。Linux用のその手のツールを知らない。ちょっと時間がなくて探してる時間がないので、今日はWindowsでやろう。残念。ついでにftpのミラーツールも探してなかったので、Windowsで。うーん、今日のところは2対2のタイ。次はLinuxに勝たせなければ。まずはftpかな。いやその前に、もう何年も改善を約束し続けていながら、いつまでたっても軽くならないBEKKOAMEに見切りをつけなければ……。夜中の更新なんて、やっとれんわ、ほんま。
■ Java2
さて一夜明けて今日は、コンダラの掲示版でえんどうさんがJDK1.2をKondaraに入れるページを公開してくださったので、それを参考にJDKを入れる。自作のプチ・チャットをJavaで書いてあるので、動作確認用に入れておかなければならないのだ。RPMになっているので、インストールは実に簡単。ありがたや。プチのサーバーはコンソールコマンドなので、簡単に動く。問題はクライアントで、AWT版はVineの時もそうだったんだけど、話にならない。swing版はそれなりに動くけど、フォーカスの動きが変。「¥」とか「〜」が出ないし。UNICODEの非互換がどこまで行ってもついてくるのぅ(いちおう使いものにはなるけど)。それ以上に、いつも使ってるteikadeがAWTなので動かない恐れありってことだよな。Javaな開発はやはりWindowsが必要なのか。JBuilder使うって手もあるけど……。つーか、GUIはRuby/Gtkで書くのがふつーか? Windows版はhoukouに任せればいいんだし。なんだ、そうか、それでいいのか(笑)。
2000-02-16(水) [長年日記]
■ RuBBS 0.2.3
たいした変更でもないのに、やっと出せたよ、RuBBS。すぐに出せるはずだったのに、最後にIEで変な動きが出ちゃって苦労したし。いつまでたってもMicrosoftにはしてやられるのぅ。次はなんか新しいことをしたいね。IMAP4のメーラーとか(まだ言ってるか)。
■ ISP探し
あまりに遅いBEKKOAMEから引っ越そうと思っていろいろと探していたISPだけど、pos.toがよさげなので契約してみることにした。最初は「トンガ・ドメインかぁ。怪しげだなぁ」と思ってたんだけど、アダルトコンテンツを禁止にしてたり(BEKKOAMEが重いのはこのせいである)、負荷の高いCGIは遠慮してもらう等、けっこう良心的な運営方針なので、悪くないかもしれないと考えを新ため始めたところ、さらになんと、Rubyが使える!! ということがわかったので、即、決まり(笑)。komainu.pos.toというサブドメインで、60MBほどキープしてみた。実際に使えるようになるのは月末かららしいけど、どうせのんびり屋だからそれくらいでちょうどいい:-P
2000-02-17(木) [長年日記]
■ eBooksでお買い物 via Linux
オンラインで本を注文してセブンイレブンで受け取れるesBookというサービスがある。これが2月いっぱいまで手数量・送料がタダということなので、利用してみることにした。まず、上記サイトにアクセスして会員登録をしなければいけない。cookieとSSLを駆使していそうなので、Netscapeでアクセスしたけど、TEXTAREAに埋め込まれた契約書を読もうとするとNetscapeが落ちてしまう。これ、バグなんだろうなぁ。こんなFORMの使い方意味がないからやめて欲しいのに……と愚痴っていてもしょうがない。Linux上からの操作だけで利用しようという夢はいきなりくじけた。
そう言えば、NetfrontはSSLに対応してるのかな。だったらあれを使うという手もあったか。ダウンロードだけして入れてない。RPMになってないとついつい後回しになってしまうというのは、人間としてどうか(笑)。Windowsの時は、インストーラーが付属してると逆に何をされるかわからなくて不安だったりしたもんだけど、Linuxは逆っつーのも不思議なものだ。
それはさておき。会社で会員登録をして、気を取り直して商品をあさる(これが月曜日の話)。買おうと思っていたのに忙しくて買い逃し、書棚からなくなってしまった本のリストがPalmに入っているのでそれを検索する。が、どれもこれも在庫切れ。まったく在庫がなくて話にならないという噂は本当だったのか。これじゃ、使いたくても使えないわなぁ。唯一「カール・セーガン科学と悪霊を語る」があったので、これだけを注文してみる。配送先のセブンイレブンを自宅近くの地図が出てきて選べるのはなかなかgood。あとは、店に届く前にメールが届くらしい。なお、会員登録確認や注文確認もすでにメールで届いている。
水曜日に明日(つまり今日)、届くというメールがくる。読んでみると、指定されたURLにある注文伝票を印刷して持って来いとある。開いてみると、バーコードが埋め込まれたHTMLファイル。なんてこった。うちのLinuxマシンにはプリンタついてないのに。ここでまた、Linuxで使えない……というか、プリンタなんて前提にすんなーっ。プリンタとパソコンをセットで買わないヤツだっているんだぞ。ぶつぶつ。しかたなく、某所で印刷させてもらい、今日、会社帰りにセブンイレブンに寄った。印刷した伝票をバイトちゃんに差し出すと、店長が呼ばれて(この手の新しいサービスではお約束ですな)、店長の指示のもとでバーコードをチェック。レシートが何枚も出てきて、その1枚にサインをさせられた。ちょっと時間がかかって面倒。「利用者多いですか?」って聞いてみたけど「まだ少ないですね」とのこと。そりゃそうだ、あの在庫じゃねぇ。
春になったらもう少し在庫が増えるらしいので、また使ってみるか。とりあえずしばらくは使わない。欲しい本が置いてないもん。
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/*
配下のファイルのパーミッションをどう変えてもダメなので、なんか違うんだろうなぁ。素直に他に乗り換えるか。ううむ。
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-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-27(日) [長年日記]
■ VJEとxmodmap
昨日は、手動でxmodmap
を実行しただけのところで止めておいたので、その変更はその日限りのものだった。ので、今日PCを立ち上げたら日本語が入力できなくなっていて焦ったのなんの(笑)。で、~/.Xmodmap
を作って「keycode 129 = Kanji
」と書いておく。が、loginし直してもダメ。変だなぁ。/etc/X11/xinit/xinitrc
を読むと、このファイルを読み込んでるように見えるんだけど……。
ホームディレクトリにあるそれっぽいファイルは昨日、環境変数XMIDIFIERS
を指定した3つのファイル。これのどれかが実行されているはずなんだが。その時、vi
(その実体は日本語化されていないvim
)でEUCで書かれたテキストを開いたら、文字化けていることに気づいた。これ、たぶんLANG
環境変数をVJEのマニュアル通りにja_JP.eucJP
にしたせいだ。確かにja_JP.ujis
に戻すと文字化けは直る。VJEはこれでも問題ないのでいいとして、これら3つのファイルのどれが読み込まれているのかを確かめる必要がある。で、適当な環境変数をそれぞれに設定してloginし直してみると、どうやら.xsession
がそれらしい。
でもわかったのはここまで。誰が.xsession
を読み込んでいるのかさっぱりわからない。仕方がないのでKondaraの掲示板で聞いたら、得られた答えは『~/.xsession
もしくは~/.xinitrc
に「xmodmap .Xmodmap
」を追加する』だったという……。やられたぁ。というわけで、.xsession
に追加して事なきを得ました。くえすたさんありがとう。
しかし。日記を読み返してみると、KDEを導入する前には.Xmodmap
はちゃんと読み込まれているみたいなんだよね(当時使っていたのはEnlightment)。こういうのって、ウィンドウマネージャに依存するの? なんか変だなぁ。と思ったけど、この日も.Xmodmap
を設置したあと、すぐにKDEを入れてるから、読みに行ってるかどうか確認してないかも。まぁ、いいか。
あと、昨日の嘘を訂正。VJEの辞書登録は、(なぜか)少し時間がたつと反映される模様。vjed
にHUP
を送るというのは嘘でした。
2000-02-29(火) [長年日記]
■ ftpup
pos.toの新しいWebサイトがやっと準備ができたと知らせが来た。待ってたぜぃ。これで少なくともこま犬のコンテンツだけはBEKKOAMEから引っ越せる♪ さて、新しいサイトこそは自動的にアップデートをしたいと思っていたので、RAAから前田さんのftpup
をもらってくる。これはFTPで更新されたファイルだけをアップロードしてくれるRubyスクリプト。まぁ、この手のソフトは多いけど、とりあえずRubyで書かれているものをチョイスするのが基本でしょう(笑)。
サンプルで付いてくる設定ファイルを新しいサイトに合わせて書き換え、komainu.ftpup
という名前で保存する。本当は~/.ftpup
にするとことなんだけど、他のコンテンツもこれで更新するようにしたいので、サイトごとに別のファイルを用意することにした。あとは実行するだけ。おっと、パスワードが書かれているので、パーミッションを600にするのを忘れずに。
$ ./ftpup -f komainu.ftpup
■ いまこれを書いてる時点では、続々とアップロード中。なにせ合わせて10MBはあるので、そう簡単な話ではない。さらに不安なのが、次回の更新にどれくらい時間がかかるか、なんだな。たくさんあるディレクトリをいちいち見ながら時刻を比較してたらたまらんほど時間がかかるはず。もし問題なら、前回の更新時刻をどこかに保管しておくように改造しないといけないかも。
あ、途中で切れた…… >ftpup やっぱ一気に10MBはダメか? つーか、やっぱ日本のインターネットは、テレホーダイタイムはダメ? しょうがない、また明日にでもトライしよう。
■ RFC2060
ところで最近、通勤電車の中でRFC2060を読んでいる。言わずと知れたIMAP4rev1のRFCである(知れてないって)。80ページほどあって、中身ぎっしり。もちろん英文である。探してみたところ、翻訳されてないみたいなので、需要の少なさを実感する。まぁ、これだけ仕様がでかかったら、実装する気も失せるわな。面倒なのはI18N対応と、非同期メッセージだな(謎)。