12月 262009
 

ports CURRENT の editors/emacs が emacs-22.3 から emacs-23.1 になったようだけど、japanese/ の下の emacs は相変わらず emacs-22.3 ぽいので、以前このブログに掲載した emacs-canna の ports を作ってみました。

基本的には editors/emacs を japanese/ にコピーして Canna for GNU Emacs23 からパッチを取って来て make している感じです。なので、ベースは emacs-23.1 で、インストールされるものも editors/emacs とまるっきり一緒のはずです。

以下の URL に転がしておいたのでもしよろしければ使ってみてください。

http://www.icmpv6.org/Prog/FreeBSD_ports/ports-emacs-canna-20091221.tgz
この ports について、その筋の人に色々お聞きしてみたのですが、一番多い意見が send-pr すればぁ。ってヤツでしたが、正しくその通りだとは思います。が、まぁ、自分で使っている分にはどーでもよいかぁ。みたいな感じで(^^;;。

後、ports の editors/emacs に吸収してもらえばぁ。って意見も頂いて、これは確かに「なるほどー。」とか思いましたね。 options に WITH_CANNA=yes とか指定できれば、 Canna for GNU Emacs23 からパッチをダウンロードして来て適用する。ってので済むのでこれは確かにラクチンだし、emacs の ports があちこちにできなくて済むのでそれはそれで嬉しいのだけどねぇ・・。

とまぁ、そんなそんなことは思っても結局はどっかそのへんに転がしておいて終ってしまいそうな予感なんですけどね(^^;;。

10月 162009
 

ちょっと前に Emacs-23.1。 と、言うタイトルで一個書いたんだけど、その時はフォントの設定がメインで「日本語入力どうすんべな。」って感じで終わっていた。

その後、emacs-23 で Canna が使えると言う japanese/uim-canna を ports から試してみたのだけど、uim-canna と言うか、 uim-el と言うかは emacs-23 が起動した時だけ利用できるので scim-bridge-qt4 と同居できるのが良かったのだけど・・。

uim-canna って、ただ単に「cannaserver と通信ができる。」ってだけで、canna.el のキーバインドを踏襲してくれないということに愕然として、emacs-23 はすっかり利用するのを諦めていた・・。

後、アンチエイリアスが有効になった emacs-23 を利用するとむちゃくちゃ遅い。と言うのも「使わない」と言う一因ではあったのだけどね。

そんな感じでちょっと放置していたんだけど、ヤボ用で compface.tar.gz をダウンロードできるサイトを探していた(compface は x-face を表示するために利用します)ときにバッタリと遭遇。

Canna for GNU Emacs23

僕は emacs-22.3 までは emcws パッチを利用していたのだけど emacs-23 からはいよいよ利用できなくなっていたので途方にくれていたのでありました。

しかしっ!! ありがとうございました。これで emacs-23.1 で Canna のカナ入力が引き続きできそうです。嬉しいことです。

早速パッチを適用して make して試してみましたが、emcws と動作が一緒です。Canna のカナ入力に重要な C-n キーもちゃんと使えます。嬉しいことです\(^^)/。

本当にありがとうございました。感動して、ツイツイこうやってプログに書いてしまいました;-)。

9月 162009
 

Emacs-23.1 が出ました。実は結構前にインストールしていて ~/.emacs を書いている最中だったのだけど、フォントの設定でつまづいていてホーリ投げていた部分もあるのですが、その問題が解消されたのでこうして書いてみることにしました;-)。

僕は MacOSX 使いでもあるのですが、普段は FreeBSD で KDE を使っています。KDE3,4 を利用しているとアンチエイリアスの効いていないアプリケーションと言うのは emacs-22.3 のみだったので、 emacs-23.1 が出ると利用している全てのアプリケーションがアンチエイリアス対応になる。それはそれは楽しみにしていたのでした。

が・・。インストールしていきなりフォントの設定でつまづいて・・。全角日本語文字と半角英数字が同じ比率で表示してくれない。等幅フォントを利用しても全角と半角ではズレが生じてしまうのでどうしようも無い状態なのでありました。

ただ、12 ポイントのフォントサイズにするとズレは無くなるんだけど 12 ポイントと言うのはむちゃくちゃでかく感じるので 10 ポイントで利用したいのだけど、 10 ポイントにするとズレが生じる・・。トホホ。

で、今回ようやっと設定ができたのでありました。こんな感じ。goolge とかで探すとフツーにある設定です。


(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
            (cond (window-system
--- emacs-22 のフォント設定 (略) ---
        )
        ((= emacs-major-version 23)  ; emacs-23
        (cond (window-system
;; 標準フォント
;           (set-default-font "MS ゴシック-10")
;           (set-default-font "美杉ゴシックL-10")
            (set-default-font "さざなみゴシック-10")
(set-fontset-font (frame-parameter nil 'font) 'japanese-jisx0208 '("MS ゴシック" . "unicode-bmp") ) (set-fontset-font (frame-parameter nil 'font) 'katakana-jisx0201 '("MS ゴシック" . "unicode-bmp") )
(setq face-font-rescale-alist '((".*メイリオ.*" . 0.9) (".*MS ゴシック.*" . 1.1) (".*さざなみゴシック.*" . 1.0) (".*美杉ゴシックL.*" . 1.0) ("-cdac$" . 1.3))) )) ) ))

 
僕はアンチエイリアスなフォントを使いたいので MS ゴシックを全角のフォントとして、半角のフォントとしてさざなみゴシックを利用します。どっちも 10 ポイントで。10 ポイントで利用した場合、全角と半角フォントにズレが発生するので face-font-rescale-alist で横幅を調節します。

・全角フォントのMS ゴシックは横幅比率を 1.1 にする。
・半角フォントのさざなみゴシックは横幅比率を 1.0 にする。

こうすることによりフォントがきっちりと揃うのでありました。

が、この設定と言うのはずっと前から入れているのにどうしてちゃんと動かないのだ?おかしく思って ~/.emacs を一行づつチェックしましたよー。そしたら問題を発見しました・・。orz。

emacs-23.1 と言うのは以下の lisp は正しく評価してくれないんですね。

(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
             (if (eq window-system 'x)
        )
    )
        ((= emacs-major-version 23)  ; emacs-23
            (if (eq window-system 'x)
        )
    )
)

 
(if (eq window-system 'x) がダメみたいです。emacs-23.1 を利用する場合、window-system をチェックする時は以下のように書かないとダメみたいです。

(eval-and-compile
    (cond
        ((< emacs-major-version 23)  ; emacs-22
            (if (eq window-system 'x)
        )
    )
    ((= emacs-major-version 23)  ; emacs-23
        (cond (window-system))
    )
)

 
(cond (window-system を利用するみたいです。

今回の僕のフォントの設定自体は正しかったみたいなのですが、その前に window-system をチェックする lisp が書かれていて、それが問題となってフォントの設定部分が正しく評価されなかったみたいです。"(" や ")" の数はちゃんと合っていたんですけどねぇ・・。

 
と、言うことでこれにてフォントの設定は完了です。が、この後、日本語入力が控えています。emacs-22 の頃は emcws のバッチがあったのですが、いよいよ 23 では無くなってしまいました。

僕は Canna のカナ入力の人なのですが、 scim-bridge とかで日本語入力ができたとしても emacs の制御キーが SCIM に食われてしまうのでお話になりません。やはりネーテブなインプットメソッドが欲しい所です。これからこれについて調査を行う感じになりそうです。

scim-canna を捨てて uim-canna にして、uim.el にすれば良いのかなぁ?とも思っていますが・・。

あ。yc.el を試して作者さんとちょっとメールでやり取りしたのですが、CannaServer との通信が EUC で emacs-23 が UTF-8 を利用しているため、変換後に表示される漢字が文字化けしてしまい実際に利用することができませんでした。どこかでコード変換して上げる必要があるのですが、僕は lisp がイマイチ解らないので・・。

と、言うことでフォントの設定はここまで。次回書くとしたら日本語入力についてになるかと思います;-)。

 
以下余談ですが、最近 WINE 経由で ATOK2009 を利用できるかな?とか思って格闘している最中なんですよ;-)。

これは KDE4 のメニューエディタのキャプチャ。メニューに ATOK9 が現れます。ただ、インストールが成功してないので動かないんですけどね;-)。

kdeandatok.png

後、ports/textproc/wime(http://www.venus.sannet.ne.jp/thomas/wime/) なんて ports を作っている最中ですが、これがまた手ごわい・・。

と、言うことでこの件についてはまだまだ続くことでしょう;-)。

4月 242009
 

前回は、mrtg が実質的に IPv6 に対応していないねぇ。って所で話が終わったのですが、そこから進展がちょっとあったので書いてみたいと思います。

net-snmp に対して IPv6 で接続したい人は前の記事を先に読んで 、その後でこの記事を読んでください。

さてと。物語りは前回からの続きなのですが、mrtg の config ファイルを記述した時、 Target に IPv6 を記述した場合 ifIndex でしかトラフィック情報が取得できない。と言う所で終わりました。

確かに、何度試してもダメだったので、debug オプションを有効にしてログを見つつソースコードなどを眺めていたら問題点を発見しました。最近の ports-current から mrtg をインストールするとmrtg-2.16.2,1 がインストールされるのですが、その時に /usr/local/lib/perl5/site_perl/5.8.9/Net_SNMP_util.pm も併せてインストールされます。こいつの中で Net::SNMP を呼んでいる時に -domain で udp/IPv4 しかセットしていないみたいなので udp/IPv6 をセットするようにしたら IPv6 でも一応動くようになりました。

修正分のパッチはこの辺りに置いておきます

このパッチを適用することにより、FQDN で問い合わせした時は ifDescr でも値が取れる事を確認できました。以下におさらいしてみることにしましょう。

・IPv6 で SNMP が取得できるもの

Target[dir_re1]: 2:public@taro6.running-dog.net:
Target[dir_re1]: \re1:public@taro6.running-dog.net:
Target[dir_re1]: 2:public@[2001:200:161:14cc::1:1]:161:

 
taro6.running-dog.net は DNS に IPv6 のみのアドレスが登録されています。

この設定では IPv6 では ifIndex と ifDescr でトラフィック量を取得することができました。

・取得できないもの

MAC アドレス指定(FQDN・IPv6 共に)
ifDescr 指定での IPv6 アドレスを記述した場合

とまぁ、こんな感じで ifDescr で取得できるようになったのでヨシとしておきましょう。それにしても DNS は必須になってしまうのですが・・。

後、net-snmp って –enable-ipv6 で make しても snmpwalk は IPv6 に対応していないのねぇ。DNS に IPv6 のみ登録してある FQDN を指定しても「そんなアドレス知らん。」とか言われます。/etc/hosts に書いてもダメ。snmpd が IPv6 に対応しているだけにもったいないことです・・。

さてと。ここまでは net-snmp と mrtg のお話で、前回の続きの完結編。と言う感じになります。

続きまして rrdtool に行ってみましょうか。ports 的には ports/databases/rrdtool になりますが、これをインストールすると RRDs と言う perl のモジュールをインストールしてくれて RRDs::graph と言うモジュールを使うと MRTG グラフを表示してくれます。グラフを作成する際のオプションとして IPv6 アドレスが存在した場合にどうなるのか?

正解ですが、”:” は区切り文字に使われているので DEF: の設定に IPv6 アドレスがあるとまともに動作してくれません。

ports 的な rrdtool-1.3.5 のソースを見てみると rrdtool-1.3.5/src/rrd_graph_helper.c に以下のような記述が所々にあり、”[]” で囲むとか “\:” などしても全然対処できないと言うことが解ります。

if (line[*eaten] == '\0' || line[*eaten] == ':') {
    dprintf("- no (or: empty) legend found\n");
    return 0;
}

 
と、言うことで RRDs を使う場合には IPv6 を意識しないようにしないとまずいです。では、どんな時に IPv6 を使う必然性が出てくるのかとなるのですが、僕の場合、rrdfile と PNG ファイルの保存場所に IP アドレスを利用してる感じですね。

/data/mrtg/192.168.1.1/re1.rrd
/data/mrtg/2001:200:161:14cc::1:1/re1.rrd

でもって RRDs::graph では以下のようなコーテイングをしていたらこらアカンですわなー。

:
my $rrdfile = "/data/mrtg/2001:200:161:14cc::1:1/re1.rrd";
my $pngfile = "/data/mrtg/2001:200:161:14cc::1:1/re1.png";
push (@options
    :
    ,"DEF:avein0=${rrdfile}:ds0:AVERAGE",  "CDEF:avein=avein0,8,*"
    ,"DEF:maxin0=${rrdfile}:ds0:MAX",      "CDEF:maxin=maxin0,8,*"
    :
);
my @rv = RRDs::graph( $pngfile ,@optins : );

 
なので、結局 $rrdfile =~ s/:/_/g; など言う弱いことをして問題回避したのでありました。

これで、net-snmp・mrtg・rrdtools の IPv6 対応が一応終わった感じかなぁ。10Gbps 問題も回避できたし、今の所は多分これで IPv6 な世界が来ても大丈夫なような気がします。が・・。mrtg には IPv6 対応をもう少し頑張ってもらい所ではあります。

http://oss.oetiker.ch/mrtg/doc/mrtg-ipv6.en.html

こんな所読んだって Target の所がハショッて書いてありすぎで全然ダメなんだもの・・。トホホ。

くーーっ。MacOSX Leopard の /usr/sbin/snmpd は 5.4.1 使っているのに IPv6 に対応してないじゃん。 udp6:161 のオプション、そんなのねーー。とか言いやがる・・orz。これはヒサンだ・・。

つまり、どういうことかと言うと、例えば MacOSX を leopard.running-dog.net と言う FQDN で 192.168.1.30 と 2001:200:161:14cc::1:10 の二つ RR レコードを記述していた場合、mrtg.cfg の Tagrt に FQDN を記述すれば mrtg は IPv6 で問い合わせに行くことになります。

けど、MacOSX の snmpd は IPv4 にしか答えないので mrtg はエラーとなります。そして、mrtg は「IPv6 から IPv4 にフェイルオーバーしないよ。」と言う仕様なので、MacOSX への mrtg.cfg の設定における Target は FQDN ではなく、IPv4 アドレスを記述しないと正しく情報が取得できないことになります。

いやぁ・・。奥が深い・・。まず最初に監視対象機器が DNS に A と AAAA があるか確認した後、当該機器の snmpd が IPv6 に対応しているか確認してからでないと mrtg.cfg の記述が完成しないんだー・・。

と。言うこで、このネタ。ここまでにしておきましょう・・。

2月 212009
 

前回「KDE-4.2良いよぉ。」と、ちろっと書いたのだけど、その上で konqueror を使っていたら「あれ?Safari と表示が一緒だぞぉ。」などと思えてきたので、今回キャプチャしたものを比較してみたいと思います。ちなみに Safari は konqueror のレンダリングエンジンである KHTML から派生した WebKit がベースで qt4+KDE4 には qt4-webkit なんて言う ports もあったりするので konqueror への期待は大いに高まったりするのです;-)。

今回のブラウザのキャプチャは以下の通り。Windows では日本語のアンチエイリアスが有効にならないので、Windows 自体は全く使う気にならない。WindowsXP 上の Firefox3 でメイリオフォントを指定した場合、どうしてあんな汚い表示なんだぁ?と驚いてしまう。 Windows ユーザは素早く IE も Firefox も捨てて Safari を使ったほうが良いのでは。と、僕個人的は思う;-P。(僕は WindowsVistaは常用していない;-)

・FreeBSD/amd64 7.1-STABLE+kde-4.2.0 の konqueror
・MacOSX Leopard 上の Firefox3.0.6
・MacOSX Leopard 上の Safari3.2.2

Firefox3 は WindowsXP と FreeBSD、そして MacOSX 上で動作しているけど、 MacOSX 上のヤツが一番きれいに表示できるのでそこからのエントリです。全てのキャプチャ画像はクリックすると大きくなります。

まずは kde-4.2.0 の konqueror から。


続いて Firefox3。


最後に Safari3。


全てのブラウザでアンチエイリアスが効いていてフォントがきれいに表示されています。まぁ、多少、フォントの誤差はありますが、その点についてはお許しください。

今回はこのサイトをキャプチャしましたが、konqueror と Safari はタイトルとブログのタイトル文字にうっすらと影があるのが見えるでしょうか?それに引き替え、Firefox3 にはその影が表示されていません。

このブログのテンプレートはもともと Mac ユーザの方が作ってくれたのを利用しているので、MacOSX に最適化され、きれいに表示してくれるようになっています。

なので、最近の僕は(写真の編集などもあるけど)ほとんどのブログの書き込みと確認は MacOSX 上で行っていたのでありました。けど、KDE-4.2 の konqueror が Safari に非常に近いデザインでコンテンツを表示してくれていると言うのに感動しました;-)。さすがは KHTML と言うか WebKit だなぁ。と。

けど、KDE-3.5 の konqueror は見るも無残な状態であったために Firefox3 をずっと使っていたのだけど、KDE-4.2 になったらその出来と言うか、コンテンツ表示のすばらしさにちょっと関心してしまいました。

後、FreeBSD 上では Firefox3 で利用する nspluginwrapper 経由の各種プラグインを konqueror が「mozilla プラグイン」として認識するので linux-flashplugin-9 も動作します。これはこれで大変嬉しいことです。

KDE-4.1.2 は plasma がしょっちゅうぶっこけて全ての KDE アプリを道連れにしていたのだけど、KDE-4.2.0 になって、まぁ、時々 plasma は落ちるけど、自己修復型で再起動してくれるので随分と楽になりました。

やっぱえぇなぁ。qt4+KDE4 は。

ただ、人に言わせると c++ はいらん。だそうです。確かに ports をコンパイルすると膨大な時間が掛かることは確かではありますが・・(^^;;。

皆さんも是非使ってみてください。ちなみに僕は JKUGスタッフです。布教活動には余念が無いであります;-)。

あ、最後にですが、MacOSX 用の KDE4 は未だ 4.1.2 のままです。早く 4.2.0 がでないかなぁ;-)。MacOSX 上で konqueror を起動してみたいものです;-)。

1月 232009
 

さてと。話せば長いのであります。mew では IMAP4 や POP3 に対して SSL で接続できます。 ~/.mew の設定や ~/.certs/ に必要なファイルをほーりこむ設定については他のウェブページに譲りたいと思います;-)。

ここでは、他のウェブページを見て設定しても接続できない人がきっと参照してくれることでしょう。と、言う感じでまとめます。特に FreeBSD の ports から stunnel をインストールした人向けです。

最初に答えを言いましょうっ!!。 /etc/hosts.allow で localhost の stunnel のポートを許可しないと接続できませんっ!! /etc/hosts.allow に以下の設定をしている人は mew での SSL 接続がきっとできないことでしょうっ!!

#ALL : ALL : allow

 
さてと。それでは順番に見ていくことにしましょう。 FreeBSD を利用している人は大体 ports から必要なものをインストールするかと思います。emacs+mew で SSL な POP3 もしくは IMAP4 なサーバに接続しようとした時は /usr/ports/security/stunnel が必要なので、サクッと make install しておしまい。で、早速テスト。って感じかと思います。

mew が SSL するときは stunnel 用の設定ファイルを /tmp/takachan88831JOY/mew88831rod みたいな感じで作成します。このファイルが stunnel のオプションになるわけですが、中身は以下のようになっています。

client=yes
pid=
verify=0
foreground=yes
debug=debug
syslog=no
CApath=/home/takachan/.certs
[10841]
accept=127.0.0.1:10841
connect=mail.running-dog.net:993

 
mail.running-dog.net のポート 993 番に接続するための SSL トンネルは localhost の ポート 10841 に telnet して確認できます。まぁ、mew が IMAP4 を叩くポートが 10841 と言うことですね。これは解りやすい。

で、実際に telnet 127.0.0.1 10841 しても SSL トンネルをまるで抜けていきません。おかしいなぁ。と思って色々調べてみると、原因は stunnel が libwrap をリンクしていると言うことなんですね。これが解るまでに四時間位かかりました。orz。

mew 側の設定で localhost のポート番号を設定できるのか?もし設定できるのであれば、そのポートだけを /etc/hosts.allow で設定すれば良いと思いソースを見て調べてみましたが、どうやらできないみたいです。mew-6.2.50 の mew-ssl.el では 130 行目辺りで localport を mew-random を利用して生成しているみたいです。と、言うことで、mew 側ではどうやら設定不能みたいです。

続いて、/etc/hosts.allow に stunnel: ALL : allow とか stunnel4: ALL : allow など色々試しに設定してみたのですが、inetd 経由や デーモンモードで動作する stunnel では有効になるのですが、コマンドベースで利用した場合の /etc/hosts.allow の記述方法が解りませんでした・・。トホホ。

それならば、と言うことで stunnel の Changelog やらソースを眺めますが、おぉっっ!! configure オプションに –disable-libwrap と言うのがあるではないですかっ!! すんばらしい。とは言いつつ、FreeBSD の ports では –disable-libwrap を選択できるオプションが無いのでありました。無条件で libwrap はリンクされてしまう。トホホ。

と、言うことで –disable-libwrap を選択できる ports を作成しました。使いたい方は利用してください。

ports-stunnel-disable-libwrap-20090123.tgz

まぁ、Makefile をチロッと直しただけなんですけどね。

これで安心して mew で SSL が利用できることでしょう。まずは良かった。良かった。

けど、解決策はそんなんで良いのかなぁ? mew 側で吸収すべきか stunnel 側で吸収すべきか。どっちが良いのかなぁ・・。kazu さん 的にはきっと、libwrap を off にしましょう。って言うような気が、しないでもないこともないと、僕は思うのですけどねぇ・・。

11月 282008
 

FreeBSD、僕は7.1-STABLE を利用しているのだけど、ちょっと前に Users-ML で話題になった。

FreeBSD-users-jp 91899 からのスレッド ですねぇ。

このスレッドの中で ume さん が、その対処法を書かれているのです。

作業内容は以下みたいな感じですかねぇ。

元々 linux_base-fc4 が入っていたので /etc/make.conf に

OVERRIDE_LINUX_BASE_PORT=f8

 
と設定します。続いて、

# sysctl compat.linux.osrelease=2.6.16

 
してからいよいよバージョンアップです。

# portupgrade -o emulators/linux_base-f8 linux_base-fc4
# cd /usr/ports/emulators/linux_base-f8
# make install
# portupgrade -f linux-\*
# cd /usr/ports/www/linux-flashplugin9
# make install

 
最後にプラグインのコマンドを実行します。

$ nspluginwrapper -v -a -i

 
これで良いはずなんですけど、これで確かに flash9 が動作するのですが、遅い・・。yahoo.co.jp とか watch.impress.co.jp は最近、flash の CM があるのだけど、これを表示する時にむちゃくちゃ遅いっ!! 記事を真ん中クリックして別のタブに表示させるんだけどそこに flash があると平気で 10 秒以上凍りつき、応答がなくなる firefox3。

もうウンザリ・・。flash7 に戻すべや。とか思っていたら、回避策を教えていただきました。ありがとうございます。 ume さん;-)。

原因は linux-glib2 です。linux_base-fc4 で利用していたこれを削除して、再度インストールしなおせば劇的に速く動作するようになります。

その手順は以下のような感じ。

# pkg_deinstall -f linux-glib2
# portupgrede -f linux_base-f8
# pkgdb -F

 
これをやることにより劇的に速く表示してくれるようになります。いやぁ。良かった。flash7 と同じ位の動作で、ストレスも感じません。

ちにみに /usr/ports/devel/linux-glib2 はインストールする必要は無いみたいです。linux-glib2 は fc4 用で、fc5 以降は自前で glib2 を持っているので必要無いみたいです。
#だけど、インストールできちゃうんだよなぁ・・。

良かったです。ありがとうございました。

9月 252008
 

僕は FreeBSD をデスクトップ環境にしているのでメールの読み書きは emacs+mew と言う環境です。でもって、メールサーバには imap4 も持っているのだけど POP3 もあるので、メールは一台のマシン上に保存するために POP して mew で保存している。

mew で POP してクライアント側で保存することのどこが良いか?と言われれば、一つのメールが一つのファイルになる点かな。まぁ、imap4 に courier-imap を利用すれば 一つのメールが一つのファイルとして imap4 上に保存できるのだけどね。

今日はクライアントのお話。imap4 及び POP3 サーバのことは出てきません。

さて、mew を使い初めてもう 10 年以上経つのだけど、最近は spam が多すぎて困っていた。 今までは自分でシコシコ mew-refile-guess-alist を書いて M-o で振り分けていたのだけど、もう限界に来た。メールサーバ上で spam フィルタを入れるのは大変だし、自分の管理していないメールサーバだともっと無理だし。

と、言うことでクライアント側でなんとかしなければならないのだけど・・。

で、考えたのが Thunderbird の「迷惑メールフィルタ」。サーバに対して imap4 を利用し Thunderbird で接続し、「迷惑メールフィルタ」を実行します。迷惑メールは Spam フォルダに振り分けられるので、その後 mew で POP すれば必要なメールだけが POP できると考えたのだけど・・。

Thunderbird って imap4 を利用すると、自分で管理している場合は順調なのだけど、その状態をサーバには送らないので、Thunderbird 上では綺麗にフォルダを振り分けられているのだけど、他の MUA から imap4 で覗くともうぼろぼろなのね。でもって mew で POP しても、せっかく迷惑メールフォルダに振り分けたメールもぜーーーんぶっ!! POP してきてしまう。というとんでもない仕様なのでうんざり・・。

僕は MocOSX ユーザでもあるので AppleMail も使うのだけど、こいつには「同期」と言うメニューがあるのでそれを選択すると、そのタイミングでサーバとクライアントソフトが同期してくれるのでまだましかな。

Thunderbird の動作、こんなんじゃ全然ダメじゃん。とか思うのだけど、修了時にはサーバ同期してくれるみたい。つまり、「迷惑メールフィルタ」を実行した後、一旦 Thunderbird を終了させるわけですね。うがーーっ!! やっぱりタメダメじゃん。about:config できっと設定できるのだろうな。とは思うのだけど、あんな、説明がなぁんも無い MIB をいちいち見ることなんて絶対やんないし・・。

と、言うことで早速調査開始。そしたら、有りましたよ。mail.imap.expunge_after_delete と言う MIB の値を true に変更すると良いみたいです。[設定]から「詳細」メニューの[一般]タブにある[設定エディタ]を押してから上記 MIB を検索し値を true に返るとぐーです。

早速変更して試してみましたがっ!!

おぉーっ!! 僕が思ったとおりに動くっ!!感動っ!! と、言うことで動作的には、届いたメールに対して Thunderbird でアクセスします。 imap4 を使って。でもって「迷惑メールフィルタ」が実行され、迷惑メールは「迷惑メール」フォルダにどんどん溜まっていきます。「受信トレイ」が随分とすっきりします。

その後、mew から POP3 でメールサーバにアクセスします。でもってメールを取り込んでみると、おーー。「受信トレイ」の中のメールしか POP してこないじゃないですかー。これがやりたかったのよ。

迷惑メールの振り分けは Thunderbird で。必要なメールの管理と送信は mew で。って感じで利用することにしましょー。

ただ、Thunderbird は本来の使い方がされないのでちと悲しいのだろうなぁ;-)。

2008/09/26 追記
やはり、Thunderbird は mozilla 系のアプリケーションだけあって、KDE3 上ではメニューフォントとか、フォルダのフレーム、メールの一覧はどでかいフォントで表示されてしまいますなぁ。

でもって[設定]からフォントのサイズが指定できるのはメールの本文に対してだけだしぃ・・。これじゃダサダサだぁ・・。about:config でもフォントの設定が沢山あるみたいだけど、どれがどれやら解らない・・。

と、言うことで Firefox と同じフォントの設定を書いてみた。と、言うかもっとラクチンに symlink 張ってみたら、あぁら。無事に小さくなったわ;-)。

以前、firefox でフォントの設定をした のだけど、その設定がそのまま Thunderbird でも使えます。

$ cd ~/.thunderbird/乱数ディレクトリ/
$ ln -s ~/.mozilla/firefox/乱数ディレクトリ/chrome

 
これで OK です。後は Thunderbird を再起動すればフォントが小さくなることでしょう。めでたしめでたし。

それにしても、未読メールがボールドフォントってのが気にくわないなぁ。Apple Mail みたいに色で指定できないのかしら・・。

2月 042008
 

NotePC で KDE3 を使っていて、Firefox を利用すると、メニューバーのフォントや Submit ボタンのフォントがでかすぎて全然美しくない。

なぜ、NotePC 上でかと言うと、デスクトップで KDE3+Firefox の場合だと、画面が広いので普段から大きなフォントを使っているので気にならないんだけど、NotePC の場合、画面が狭いのでついついコンテンツを表示するフォントを小さくしてしまう。

そーなるともー、メニューバーのフォントの大きさがきになってしかたがない。なので小さく表示してくれるように設定することにした。Google で探したらそれなりに見付かったけどねぇ;-)。

設定に必要なファイルは二つ。~/.mozilla/firefox/乱数ディレクトリ/chrome/ の下に以下の二つのファイルを用意する必要があります。

・userChrome.css 主にメニューバー・ツールバーを設定するファイル
・userContent.css 主に Submit ボタンなどコンテンツ上の設定をするファイル

では早速設定を見て行くことにしましょう。まずは userChrome.css です。

@namespace url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); /* set default namespace to XUL */
* {
    font-size: 12px !important;
}

 
全てのメニューのフォントを 12 ピクセルにすると言う設定です。”*” が「全ての」と言う意味です。個別に toolbar とか urlbar とかも指定できますが、まぁ、良いでしょ「全て」で(^^;;。

また、普段は [表示]→[ツールバー]→[カスタマイズ] で表示される画面で自分好みのツールバーにカスタマイズすると思いますが、その設定もこのファイルに記述できます。ただ、ここには書きませんけど・・(^^;;。

このファイルを作成し firefox を再起動すると設定が有効になったかと思います。けど、Submit ボタンはまだまだ大きいままでかっちょ良くないんですよー。

なので、次に userContent.css を用意します。このファイルはコンテンツの中で firefox が制御する部分の設定を行います。

.searchbar-textbox {
    font-size: 12px !important;
}
input {
    line-height:1.0 !important;
    font-size: 12px !important;
}
select {
    line-height:1.0 !important;
    font-size: 12px !important;
}
textarea {
    line-height:1.0 !important;
    font-size: 12px !important;
}

 
まぁ、FORM 入力部分の表示の制御がメインになるかと思うのですが、select タグや textarea タグなどのフォントサイズが変更できたりします。Submit ボタンは INPUT タグなので input 項でそのサイズを指定してあげることになります。

さて、再度再起動してみましょう。これで十分にきれいで均等の取れた firefox になったでしょうか。

僕はなりました。めでたいことです;-)。

4月 132007
 

emacs22+mew と言うのがぼくのメールを読む環境なんだけど、 Mew version 5.2.50 で Punycode に対応したみたいです。試してみるとこれがまた・・。

メール本文(mew では message バッファと呼んでいます)にある http://xn--w8j2bze0962a.jp/ が、ちゃんと http://もつ焼き.jp/ と表示されるようになった。すごいなぁ。その URL をクリックするとちゃんとブラウザも起動する所が偉い;-)。

ただ、From:・To:・Cc: などの takachan@xn--w8j2bze0962a.jp は変換してくれないみたい・・。ちょっと ML で かずさん に聞いてみよう。

で、話は自然と「国際化ドメイン名」に行くんだけど、firefox ってすごいなぁ。と再確認。

「もつ焼き。JP」とか、「もつ焼き.JP」って言うのをちゃんと変換して表示してくれるのね。これには驚き。技術的には NAMEPREP による正規化をしてから、Punycode による変換を行い ASCII コードで DNS に問い合わせられる。でもってちゃんと表示してくれる。すごいなぁ。

もつ焼き。JP (firefox でクリックしてみてください)

↓ NAMEPREP による正規化

もつ焼き.jp

↓ Punycode による変換

xn--w8j2bze0962a.jp

Punycode ってのは知っていたけど、 NAMEPREP ってのは今回初めて知りました。すごいぞ。これ。

ちなみに konqueror は Punycode に対応しているけど、NAMEPREP には対応していないみたいで、「もつ焼き。JP」は不正な URL として扱われるみたい。しくしく。