その他のメモ

初回掲載:04/10/27(だったっけ?)
最終更新:16/01/31
上が新しい記事、下が古い記事


引越しの目処が立ってきたのでサーバ移転も真面目に考えなければならないのだが、FreeBSD11のリリースが今年7月(これを書いているのは2016年4月)なのでちょっと間が悪い。10.3もリリース間近(おそらく今月中)だが、11以降はサポート期間が5〜6年(最低5年)になるので、どうせサーバを立てるのなら最初から11で立てたい。古い回線を3カ月くらいキープしておいて、リリース直後に移行しようか。7以降はそんなことないんだと思うけど、FreeBSDの奇数バージョンって、なんかコワモテな印象があるのよね。


FreeBSDと関係ない話題ばかりだが、また「インターネットが安くor速くなります」系の勧誘電話が増えてきた。いい加減頭にきたので最近は意地悪く対応している。定型問答になっているのが「モデムは何を使ってますか」「オムロンのを持ってますが使ってません」で、決まって「インターネット接続にはモデムが必要」だというご高説を賜る。

もちろん、イマドキのインターネット接続にモデム(Modulator/Demodulator)なんぞ必要ない(当然ながらONUは筆者も使っている)わけで、オムロンのモデム(56KでFaxも対応のやつ)を持っているのも事実だし、嘘は言っていない(ついでにNTT-MEのISDN用TAも持っている)。一応断っておくと、ONUの中に変調器や復調器が入っていないかといえば多分入っているだろうが、変調器や復調器が入っている機器全部を「モデム」と呼ぶわけではない(そんなこと言ったら無線機もデジタルレコーダーもモデムになる)。

用語を真面目に考えるとけっこう面倒な話で、DCE(データ回線終端装置)が「通信網の最外縁」を想定するのに対し、TA(ターミナルアダプタ)は「インターフェイス」を主眼に置く。ONU(という呼び方は日本ローカルらしい)は両方に当てはまり、キャリアのFTTH網の終端になっており(だから光回線終端装置と呼ばれる)、かつプロトコルを跨ぐためのインターフェイスを提供している。


Ubuntuで「古いカーネルで/bootがいっぱいになる」というトラブルに遭遇。半自動で消せるコマンドもすぐ見つかったが少し怖かったので、結局は
> uname -r
> dpkg -l linux-image*
> dpkg --purge linux-image-hoge
みたいな作業で消した。Ubuntuを持ち上げた矢先でアレだが、なんで古いカーネル/bootに置くかなぁ。軽く調べたところ「イマドキ/bootなんて必要ないよね」という設計思想らしいが、だったらデフォルトで/bootを切らないようにしてくれればいいのに。

まあなんというか、筆者も甘く見すぎていたというか、あまりにユーザーフレンドリーな第一印象に「バッドノウハウなんて必要ないよね」と安易に考えたところがある。しかしこれどうやって管理しようかしらね。やっぱ半自動ツール入れてcronで回すのが正攻法かな。

キーリングの抑制(システム>設定>自動起動するアプリでSecret Storage Serviceの自動起動を無効化するのが手っ取り早そう)とかsamba上のショートカットを辿れない問題(fstabにusername=hoge,password=mogeとか書いて、fstab自体を隠して、自動マウントしたうえでローカルにシンボリックリンクを置くのがいいのかな)とかも近いうちに何とかせねば。


10年以上ぶりにLinuxを試した。Ubuntu StudioとかKnopix系とかをチョコっと触ってはいたが、普通に使える環境を作ったのはFreeBSDを入れる前に半年ちょっと使っていたGentoo以来。仕事でとうしても「パソコンの増設」が必要で、古いハードウェアはいくつか倉庫に転がっていたがソフトウェアの予算が下りないという状況で、筆者が自分で使うならもちろんFreeBSDを入れるところだが、まったく知識のないユーザーが使うものだったので少しでもメジャーなものを、という配慮からUbuntuにした。FreeBSDには自分なりに少しは貢献しているつもりでいるが、Ubuntuは完全なフリーライドになってしまうので、せめて紹介でも書いてみようと思い立ったというわけである。

悩んだのはフレーバー(というかソフトウェアディストリビューションだよね、以前のFreeBSDの感覚からすれば)で、ハードウェアが非力なことからUbuntu MATEかLubuntuを検討したのだが、まったくの初心者でもある程度自分好みに変更できるようにと考えると少し躊躇われた(ただ使うだけなら問題ないと思うが、イジろうとしたときにGUIだけでかつヘルプを読まずに(!)でき、日本語の入出力や日本語ファイル名の扱いがこなれている必要があった)。結局はUnityを使うことに決めたもののやはり重く、ローカルサーバ用にFreeBSDを入れていたマシンをUbuntu用に回して、古いマシンにFreeBSDを入れ直すという作業になった。手間はかかったもののどうやら普通に動きはしたようで、現場でもトラブルなく利用されている模様。Linuxも使いやすくなったもので、Windowsが8〜8.1〜10とすったもんだしている間に性能や機能や使い勝手の面ではほぼ遜色がなくなったんじゃないかと思う。筆者の導入作業もWindowsよりラクだったし、使用者の評判としても「Windows8よりは親しみやすい」らしい。

デスクトップ環境もいろいろ試したり眺めたりしたが、ようするにこれって、Qt系がKDEとLXQtで、ライブラリレベルでGnome2系なのがXfce、Gnome3系(関連度はともかく)がCinnamonとかLXDEとか、2と3の折衷がMate、ウロウロしてる(Gtk>Nux>Qt:NuxはもともとGtkベース)のがUnity、独自路線がEnlightenment(EFL)とかXmonad(よくわかんないがHaskellで書かれているらしい)とか、という理解でいいのかな?個人的には、快適に動くハードさえあればKDEで何の不満もなく、Qt系の環境が増えるのは歓迎だが、Gtkと違いKDEあってこそのQtなので自分では手を出さないと思う(Unityがあの取っ付きやすさのままQtに移行してくれたら、ビギナーユーザー向けに勧めることはあると思う)。Gnome3は言われるほど悪くないというか「筆者が嫌いだったあのGnome」ではなくなっている印象でむしろ好感が持てる(Gnome系から選べと言われたらCinnamon使うけど)。軽量系は、将来性も考えるとMateが安定チョイスなのかなぁ。

上に乗っかるソフトは、オフィススイートはWindowsでも自宅用はApacheに移行してしまいとくに問題も感じていないし、ブラウザもここ最近Firefoxしか使ってないし、WindowsでもLinuxでもFreeBSDでも、環境に大差ないんじゃないかと思えてきた(DTMソフトなんかは替えがきかないのでWindowsは使い続けるし、サーバを立てるならFreeBSD以外使う気にならないが、デスクトップ用途なら)。まあこれでタブレット(けっこう欲しい)でも持ったら連携面とか考えなきゃならないから、また見方も変わるんだろうけど。


FreeBSDとは直接関係ないが、サーバのハードウェアについて。元はといえば下に書いたLANディスクのクラッシュと、トップページで告知したdyndns.comのアカウント失効が発端。コストパフォーマンスが悩みどころ。

まず考えるべきはdnsをどうするかで、dyndns.comにお金を払う(サービス内容はすばらしいと思うが、1回きりならまだしも、ドル建ての海外送金を毎年欠かさずにというのは、ちゃんと維持できる自信がない)、niftyのダイナミックDNSを使う(安定したチョイスではあるし、もう15年以上使っているのでそうそうプロバイダ乗り換えもしないだろうが、今まで無料で使っていたのより鈍臭いサービスに金を出すのも抵抗がある)、他の無料ダイナミックDNSサービスを使う(国内のはどこも似たり寄ったりだし、海外のはまた有料化されると同じ状況になるし、ドメインが変わると設定ファイルの更新が思いのほか面倒なので、手を出しにくい)、サーバ自体を自宅設置からホスティングに変更する(ハードディスクを買い直すつもりだった予算と、今借りているadamのサーバ代を合わせれば費用は出るが、セットアップが終わった直後のサーバをお役御免というのも口惜しい)、といったところか。

費用面では、2TBクラスの外付けHDDを買い直すと1万円弱、dyndns.comが35ドル/年、niftyが200円/月、さくらのVPSの一番安いコース(メモリ1GBのディスク100GBの仮想2コアなので、今のサーバとほぼ同じスペック)が1万強/年or1000円/月。現実的に考えるとさくら(FreeBSDも選べるが、2014年5月現在はFreeBSD 9.2のi386とamd64で、FreeBSD10.0はオプションにない:端の方にコッソリ「3.2GB以上のメモリを認識させる場合はお客様にてPAE対応カーネルを導入ください」なんて書いてあるのでカーネル入れ替えは好きにできるのだろうが、freebsd-updateが利くのかどうか気になるところ)が一歩リードしているのだろうか。どうせNASは欲しいのでセットアップしたサーバをローカル専用にして、浮いた容量をファイルサーバ用に使うのが妥当かなぁ。気になるのはいったん使い始めると(今のところ)プラン変更ができないのと、面倒になる管理もある(たとえば「LAN内部からの接続のみ許す」なんていう設定が意味を持たなくなるし、手元のマシンからサーバまでの通信にもより気を使う必要が出てくる)ことくらいだしなぁ。adam+nifty+新HDDだと初期投資で1万円+月400円くらい、さくらだと月1000円弱だから2年でトントン・・・いやさくらを使うにしてもHDDは欲しいか・・・しかし引越ししても停電してもサーバは動き続けてくれるというのはいいよなぁ・・・うーむ。


USBハードディスク(というか、LANディスクのはずがLAN接続時の応答がやけに悪く、仕方なくUSB接続で使っていたらそっちも応答鈍化、ディスクチェックで大量の論理エラーが見つかったころにはLAN接続はまったく無応答、データの大半は(Windowsマシンのディスク修復で)救出したがこの際NAS機能は捨て、動いたらラッキー程度でUSBディスクとしての復活を目指している:中身はSumsungのHD204UIらしく、容量2TB)の物理フォーマット(というか初期化)をしようと思ったのだが、ツールがよくわからない。

scsiならcamcontrol(8)が使えるはずで、どうにかしてコマンドを捻り込めないかなと少し考えたが、作業が作業だけにちょっと怖い。DosブートでDiskinitやFORMAT、CDブートでMaxtorのPowerMaxという手もあるが、サーバマシンは止めたくないしデスクトップ用のサブマシンを占有されるのも困る。サーバマシンを動かしたままフォーマットできるなら、終わったらrootにメールをくれるようにスクリプトを組んでほったらかしにしたかったのだが。

WindowsからはバッファローのDisk Formatterがあるが、フォーマット速度がいくらなんでも遅く1カ月コースになる(Disk Formatter2は「BUFFALO製 USB HDD/USBメモリに対応」で使えなさそう)。ということでHDDGURUのHDD LLF Low Level Format Toolを採用、こちらはWindowsから20MB/s前後で動くので、丸1日くらいあれば終わる見当。実行前に電源オプションでスリープモードに落ちないようにしておく。

この際に、ディスク先頭にあった領域(Linux+sambaをディスク上に置いているらしいので、おそらくそれ:ためしにLANモードで起こして半日放置してみたが起動中のままなので、カーネルパニックでコケっぱなしになっているのだろう)も巻き添えでフォーマットされるが、代替システムを入れる手段が(軽く調べたところ、ディスクを取り外して他システムからインストールとか、ゴムタイなことをやっている人はいたがカジュアルなものは)ないので、LAN機能は捨てということになる。

とりあえずフォーマットはできたようなのでbsdlabelとnewfsを実行してfsckを走らせてみる。エラーは出てこないが読み書きが異常に遅い。仕方ないので
> dmesg | grep da0
でブロック数を拾って(shから)
> nohup dd if=/dev/da0a of=/dev/null bs=512 count=3894156000 conv=noerror,sync 1>>dd.log 2>&1 0</dev/null &
として、数回SIGINFO(kill -INFO プロセス番号)を送り様子を見るも、読み書きとも速度が1.3〜1.4MB/s程度とお話にならない(数字的にUSB1.1で動作しているのかと思い> usbconfig listしたところspd=HIGH (480Mbps)だった:> diskinfo -t /dev/da0してみたところ100MBの読み書きでは30MB/s近く出ていたので、ブロックサイズが小さいのが原因だと思われる)。

数時間で諦めてWindowsから再フォーマット。sambaも当面お蔵入りになった。フォーマットに丸1日、ディスクチェックにもう半日くらいかかった。すったもんだを繰り返し最終的に、半日がかりで350GBほどのバックアップファイルを読ませて(書き込み速度は15MB/sちょい:ファイルシステムが異なるので単純比較はできないが、これが「書いて(チェックサムを取るために)読んで」の結果なら、シーケンシャルの読み書きはfreeBSDよりやや速い)展開を試みたところ、CRCエラーが出て展開できず、このディスクは捨てることにした。円盤なり針なりが物理的に壊れているなら仕方ない。

余談というか愚痴:LAN接続時の動作がおかしかった時点でいちどメーカーに問い合わせをしている。USB接続では元気で、LAN接続でも下り(PCからLANディスク)の転送には問題なかったのでネットワーク障害だと思い、仕様を教えてもらおうと思ったのだが、たかが「仕様は教えません」というだけの情報を引き出すためにものすごく時間がかかった(「教えろ」「教えない」で押し問答していたのではなく、電話がつながるまでにえらく待たされたのと「OSは何ですか」「BSEって何ですか」という古いコントをじっくり繰り広げていただけ:「セキュリティソフトは何が入っていますか」とか「ファイアーウォールを使用していますか」なんてことも訊かれたが、たいへん返答に困った)。パッケージに「ムズカシーイ」って書いておいてくれればわざわざ電話しなかった(というか購入候補に入れなかった)のに。


サーバマシンを10.0系にアップデートしてメモを別ファイルにまとめた。今回はハードウェア(デスクトップ用サブとサーバ用で同じ機種を使っているのだが、サブマシンのビデオ出力がどうも怪しく、この機会にデスクトップ用とサーバ用を入れ替えることにした)の都合でクリーンインストール。インストーラーやパッケージ管理の変更には戸惑ったが作業自体は順調で、ソフトウェアのトラブルはほとんどなかった。

しかしなんだろうね、サーバをしばらく止めて復旧したあと、spamメールが入り始めると「ああ、ちゃんと動いてるな」と実感する。


以下は09/12/10(筆者の手元のマシンはバージョン8.0)以前の古いメモです。


freebsd-updateで7.0から8.0にアップデートしてみたが、一部のportsがベースシステムの更新に追いついていないようだ。

たとえば2009年12月10日現在のportsではPureFTPdが「/lib/libz.so.4」「/lib/libcrypt.so.4」「/usr/lib/libpam.so.4」などの古いライブラリを参照しようとしてコンパイルエラーを吐くが、ライブラリには互換性があるようで、新しいファイル(「〜so.5」)へのシンボリックリンクを古いファイル名(「〜so.4」)で作ってやれば動く。

作業としてはたとえば
# ln -s /lib/libz.so.5 /lib/libz.so.4
などとする(互換性が完全かどうか筆者は知らないし、上記ライブラリを使用するすべてのプログラムが以前と同じ動作をする保証は多分ない)。

portsが更新されて新しいライブラリを参照するようになれば、このワークアラウンドは必要なくなるはずである。

もっと重要な追記:ntpdなどデフォルト設定が変わったデーモンがあるようで、/etc/defaults/rc.confの確認はしっかりやった方がよさそう。


8.0になってportsの構成方針が変わったような印象(確認したわけではない)。どうも依存ソフトの指定が「広め」になった気がする。

電源コードとLANケーブルしか挿さってないマシンにXとかプリンタドライバとか入れてもしゃあないのだが、portupgradeするとなぜかインストールしようとする。

もしかすると「オレのマシンにゃXなんぞ入ってねぇ」というユーザーは自前でtar玉落としてインストールしろという時代になったのかもしれない。Linuxならともかく、FreeBSDの場合「X入れない使い方」もまだ多いんじゃないかと勝手に思っていたが、そうでもなくなってきたのだろうか。


追記:/etc/rc.confに「postfix_enable="YES"」を書いておらず自動起動していなかった。前はどうしてたんだっけ・・・Sendmailを起こすスクリプトで起動してたんだっけか?よく覚えてないや。

さらに追記:SMTPやPOPで叩いてやれば問題なく動くのに、普通にUnixログインして
> mail hoge < moge
とやると動かない(ただし、maildir形式の場合mailでメールが「読めない」のは異常ではない)。

一般ユーザーでmailすると/tmpに一時ファイルを作れずにコケる(「/tmp/mail.ランダム文字列: Permission denied」というエラーを吐いて止まる)。/tmpのパーミッションが1777になっていなかったので直す(記憶にないがいつか何かの拍子に誤設定したのだろう)。

しかしmailがちゃんと動くようになってもやはりローカルからのメールが届かない。ローカルユーザーがシェルからメールを送れなくても別にどうということはないが、デーモン君からのメールを受け取れないのは困る。

とりあえず/etc/defaults/rc.confを読んでみるが別に変なことはやっていない。/etc/rc.confも読むがこれも無問題。けっこう前にsendmail_enable="NONE"が使えなくなったが、インストール時の表示通り

To enable postfix startup script please add postfix_enable="YES" in your rc.conf

If you not need sendmail anymore, please add in your rc.conf:

sendmail_enable="NO"
sendmail_submit_enable="NO"
sendmail_outbound_enable="NO"
sendmail_msp_queue_enable="NO"

And you can disable some sendmail specific daily maintenance routines in your
/etc/periodic.conf file:

daily_clean_hoststat_enable="NO"
daily_status_mail_rejects_enable="NO"
daily_status_include_submit_mailq="NO"
daily_submit_queuerun="NO"

If you are using SASL, you need to make sure that postfix has access to read the sasldb file. This is accomplished by adding postfix to group mail and making the /usr/local/etc/sasldb* file(s) readable by group mail (this should be the default for new installs).
という設定で問題ない。Sendmail代替(/etc/mail/mailer.confの書き換え)もやってある。

とりあえずで2.6.5,1にアップデートしてみる・・・SMTPすら使えなくなった。どーゆーこっちゃねん。クライアント側のログを見るとRCPT Toの後無応答になるようだ。サーバ側のログを覗いてみると、
fatal: open /usr/local/etc/postfix/header_checks: No such file or directory
・・・・まーたファイルアクセス絡みか。なければ無視してくれればよさそうなものだが、セキュリティ対策だろうか(まあmain.cfで「読め」と言ってるモノを用意していないこちらが悪いには違いない)。

ということで
> touch /usr/local/etc/postfix/header_checks
これで解決(パーミッションは適宜設定)。

ちょっと鈍臭い手順になってしまった。真っ先にログを読もうよ、自分。結局、アップグレード前は「Postfixは普通に動いていたが、パーミッションがおかしいためにmailなどのローカルアプリがコケた」だけだった模様。で、Postfixのバージョンを上げたら「header_checksファイルがないと処理が止まる仕様変更」に引っ掛かったと、そういうことみたい(や、本当に仕様変更なのかちゃんと確認していないので、もしかしたら自分がポカでファイルを消したのかもしれないが)。


今更ながらportsnapを導入(実は今までtar玉で更新していた)。 crontabに生書きするとちょっと長くなるので

#! /bin/sh
/usr/sbin/portsnap cron
/usr/sbin/portsnap update
/usr/local/sbin/portversion
こんなスクリプトを書いて回してやるのがいいのかな?時計がUTC以外なら午前3時に回すのが推奨されているそうな。portsnapの出力はけっこう長いので、適宜ログファイルなどにリダイレクトしておいた方がよいだろう。


以下は04/12/7(バージョン5.3当時)以前のとても古いメモです。


PC/AT互換機にi386用のFreeBSD5.3RELEASEを最小構成のブートCDでインストールしてみた。

今回使ったマシンはセレロン1.2GHz+メインメモリ512MBで、以前デスクトップ用にFreeBSD4.9を入れたのと同じもの(HDDやIDEケーブルを交換するなどの小変更は行っている)。

パッケージは
/pub/FreeBSD/ports/i386/packages-5.3-release/
にあるので、PACKAGESITEに/pub/FreeBSD/ports/i386/packages-5.3-release/Allを設定した。


CD-RDが不調だったため、最初はFDブート+FTP経由でのインストールを試みたが、NIC(貧乏なのでもちろん蟹さん印)を認識してくれず、失敗した。その後CD-RDを2ndマシンにつなぎ替えたところ、なんとか動いたため、CDブート+FTP経由でのインストールを試したら普通にインストールできた。FDブートの場合とCDブートの場合で、適用されるドライバが違うのかもしれない。


理由はわからないが、pkg_addで入れたportupgrade(というかportsdb)がうまく動かなかった。
% cvsup
% pkgdb -fu
% pkgdb -aF
とやってみたけどダメ。いったんdeinstallしてからportsでインストールしてもダメ。

xorgを入れてから再度
% pkgdb -F
を実行して試したら、なぜかあっさり動いた。依存関係に問題があったのかな?


xorgに変わったからなのか、5.3になったからなのか、最小構成でインストールしてからXをportsで入れると、同じ条件で4.9にXFree86を入れたときよりもずいぶん時間がかかった(perlがデフォルトで入らなくなったのが大きいのかな?)。pkg_addでとりあえずインストールしてから、必要に応じてportsでバージョンアップしたほうが楽かも(portupgradeを使わないとしても)。

gettextのインストール以外に入力が必要になる場面はなかったので、それだけ先にいれてしまえば、寝る前にmakeを始めて放置しておいてもOK(のはず)。portupgradeのオプションに、依存関係で入るソフトウェアもぜんぶひっくるめて、configだけ先に済ませてからコンパイルとインストールを行ってくれるモードがあったらいいのになぁ。


KDE3のインストールは、最初にKDEとQTの設定画面が出て、依存環境がバシバシ入り、KDE基本コンポーネントの設定画面が出て、KDEのコンポーネントがズンドコ入り、その後GhostscriptやPythonの設定画面が出て、さらにその後kdepimの設定画面が出る。

お出かけ前にインストール開始、昼休みにいったん帰宅してKDEの基本コンポーネントを設定、夜家に帰ったらkdepimの設定をして晩飯&風呂、などというスケジュールが理想的かも(GhostscriptとPythonは先に入れておく)。


KDEのコンパイルにも思いのほか時間がかかり、丸1日くらいでは終わらない勢い(4.x系の時はもっとサックリ終わったような記憶がある)。どうも/usr/X11R6/bin/moc(「QtによるC++の拡張を扱うメタオブジェクトコンパイラ」らしい)がソースコードをいじってlibtoolがコンパイルをしている部分が時間を食っているようだが・・・?

libkspreadpart.soがportableでないとかlibkarbonbase.soにリンクがどうとかlibkarbonsvgexpart.la(ファイル名違うかも)がなんとかといった警告もけっこう目に付く(「unset parameter 云々」という警告は以前もよく見た気がするが)。

Kofficeのコンパイルなんかはやけにアッサリと終わったので、筆者の設定がどこかおかしいのかもしれない(といっても、/etc/make.confでCPUをi686に指定したくらいで、あとはportinstallを-Rオプションで実行しただけなのだが)。


最小構成に、cvsup全部盛り(外国語のドキュメントのみrefuse)とlinuxエミュレーション(base-7.1_7のみ)とxorg-6.7.0_1を入れて、その他ちょこちょことしたツールを入れてからportscleanしたところ、/usrの消費ディスクは1211MB。

そこに、kde-3.3.1(とqt-3.3.3)を、開発ツールとゲーム以外全て(アクセシビリティツールや教育関連プログラムは、多分使わないけれどせっかくなので入れておいた)のコンポーネントを選択してportinstallで入れたところで2GB弱。


最近pya!をよく見るので、マルチメディアローダーを一通り入れておく。xine、mplayer、xmms(と周辺ソフト)を入れ、kdemultimediaとkmplayerも入れておく。xineとmplayerの再生能力はなかなか高く、どちらか片方入れておけば、たいていの動画は再生できそう。

最初、mplayerが起動しなかったが、ビデオドライバを(デフォルトの)xvからx11に変更したら直った。また、mplayerの画面サイズが変更できないが、どこをいじればよいのかよくわからない。

現在のところ、xineをラッパーなしで動かすのが一番快適な気がする(noatunはうっとおしいし、kmplayerからxineを呼ぶとなぜかうまく動かない)。ラッパーなしでもあまり不自由はしていないが、今度kaffeineを試してみようか。あとはフラッシュをローカルで再生できれば言うことがないのだが、たしかそういうソフトもあったような気がする(思い出せない)。

PDFビューアとしてXpdfとgvを入れたが、gvの方は相変わらず使い方がよくわからない。Xpdfは普通に動いてくれているが、Windows上でAcrobatReaderを使うのに比べるとやや重たいか。


ブラウザはFirefox1.0_1,1を入れた。Konquerorに不満があるわけではないが、ローカル用のファイラ兼ファイルビューアと、グローバル用のWebブラウザでは、やって欲しいことが食い違うことがけっこうある。いろいろなファイルを自前で開こうとするKonquerorはローカル向きだし、拡張を入れてタブブラウズを強化できるFirefoxはグローバル向きだと思う。

Firefoxの拡張は、Tabbrowser Extension、ContextMenu Extensions、Go up、Pref Bar、Right Encoding を入れた。IE+タブブラウザ拡張(+proxomitron)on Windows に比べると、使い勝手は多少見劣りする(ワンクリックでクリップボードのURLを新規タブで開いてくれたり、タブロックしたgoogleの「検索オプション」画面から次々と検索ができたり、エディタやIRCクライアントからURLを送って新規タブで開いてくれたり、といった機能はやはり便利だ)が、そこそこは使える。Mozilla Archive Format とdown THEM all! も入れたが、今のところ使っていない。


Tabbrowser Extension の設定で、タブのダブルクリックでタブロック、リンクをたどるとき以外は新しいタブで開く(アドレスバーから開くと、カレントタブに上書きされてしまうが)、複数起動を許可しない、コンテキストメニューを大幅に減らす、などの設定をした。Firefox本家としては非推奨の拡張らしいが、これを入れないと(少なくとも筆者にとっては)マトモなブラウズができないのだから、入れる以外に選択肢がない。

複数起動云々に関しては、nautilusやroxにも同じことが言えるが、ウィンドウをたくさん開くのが好きな人と1つのウィンドウでなんでも解決したい人で好みが分かれるのだろう。

Firefoxは、KDEの「セッションを保存」に登録できない(これは仕方ないか)とか、設定がわかりにくい(フォーム送信の際、「次回も確認する」チェックをうっかり忘れたが、どうやって元に戻すのかいまだにわからない)など、Konquerorと比べてもちょっと不便なところがある(筆者の知識が不足しているだけかもしれないが、予備知識なしでも設定が楽だったKonquerorと比べて見劣りするのは確かだろう)。


入れている拡張が悪いのか、Firefoxが重いのか、Geckoの力不足なのかわからないが、同じマシン上のKonquerorやIEに比べるとレンダリングが遅い。感覚的にはKonqueror>IE>>Firefoxといった感じ。ビジーになると他の操作まで重くなるのもやや減点。

たとえばFreeBSDのports一覧を開いて「skim」を検索するとか、ports一覧の目次をタブロックしてjapaneseセクションとwwwセクションとnetセクションを次々に開くなどといった作業をする場合、かなりもたつく感じになる。

KonquerorやIEと違って、レンダリング処理がすべて終了するまで停止した状態になることも(体感的な待ち時間に)影響しているのだろうが、絶対的な待ち時間も明らかに長い。設定やコンパイルオプションでなんとかなるものなのだろうか?


筆者はド近眼なので、Windowsでは17インチのCRTモニタを800x600の解像度で使っているが、これだと少し画面が狭い(解像度を1280x960程度に上げて、「特大のフォント」で表示させる手もあるが、そうすると一部の表示が小さいままになって目が疲れる)。

KDEの場合フォントの設定が楽なので、解像度を1024x768と少し大きめにして使っている(1280x960でもよいのだが、ビデオボードが弱いらしく画面が乱れる)。動画などが見やすくなり便利。


エディタはkateとkwriteを併用している。EMACSは入れていないし、viにもデフォルト状態から手を入れていない。KDE用のエンコード自動認識ライブラリを製作している人もいるようだが、今のところ、kateはEUCコード+unix改行、kwriteはSJISコード+Dos改行として、ファイルによって使い分けている。本当はkateとkwriteの役割分担を逆にしたい(unixネイティブなプレーンテキストって、ちょこっとしたものの方が多いので)のだが、そうするとデフォルトのエディタをkwriteに変えなくてはならず、面倒なのでやっていない。

一部のファイル(たとえばセットアップつまみぐいその5)が(kateでもkwriteでも)文字化けするが、もしかすると最初に出てくる漢字が「常」なのがマズイのかもしれず。ためしに1行目に「入口」のおまじないを入れてみたところ、正常に表示された。さらにそのファイルから1行目を削って再度kwriteから別名保存してまた開いてみると、これまた正常に表示される。

バイナリエディタで開いたところ元のファイルと違いはないようだし、diffを使ってもmd5sumをとってももちろん同じファイル。FreeBSD上のFirefox(言語の自動選択を有効にしている)でも、Windows上のエディタやブラウザでも、両方のファイルが正常に表示される。

いろいろ試したところ、これも理由がわからないのだが、ファイル名を「setup5.txt」から「setup5_.txt」などに変更すると正常に表示され、いったん元のファイルを削除してから別名保存してあったコピーを「setup5.txt」に変名すると、やはり文字化けがおこる。非常に謎。


IRCクライアントは、とりあえずX-Chatを入れている。本当はKSircを使いたいが、チャンネル名が日本語だとjoinできないのであきらめた(kopeteもダメ、chatzillaについては試していないがFreeBSD4.xのころに試したらダメだった)。日本語メッセージの送受信は可能なのだが、(たとえばfriend.td.nuがそうだが)コンソールに日本語を流されると文字化けするのも以前と同様。

これ以外にも、KSircには文字化けの問題がある模様で、解決策はあるらしいが、いずれにせよKSircは捨てだと言っている人もいる。実際のとこはどうなんだろなぁ。

世間ではIRCatが人気のようだが、portsには入っていない模様(googleのキャッシュから、以前はportsがあったらしいことはわかったが)。そこでIRcat-Liteをfetchしてきて
% ./configure --with-gtk-config=gtk12-config
としたところまでは問題なかったのだが、いざmakeしようとすると「strcmp: "has not been declared"」というエラーメッセージが出た。

という経緯でインストールしたX-Chatだが、ちゃんと動くという意味では満点の動作をしている。が、日本語入力に癖があり、筆者にはなんともつらい(On the spot で変換できない?し、変換確定までに押すエンターの回数が他のアプリと違う)。乗り換え先を検討中。


htmlファイルの関連付けは、Konqueror>kate>kwrite>Firefoxの順に優先している。KDEにも、Windowsでいう「送る」機能があれば便利なんだけどなぁ(パテント関係で採用できないのかしら?)。音声データはxmms優先、それ以外のマルチメディアファイルはxine優先で設定した。kmplayer(というかmplayer)とnoatunはほとんど使っていない。

マルチメディアローダー各種とFirefoxをインストールした時点での/usrの消費ディスクは2.5GB弱。大物ソフトウェアとしてはOOoとGnomeが残っているが、入れる予定はないので3GBは超えないだろう。


スラドJで話題になっていたのでskimをインストールしてみたが、まだ使っていない。anthy+uim+scimという重ね方(uimとscimの間にはscim-uimを噛ませる)が快適らしいが、Canna+Kinput2に比べてどの程度アドバンテージがあるのか楽しみだ。skimのみtextprocセクション、その他はjapaneseセクションにある。

また、フィルタリング用にローカルプロクシを入れようと思っているが、PrivoxyとMiddlemanが有名どころみたいだ。どちらもportsから入れられる。

いずれも緊急性はないので、他の部分の設定が煮詰まってから手をつけることになりそう。


uimをispellサポートつきでインストールしようとしたところ、スペルチェック辞書がないと怒られた。辞書を入れるのが面倒なので、いったんportscleanして再度portinstallしたところなぜかコンフィグ画面が出ない(05/11/21加筆:筆者が/var/db/ports/以下のファイルを消し忘れていただけ)。portsのディレクトリに降りてmake clean したあとmake configure してみるが、やはり辞書がないというエラーで止まる。仕方がないのでsysinstallから辞書を入れたらすんなりmakeできた。本当はanthy>skim>uim>scim-uimという順番で入れた方が楽なのかもしれない(?)が、適当な順番で入れた(覚えていない)。

scim-panel-kdeを実行するとエラーが出るのでwhereisしてみると、/usr/local/bin/scim-panel-kdeに本体(シェルスクリプト)がある。エディタで開くと、インタープリタ行が#!/bin/bashになっているので、とりあえず#!/bin/shに直してみたところ、どうやら起動した模様(タスクトレイにアイコンが出るだけなので、すぐには気づかなかったが)。


全般設定>SCIM全般でモジュール設定をkconfigに変更、詳細チェックボックスをチェックしてロケールを日本語に。プラグインの設定でメインツールバーを消し、Xウインドウの設定からXimをOn the spot に変更。入力ウインドウの設定で候補ウインドウを縦表示にした。全般設定>Xウインドウ>ショートカットキーでKanjiを開始に割り当てた。

F10による英数変換、F7や無変換キーによるカタカナ変換、BackSpaceによるひらがな変換(できなくはないが、連文節がまとめてひらがなになってしまう)、数字キーやテンキーによる候補選択はできない模様(そういう機能があるのかどうか自体不明)。テンキーから「/*-+.」を入力した場合直接入力扱いになるようで、日本語入力中にこれらの入力を挟むと変な動きをする。急に直接入力しかできなくなる症状が何度か現れたが、変換エンジンの切替えを行うとなぜか直る。全角英数モードがないせいか、全角英数字の入力方法がわからないのと、中黒が出せない(全角/半角のスラッシュになる)。全角括弧などは普通に変換可能。

Anthyについては、Cannaとさほど変わらない印象。SCIMについては、直接入力/日本語入力の切替えと安定度以外はおおむねkinputよりも好印象(というか、AnthyもCannaも「好印象」をさくっと変換できないのね)。他のアプリでは大きな差は感じないが、X-Chatでの日本語入力はかなり楽になった。


PrivoxyとMiddlemanを両方インストールしてみたが、Privoxyの方はそこそこ普及しているらしく、日本語の解説が見つかったので、Middlemanに手をつけずにPrivoxyのみ利用している(ものぐさなので)。フィルタがPerlっぽいので、Proxomitronよりもすっきりとした印象を受ける。

portsからインストールした直後の状態だと、.xinitに
/usr/local/sbin/privoxy /usr/local/etc/privoxy/config
と書いておけば起動する(privoxyコマンド自体はデーモンを起動するだけですぐに終了するようなので、バックグラウンド指定は必要ないようだ)。デフォルトのlogdir(/usr/local/etc/privoxy/configで指定)が/tmp/(公式ページには/var/log/privoxyがデフォルトだと書いてある)なので、これは変更しておいた方がよいだろう。logdir配下のファイル(デフォルトだとlogfileとjarfile)には、privoxyを実行するユーザーの書き込み権限が必要。

デフォルトで動かしているだけでそこそこの仕事をしてくれているようだが、面倒なのでProxomitronのフィルタの移植にはまだ手をつけていない。


アーカイバの使い勝手にちょっと戸惑っている。zipもlhaも展開できることはできるのだが、自己展開書庫は圧縮形式を決め打ちしなくてはならない(圧縮形式がわかっていれば、unzipコマンドやlhaコマンドで展開可能)。ヘッダを見て圧縮形式を自動判別してくれるアーカイバがあるといいのだが(まあ、自己展開書庫なんてWindows用のドライバソフトやオンラインソフトを入手するときくらいしか使わないので、問題ないといえば問題ないのだが)。

また、書庫内のファイルに表示できない文字が含まれている場合も困る。Ark(KDEに付属する、アーカイバソフト用のラッパー)がもう少し賢ければ嬉しいのだが。


1/20ごろ、KDEを立ち上げてブラウザを開いたあたりでフリーズした。FreeBSDを常用し始めて半年くらいになるが、初めてCtrl+Alt+Delもきかない状況を目にした(Ctrl+Alt+BackSpaceがきかない状況は何度かあったが)。なにをやってもダメなので、仕方なく電源ボタン長押しで強制終了してから再起動するが、カーネルパニックでコンソールが立ち上がらない。

シングルユーザーモードを試してみたところ起動に成功し、/usrパーティションも見えた。fsckをかけたところ/varパーティションで大量の破損ファイルがみつかった。酷使に酷使を重ねたディスク(IBMのDTTA-371010で、多分98年製造のもらいもの)だったので、ファイルの破損がフリーズを引き起こしたのか、強制終了によってファイルが破損したのか、その両方が入り混じっているのか、判断がつかない。ディスクラベルも破損したのか、FDISKから見るとマウントポイントがおかしくなっている(上書きもできない)。/varパーティション以外のデータは無事で、なぜかXも立ち上げ可能。

データ救出などを行ってもよいのだが、ちょうどパーティションを切り直したかったところだし、一度丸ごとフォーマットしてしまおうと考えている(普通に考えるとさっさと捨てた方がよいのだが、まだ動くものを捨てるのもなんなので)。


2008年12月メモ再開。pkgdbの仕様が変わったようで、アップグレードの際に「unexpected file type or format」というエラーが出ることがある。
# rm -f /usr/ports/INDEX*.db /var/db/pkg/pkgdb.db
# pkgdb -fu
(要するに古いのを消して再構築)でいいらしい。詳しくはportsディレクトリ内のUPDATEを参照。


もどる / 自滅への道トップページ