Vine 2.1.5 に移行しました。(2001/08/0x)
昨今は、Java2 やnetscape など、glibc2.1 系でないとインストールできない、 という悲しい思いをすることが多くなりました。そこで、常用環境を Vine1.1(ftp 版) から Kondara MNU/Linux1.1(ftp 版) へと移行することにしました。
ディストリビューションを決めるにあたっては、 今までにRedHat 系に慣れていましたし、 自作RPM パッケージもいくつかありますので 次もRedHat 系にしようと思っていました。 RedHat 6.2J, Vine 2.0, Turbo, Kondara と考えましたが、 なんとなく楽しげに開発されてるような感じがしたというだけの 理由からKondara にしました。:p (1番GNOME が新しかったですし) 商用版も考えたのですが、 僕にとっては商用フォントくらいしか魅力がなかったのでやめました。 Turbo のバンドル商用ソフトには少し魅かれましたが 値段が1万円近いのでこれもやめました。:)
最近は、あまり手で入れるってことも少なくなってきました。 % sudo mph-get upgrade で、ばしーっとアップグレードできちゃうんで。 なんで、Kondara でサポートしてないレアなソフトや、Mew なんかの beta を追うくらいでしかいじらずに済んじゃってます。 Slackware の頃に比べたらなんて楽ちんなんでしょう。
2000年後半から次版の2.0 の開発が忙しいのか、開発者の興味がなくなったのか、 セキュリティホール対応すら提供されなくなりました。 公式Web すらしょっちゅう落ちてるし、2001/06になって2.0が発売されましたが、 それもちょこちょこと調子悪い点があるみたいで完成度もまだイマイチのようです。 勢いがある時はすばらしいのですが、開発者の勢いがなくなると、 途端にメンテが止まるという印象があり、 開発/メンテのペースにムラがあるように思えます。 もちろん、ボランタリな開発者には感謝こそすれ 苦情を言えた義理じゃありませんし、そもそもftp 版を使っているので 文句を言える次元じゃないですが、実際に使うという観点からすると、 趣味の開発 のような不安定で安心感に欠ける感じがし、 RedHat と手を組んだVine の方がことさら手堅く感じられます。 そもそもはGNOME のバージョンが低いのでVine から離れたのですが、 Vine 2.1.5 ならGNOME もKondara 1.2 のものより新しいですし、 今のVine なら僕にとって全く不足はないです。 というわけで、近いうちにVine に戻るべく入れ換えようと思っています。 残念ながら、Kondara 使うのも1年だけとなりそうです。(2001/07/06)
Vine 2.1.5 に移行しました。(2001/08/0x)
いまんところの使ってみた感想です。というか、問題点の方と言った方が早い。
なんと言ってもこれが移行の理由です。 2.1 系なおかげでnetscape は4.7 が動きますし、 やれば6PR1 も動くでしょう。 Java2 も動かせるから会社でSolaris に入らなくても やっと手元でコンパイルできるようになりました。:)
netscape のメニューのフォントはVine の時よりバランスも取れてて きれいになっている気がします。
Enlightenment 0.15 のpager は非常に便利で Vine の時から使っていたのですが、 Kondara にはEnlightenment 0.16 が入っていました。 0.16 ではsnapshot pager に変わっていて、 これがまた見栄えもよくなって非常にかっこよく便利です。僕はpager のためにEnlightenment にしていると言っても過言ではありません。 (3x2 のデスクトップをCtrl + Arrow キーで移動しています)
が、GNOME の設定でウィンドウマネージャをEnlightenment にすると、
X の次回起動時に必ずGNOME のpanel が起動しません。:( 手で
% panel &
と起動しても必ずコケます。これはかなり致命的で泣けてきます。
根本的な解決策もまだ分からず、試行錯誤の末、
sawmil(sawfishは入ってなかった) からはpanel を起動できるので、
仕方なくsawmilで起動してからウィンドウマネージャをEnlightenment
に切替えています。むぅ。
解決しました。
KondaraのMLアーカイブ検索で、gnome-coreのバージョンをあげれば直る、
とは読んだのですが、その記事どおりのバージョンのgnome-coreは見付ける
ことができませんでした。しかし、当然ながらKondara-1.2はそれ以上に
バージョンが上なgnome-coreが入っていたので、
Kondara-1.2にアップグレード
したところ、無事この相性の悪さは直りました。
今ではGNOME + E でセッション管理もできています。:)
要は1.1のパッケージングバグだよなぁ
一度PPxP で通信したあとに切断して、それから数時間とかしばらくの間 使わずにいた後に、再度通信しようとした場合に、 tap0なんてデバイスはない、というエラーがでます。 ISDN 回線の物理層はつながるけどデータリンク層が確立しないような状態。 ppxpd を再起動すれば直るんですが、いちいちppxp-applet を再起動するのは 面倒です。:(
解決しました。
KondaraのMLにありました。/etc/conf.modules に
alias tap0 ethertap
のエントリを追加したら直りました。
gtcd などでCD を聴く時などに頻繁に読み出しエラーを 起こすようになりました。Vine の時からSCSI などのハード構成は 変えていないのに。。。
これ、いつしか直ってました。何が悪さしてたんだろう。。。?_
これはKondara だからというわけではなくて、多分、BIOS 絡みなんですが、 lilo のインストール時にカーネルとBIOS とでディスクの認識が 違うみたいで、lilo から起動しません。lilo のインストール時にVine の時のをバックアップしとくの忘れてlilo インストールに失敗しちゃったんで Vine もlilo から起動しなくなっちゃったし最悪の状況です。はぅあ。
新規ディスクの最初のパーティションにインストールしたんですが、 カーネルの実体は1024シリンダよりも後ろに入っちゃったみたいです。 最初の10MBくらいを別パーティションの/boot にでもして そこに入れればよかったです。 今さら切り直してイチから入れ直すのもなんですし悩みどころです。
解決しました。
カーネルが1024シリンダに収まるように/boot を切り出すとかで今の
/パーティションを切り直すなんて今更できないので悩んでましたが、
Vine-1.1のswapパーティションを使うことにして解決しました。
Vine-1.1のswapパーティションは/dev/hda6 に128MBだったので、
fdiskで/dev/hda6 112MB, /dev/hda7 16MB に切り直し、
最初の/boot は /boot.SYSORG とmvしてから、
mkfs.ext2 -t ext2 /dev/hda7 (-t ext2はいらんかったかも)
としてext2ファイルシステムを作成した/dev/hda7 を
/boot にマウントしました。ついでに、/dev/hda6 のswapディスクも
付け足すようにして/etc/fstab に
/dev/hda7 /boot ext2 defaults 1 1
/dev/hda6 swap swap sw,pri=3 0 0
と追加しました。
これで新しい/boot に今までの/boot 配下(/dev/boot.SYSORG)をtarで
(cd ../boot.SYSORG; tar cvf - *) | tar xvf -
とコピーしてリブート。
これでlilo を/dev/hdaのMBRにインストールできました。
ちなみに、以下がその Win/Vine-1.1/Kondara-1.2 をブートする
lilo.conf です。
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux
image=/boot/vmlinuz-2.2.16-1k7smp-fb
label=linux
initrd=/boot/initrd-2.2.16-1k7.img
read-only
root=/dev/hdc1
image=/vine//boot/vmlinuz-2.2.14
label=vine
initrd = /vine//boot/initrd-2.0.36-3vl3.img
read-only
root=/dev/hda5
other=/dev/hda1
label=win
table=/dev/hda
Security Advisories やBug Fixes を落そうにも Kondara のWeb ページにあるリンク先、 ftp.kondara.org, ftp.jaist.ac.jp どちらも全然ダメです。 ftp mirror 先からtsukuba.ac.jp なら落せると分かるまで 結構いらいらしました。B(
Vine の時にはGQmpeg を使っていましたが、Kondara のGNOME メニューには 入っていませんでした(バイナリは入ってる)。 代わりにXMMS が入ってるんですが、 起動するとSEGV 受けてお亡くなりになります。:(
解決しました。
Kondara-1.2にアップグレードしたら、
無事に起動するようになりました。
インストールは大きな問題もなく進みます。
ただ、モニタの解像度については合うものがなく、インストール後に
手で/etc/X11/XF86Config を修正しました。
具体的にはVine でのXF86Config を内容を変えずにコピーしただけです。
新しく買って用意した13GB HDDを使い、/ は/dev/hdc1(3GB)、
/home は/dev/hdc3(6GB) にしました。/home については、Vine で使っていた
ものを/vine にマウントしてtar でコピーしました。
% (cd /vine/home ; tar cvf - yoshi ) | tar xvf -
Vine-1.1 の時の/etc ファイルから必要なエントリを移行したり、
まるまるコピーしたりしました。
Vine で使っていたディスクを当然今後も使うので、ユーザIDやグループIDを
同じにしたり、X の設定をしなおすのが面倒なのでXF86Config を
ediff でパッチしたりとしました。以下のファイルです。
passwd, group, shadow, ntp.conf, inetd.conf, services, nsswitch.conf,
aliases, X11/XF86Config
そのままだとユーザアカウントからTAに接続できません。
これで、Vine での設定のままtkppxp で接続できました。
さて、Kondaraには入っていないようなので、
ついでにgtkppxpもインストールします。
Vineのパーティションからppxp のソースツリーをコピーしてきて、
% cd /usr/local/src/ppxp/console/gtkppxp-0.6/
% make clean ; make
% su
# cp -pi gtkppxp /usr/local/bin/.
ただ、これ、実行してもcore 吐くんですよね。なんででしょ。(^^;
それでは、と、ppxp-applet を入れました。
PPxP アプレット
から、最新の0.7を持ってきて、
% cd /usr/local/src/ppxp/console
% tar xvfz ppxp-applet-0.7.tar.gz
% cd ppxp-applet-0.7
% ./configure
% make
すればいいはずなんですが… エラーでるんですよね。(苦笑)
Makefile がうまく生成されないようです。
src/Makefile に以下のパッチを当てるとmake が通ります。
*** Makefile.orig Sun Jul 2 11:38:42 2000
--- Makefile Sun Jul 2 11:39:40 2000
***************
*** 107,114 ****
PACKAGE = ppxp-applet
POFILES = ja.po
POSUB = po
! PPXP_CFLAGS = -I../../lib
! PPXP_LIBS = ../../lib/ppxp.a
PTHREAD_LIB = -lpthread
RANLIB = ranlib
USE_INCLUDED_LIBINTL = no
--- 107,114 ----
PACKAGE = ppxp-applet
POFILES = ja.po
POSUB = po
! PPXP_CFLAGS = -I../../../lib
! PPXP_LIBS = ../../../lib/ppxp.a
PTHREAD_LIB = -lpthread
RANLIB = ranlib
USE_INCLUDED_LIBINTL = no
***************
*** 125,131 ****
ppxp_applet_SOURCES = all.h xpms.h ppxp-applet.c sets.c callbacks.c ppxp-object.h ppxp-object.c property.c
! ppxp_applet_LDADD = -rdynamic -L/usr/lib -L/usr/X11R6/lib -rdynamic -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lXext -lX11 -lm -lgnome -lgnomesupport -lgmodule -ldb -lglib -ldl -rdynamic -lpanel_applet -lgnorba -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lXext -lX11 -lm -lgnome -lgnomesupport -lgmodule -ldb -lglib -ldl ../../lib/ppxp.a
EXTRA_DIST = ppxp-applet.desktop ppxp-applet.gnorba
--- 125,131 ----
ppxp_applet_SOURCES = all.h xpms.h ppxp-applet.c sets.c callbacks.c ppxp-object.h ppxp-object.c property.c
! ppxp_applet_LDADD = -rdynamic -L/usr/lib -L/usr/X11R6/lib -rdynamic -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lXext -lX11 -lm -lgnome -lgnomesupport -lgmodule -ldb -lglib -ldl -rdynamic -lpanel_applet -lgnorba -lORBitCosNaming -lORBit -lIIOP -lORBitutil -lgnomeui -lart_lgpl -lgdk_imlib -lSM -lICE -lgtk -lgdk -lXext -lX11 -lm -lgnome -lgnomesupport -lgmodule -ldb -lglib -ldl ${PPXP_LIBS}
EXTRA_DIST = ppxp-applet.desktop ppxp-applet.gnorba
そうしたら、
# make install
すればOKでした。
IDE CDROMと SCSI CD-R/RW で2つのCDROM がついているのですが、 Vine の時と同じにするよう、
/dev/cdrom1 -> /dev/scd0
↓
/dev/cdrom1 -> /dev/sr0
と直しました。
LANG 環境変数はVine ではja_JP.ujis でしたが、これだとKondara では 日本語メッセージがでませんでしたので、
setenv LANG ja_JP.eucJP
setenv LC_ALL ja_JP.eucJP
と修正しました。
インストールするなり公式ページをみたらerrta がでてました。(泣)
公式ページからemacs20.6 を入手してrpm インストール。
その他、Emacs 関係としては以下をインストールしました。
emacs上でmuleのバージョンを漢字にするelispですが、 どこから入手したのか忘れてしまいましたので、Vine のパーティションから 単にコピーしました。
# cd /usr/share/emacs/site-lisp
# cp -pi /vine/usr/share/emacs/site-lisp/mule-version.el .
拡張辞書を作ってくれたすばらしい方がいたので、 その成果をありがたく頂戴。 かんな辞書(cannadic) から辞書を落として、そのページにある通りの作業でできます。 システムバイナリ辞書としてインストールしました。 Kondara の場合、かんなは/var/lib/canna/dic/canna/ です。
2000/07/01:かんなはそのままでも動きますが、ユーザ辞書をコピーしました。
# cp -pir /vine/usr/lib/canna/dic/user/yoshi /var/lib/canna/dic/user/.
これで、単語登録しまくった今までの辞書が使えました。
祝 2.0 リリース。
2.0 stable が出たので入れ換え。
ML には英文のリリースノートが流れましたが、和文の
リリースノートがあります。
にしても、emacs 20.7 以降が正式サポートだから、 20.6 なんで早くあげないとなぁ。。。 って、Vine は20.7 以上かもしれないから、 入れ換えりゃいいのかも。はよせんと。:) (mew-el-emacs-2.0-1y.i586.rpm)
pre4 が出たので入れ換え。
でも、水曜には2.0stable が出るんだけど。
00changes によると、
* mew-refile-guess-by-folder prefers the entire folder to ml name. * save-excursion hack for mew-mime.el. * Unifying a region of Summary mode. See mew-summary-region-include-cursor-line. * "postnum" for x-sequence: * A bug fix for mew-sort-number. * "n" works for mew-summary-ls in the case that the scan form is old. * Defining mew-input-grep-pattern. * Adding key-bindings for [delete]. * A bug fix for mew-addrbook-clean-up. * PWD for Makefiles to same Emacsen on Windows.
とのことですが、どれも僕にはピンとこなかったり。 とりあえず、追随で入れ換えたって感じ。(ぉ (mew-el-emacs-2.0pre4-1y.i586.rpm)
1日のうちに立て続けにpre2, pre3 が出たのでpre3 に入れ換え。 (本当はpre2 入れた晩にpre3 が出ててショックだったり) 私的にうれしい変更点は、
* info updates. * Forcing re-scan if the format of summary cache is old. * "tu" for mew-thread-unmark.
てなところ。
dot file などは変更いらず。mew だけ入れ換えればOK。
それと、改めてinfo を読んで思い出しました。
emacs 20.7 以降がサポート対象なんですよね。
未だに20.6 使ってるんで、どっかで上げないとなぁ。。。
つうか、はやくVine にせねばだな。
(mew-el-emacs-2.0pre3-1y.i586.rpm)
1.95b126 からstable をすっとばして2.0pre1 が出たんで入れ換え。
変更点は、
* A patch for Makefile.w32. * save-match-data for mew-draft-dynamic-highlight. * CDP: bug fixes. * A bug fix of CDP: for S/MIME * A bug fix for "h" on Summary. * "to"!
とのこと。 最新のRFC にあわせて、複数行の To: を書いても 1つにまとめられて送信されますね。あと、 2.0pre1 ということでinfo も刷新されてます。 M-x info するとしあわせ。 で、~/.mew に以下を追加してもっとしあわせ。(笑)
; スレッドの親子関係を可視化 (2.0pre1 later) ; (setq mew-use-fancy-thread t)
とゆわけで、パッケージも作成。 (mew-el-emacs-2.0pre1-1y.i586.rpm)
1.95b126 が出たんで入れ換え。
t t で、スレッド表示。t * でそのスレッドごと* マーク付け、
などスレッド周りが便利に。他にももろもろ手が加えられてますけど、
僕が使ってるのはスレッド周りだけ。(^^;
(mew-el-emacs-1.95b126-1y.i586.rpm)
1.95b121 が出たんで入れ換え。 僕的には、
* C-cC-e is now executable on a message. * Singlepart body with unknown CTE: is now treated as a multipart. * ":" displays the syntax of a body. * Singleparts in Multipart/Alternative are marked with "*".あたりがいいかな。もちろん、 RPM パッケージも作成。(mew-el-emacs-1.95b121-1y.i586.rpm)
1.95b119 が出たんで入れ換え。 RPM パッケージも作成。(mew-el-emacs-1.95b119-1y.i586.rpm) 変わったところは、
* mew-use-alternative を定義しました。デフォルトは t です。 ":" で動的に反転させて再解析できます。 * MIME parameter に生 non-ASCII があり、しかも ";" を含んでいると、区 切りと間違えてちょん切る問題を解決しました。残念ながら、どの parameter が悪いのかという情報は失われ、X-Mew: には Some parameters have raw text. と表示されます。 * C-cC-y で、あるパートに対して任意のコマンドを呼び出すことができます。
とのこと。
1.95b118 が出たんで入れ換え。 b115 からの色使いの変更は慣れるとなかなかよし。 引用の段数で色が変わるのはけっこう便利。 あと、日本語でのPick について最近やっと方法が分かったり。(^^; mew.dot.emacs の最後の方を参考に、mg をpath の通ったところに置き、 ~/.mew に以下を追加することで使用可能に。
; 日本語でPick
; from mew.dot.emacs
(setq mew-prog-grep "mg")
(setq mew-prog-grep-opts '("-j" "jis" "-l" "-e" "-i" "-x" "&mime"))
(mew-el-emacs-1.95b118-1y.i586.rpm)
1.95b115 が出たんで入れ換え。 色使いが変わりました。なんか引用とか'>'の数の違いで色が変わる。 慣れないせいかへんな感じ。 (mew-el-emacs-1.95b115-1y.i586.rpm)
1.95b114 が出たんで入れ換え。 各patch が当たってるそうですが、僕にはうまみが見えてません。(笑) (mew-el-emacs-1.95b114-1y.i586.rpm)
1.95b113(とpatch) が出たんで入れ換え。 (mew-el-emacs-1.95b113-2y.i586.rpm)
1.95b110 が出たんで入れ換え。
もうちょちょいとspec ファイルとMakefile を修正して、diff 取って、
% rpm -ba mew-el-emacs.spec --target=i586
するだけなんで、かんたんす。
1.95b108 が出たんで入れ換え。
1.95b44 以降は、~/.mew の書式が変わったり、
機能的にはレベルダウンしてたり、と仕様の変化が大きかったので
beta の追随はしていませんでしたが、
b105 以降はそうでもなくパッケージの作り直しで済むんで助かります。
RPM パッケージのspec ファイルを一度作ってしまえば、
あとはらくちんちんなので、こういう頻繁に追随する時や、
複数マシンに入れる時なんかはほんと楽ですね。
(mew-el-emacs-1.95b108-1y.rpm)
1.95 のbeta も僕に必要な機能がようやく一通り実装されたようなので
1.95b105 に入れ換えました。
このバージョンでは、mew 単体でPOP/SMTP を喋りますので、
IM から離脱し、~/.im/Config も必要なくなりました。
Mew に必要な設定は以下です。(~/.mew)
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Mew
;; メールリーダー Mew
;; M-x mew で起動します
;; Time-stamp: "2001-02-17 02:29:28 yoshi"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
(global-set-key "\C-x\C-m" 'mew)
(autoload 'mew "mew" nil t)
(autoload 'mew-send "mew" nil t)
(setq mew-fcc "+mine")
(setq mew-demo nil)
; summaryモードの時のカレントディレクトリを~/にする
(setq mew-summary-trace-directory nil)
; headerに自動的に付加する文字列
(setq mew-header-alist
'(("X-pgp-fingerprint:" . " 93 53 59 1E 33 16 B5 C0 04 0D 09 18 76 1A E8 7E 41 AA 18 E8")
("X-gpg-fingerprint:" . "C3BC BB4F 406B 2A7A 333E 9D89 969C 6F55 B1C1 E50E")
("X-URL:" . "http://www.kyo-ko.org/"))
)
(defun insert-my-name ()
(save-excursion
(goto-char (mew-header-end))
(next-line 1)
(insert "あらい、です。\n\n")))
; `mew-draft-mode-hook'
; Draft モードに入るときに評価される。
; `mew-draft-mode-newdraft-hook'
; Draft モードにおいて新しい草稿が用意された際に評価される。
; `mew-draft-mode-reedit-hook'
; Draft モードにおいて古い草稿を再編集した際に評価される。
(add-hook 'mew-draft-mode-newdraft-hook
(lambda ()
(save-excursion
(goto-char (point-max))
(insert-my-name)
)))
(add-hook 'mew-before-cite-hook
(lambda ()
(re-search-forward "あらい、です。\n" nil t)
(next-line 1)
(next-line 1)
))
;; hilit rules
(cond
((and window-system (string< "19" emacs-version))
(setq hilit-mode-enable-list nil
hilit-background-mode 'light
hilit-inhibit-hooks nil
hilit-inhibit-rebinding nil)
(require 'hilit19)
;;
(add-hook 'mew-message-hook
'hilit-rehighlight-buffer-quietly)
(hilit-set-mode-patterns
'(mew-message-mode)
'(("^Subject:.*$" nil msg-subject)
("^From:.*$" nil msg-from)
("^X-.*:.*$" nil msg-quote)
("^>.*$" nil msg-quote)
("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
;;
(add-hook 'mew-draft-mode-hook
'hilit-rehighlight-buffer-quietly)
(hilit-set-mode-patterns
'(mew-draft-mode)
'(("^Subject:.*$" nil msg-subject)
("^From:.*$" nil msg-from)
("^>.*$" nil msg-quote)
("^[A-Za-z][A-Za-z0-9-]+:" nil msg-header)))
)
)
(cond
((string-match "XEmacs" emacs-version)
(add-menu-item '("Apps") "Read Mail (Mew)" 'mew t "Read Mail (VM)...")
(add-menu-item '("Apps") "Send Mail (Mew)" 'mew-send t "Read Mail (VM)...")
(delete-menu-item '("Apps" "Read Mail (VM)..."))
(delete-menu-item '("Apps" "Read Mail (MH)..."))
(delete-menu-item '("Apps" "Send mail..."))
(setq toolbar-mail-reader 'Mew)
(setq toolbar-mail-commands-alist
(cons '(Mew . mew) toolbar-mail-commands-alist))
)
((string< "20" emacs-version)
(setup-japanese-environment)
)
(t ;; Mule 2.3 or Emacs 19
)
)
; +inbox以外も全てハイライト表示されるようにする
; 1.94b2x 以前の場合
;(add-hook 'mew-summary-mode-hook
; (function
; (lambda ()
; (setq mew-highlight-mark-folder-list mew-folder-list)
; )))
; +inbox以外も全てハイライト表示されるようにする
(setq mew-highlight-mark-folder-list t)
; MessageモードとDraftモードで本文に色づけ
(setq mew-use-highlight-body t)
;; citation rules
(setq mew-cite-fields '("Date:" "Subject:" "From:" ))
(setq mew-cite-format ">>>>>>> On %s, Subject: \"%s\"\n>>> %s said:\n>>\n")
;; define prefix-character
(defvar mew-cite-prefix ">>")
;; folder putting rules for mew-19.1 later
(setq mew-refile-ctrl-multi nil) ;候補はひとつだけ提示
; refileするフォルダをFrom:やTo:により指定する
(setq mew-refile-guess-alist
'(("From:"
("hoge@hoge.co.jp" . "+ml/hoge"))
("To:"
("guhe@guhe.org" . "+ml/ylug/guhe")
)
))
(defvar mew-refile-guess-control
'(
mew-refile-guess-by-alist
mew-refile-guess-by-newsgroups
mew-refile-guess-by-folder
mew-refile-ctrl-auto-boundary
mew-refile-guess-by-thread
mew-refile-ctrl-throw
mew-refile-guess-by-from
mew-refile-guess-by-default
)
)
; text/htmlなパートはbroese-urlにて表示する
(setq mew-prog-text/html 'browse-url-of-region)
; urlをクリックした時もブラウザで表示できるように(browse-url)
(setq browse-url-browser-function 'browse-url-netscape)
(add-hook 'mew-message-mode-hook
(function
(lambda ()
(local-set-key [down-mouse-2] 'browse-url-at-mouse)
)))
; 自動PGP (mew-1.94b39 later)
;
; C-cC-m で必ず PGP の署名を施します。
;(setq mew-protect-privacy-always t)
(setq mew-protect-privacy-always-type 'pgp-signature)
; トップレベルが暗号化されたメールへの送信の際は、暗号化するようになります。
;(setq mew-protect-privacy-encrypted t)
;(setq mew-protect-privacy-encrypted-type 'pgp-encryption)
; M-x mew-pgp-select(C-cC-v) で PGP を選択できます (1.94b43 later)
(setq mew-prog-pgp5 "pgp") ; pgp 6.5
;(setq mew-prog-gpg "gpg") ; GnuPG
(setq mew-prog-gpg "gpg-emacs") ; GnuPG + Mew Script
(setq mew-prog-pgp "gpg") ; 起動後のデフォルト
; パスワードキャッシュ機能 (1.94b48, im-119 later)
;Mew ではパスワード・キャッシュ機能を汎用化し、imget と PGP の両方に利
;用できるようにしました。imget 用には case ごとに、PGP は v2/v5/GNUPG
;それぞれに対してパスワードをキャッシュできます。
(setq mew-use-cached-passwd t) ;; imget 用
(setq mew-use-pgp-cached-passphrase t) ;; PGP 用
;パスワードキャッシュを無期限(起動から終了まで)にする。
; from [Mew-dist 14098]
(setq mew-use-timer nil)
; 複数あるシグネチャをきりかえて使う
; c-sigのための設定
(autoload 'add-signature "c-sig" "c-sig" t)
(autoload 'delete-signature "c-sig" "c-sig" t)
(autoload 'insert-signature-eref "c-sig" "c-sig" t) ;; 対話的に選択する.
(autoload 'insert-signature-automatically "c-sig" "c-sig" t) ;; データベースからの検索結果に従って自動的に挿入する.
(autoload 'insert-signature-randomly "c-sig" "c-sig" t) ;; ランダムに挿入する.
; 複数あるシグネチャをきりかえて使う
; Mewでシグネチャを対話的に選択する設定
(add-hook 'mew-draft-mode-hook
(function (lambda ()
(define-key mew-draft-mode-map "\C-c\C-i" 'insert-signature-eref))))
(setq mew-scan-form-list
'(
(("+inbox")
(type (5 date) " " (-4 size) " " (20 from) " " (0 subj)) 39)
(t
(type (5 date) " " (14 from) " " (0 subj)) 28))
)
; 送受信の動作変化 (1.95b later)
; `C' Summary モードにおいて、受信のケースを設定する。
; `C-uC' Summary モードにおいて、送信のケースを設定する。
; `C-cC-o' Draft モードにおいて、その草稿の送信のケースを設定する。
(setq mew-config-alist
'(
("default" ; POP の場合
("pop-user". "yoshi")
("smtp-server" . "your.smtp.server")
("pop-server" . "your.pop.server")
("pop-auth" . pass)
("pop-size" . 0)
("pop-delete" . t)
("name" . "あらいよしのり")
("mail-domain" . "kyo-ko.org")
("msgid-domain" . "kyo-ko.org")
)
("spool" ; ローカルスプールの場合
("mailbox-type" . mbox)
("mbox-command" . "mewinc")
("smtp-server" . "your.smtp.server")
("name" . "あらいよしのり")
("mail-domain" . "kyo-ko.org")
("msgid-domain" . "kyo-ko.org")
)
)
)
;; for debug
;(setq mew-debug t)
;; for profile
; プロファイル開始 M-x elp-instrument-package
; 結果表示 M-x elp-results
(setq elp-sort-by-function 'elp-sort-by-average-time) ; 平均でソート
1.95b105 のRPM パッケージも作成しました。 (mew-el-emacs-1.95b105-1y.i586.rpm)
PGP6.5向けのパッチが出ていましたので1.95b43に当てました。
最新のβは1.95b49ですが、これらはIMを捨ててMew自身がAPOP/POP3を話す
ようになりたてで、まだ僕に必要な機能がいくつか落ちてるので
インストールしていません。
1.95b43にパッチを当てたRPMパッケージを作りました。
(mew-el-emacs-1.95b43-3k.i386.rpm)
これがなくちゃ始まらない。:)
Vine でRPM パッケージを自作していたので、Kondara に入っている
古いMewを消して、自作のものを入れました。
# rpm -e mew-common mew-el-emacs mew-el-xemacs
# rpm -ivh mew-el-emacs-1.95b39-2k.i386.rpm
あとは、忘れずに/usr/info/dir に以下のMew のエントリーを追加します。
--- MUA
* Mew: (mew.info). Messaging in the Emacs World
* Mew-J: (mew.jis.info). Messaging in the Emacs World
これもIM-141 の自作RPM パッケージを入れました。 と、言いたいところですが、perl のバージョンの絡みかなのか うまく動かなかったので、Kondara に入ってるままのIM-140 を使っています。
これも使うように.emacs.mew に書いてあるので入れないとなりません。:) メールのsignature を切替えるelisp で、 Official Site は、 c-sig のホームページ です。設定はVine のところ を見てもらうとして、今回はコピーしただけでした。
# cd /usr/share/emacs/site-lisp
# cp -pi /vine/usr/share/emacs/site-lisp/c-sig.el .
Emacs でhtml を手で書いてる僕としてはこれも必須です。 これもコピーするだけでした。
# cd /usr/share/emacs/site-lisp
# cp -pi /vine/usr/share/emacs/site-lisp/html-helper-mode.el .
# cp -pi /vine/usr/share/emacs/site-lisp/html-font.el .
これもRPM パッケージ作りたいところですが、
今回はとりあえず手でインストールしました。
ftp://ftp.jaist.ac.jp/pub/GNU/
からelib-1.0.tar.gzを手に入れて、
% tar xvfz elib-1.0.tar.gz
% cd elib-1.0
% vi Makefile prefix = /usr と修正
% make
% su
# make install
次はpcl-cvs本体で、 ftp://rum.cs.yale.edu/pub/monnier/pcl-cvs/ から、pcl-cvs-2.9.9.tar.gz を手に入れて、
% tar xvfz pcl-cvs-2.9.5.tar.gz
% cd pcl-cvs-2.9.5
% vi Makefile prefix = /usr と修正
% make
% su
# make install
それからinfo の追加です。pcl-cvs のinfo は既に入っていましたが、 elib のものはなかったので、以下を/usr/info/dir に追加しました。
--- misc
* elib:(elib.info). Elib
次にdiff-modeがオプションパッケージに変わっているので、 ftp://rum.cs.yale.edu/pub/monnier/misc/ から、diff-mode.el を入手して、/usr/share/emacs/site-lisp/pcl-cvs/ にコピーしました。 あと、~/.emacs も修正しました。Vine では平気だったのですが、
(require 'pcl-cvs-hooks)
の行がエラーを出すようになってしまったので
;(require 'pcl-cvs-hooks)
とコメントアウトしました。これで何事もなくpcl-cvs が使えています。 ちなみに~/.emacs のpcl-cvs 関連のエントリは以下です。
;;
;; for cvs (pcl-cvs)
;;
;; メールアドレスを設定する。
(setq user-mail-address "yoshi@pisces.bekkoame.ne.jp")
;; ChangeLog の日付のフォーマットを変更する。
;; Webmasters の仕事の時はコメントを外す。
;(setq add-log-time-format 'current-time-string)
;;;
;;; sample autoload entries for your site-lisp/site-start.el file
;;;
;; don't forget to add the directory to your load-path
(setq load-path (cons "@elcdir@" load-path))
;; make sure the mode is loaded when necessary
(autoload 'cvs-update "pcl-cvs" "autoloaded pcl-cvs command" t)
(autoload 'cvs-examine "pcl-cvs" "autoloaded pcl-cvs command" t)
(autoload 'cvs-status "pcl-cvs" "autoloaded pcl-cvs command" t)
(autoload 'cvs-checkout "pcl-cvs" "autoloaded pcl-cvs command" t)
(autoload 'diff-mode "diff-mode" "autoloaded diff-mode command" t)
;; put this also if you feel like it
(setq completion-ignored-extensions (cons "CVS/" completion-ignored-extensions))
;; This works on Emacs-20.3 (and higher)
(condition-case nil
(progn
(require 'easymenu)
(easy-menu-add-item
nil '("tools")
'("PCL CVS"
["Update Directory" cvs-update t]
["Examine Directory" cvs-examine t]
["Status Directory" cvs-status t]
["Checkout Module" cvs-checkout t]) "vc"))
(error))
CVSリポジトリから取ってきたLiece はたまに刺さるので Kondara-Zoo-1.2 にある1.4.0に戻すことにしました。 mphも設定したのでインストールも簡単です。 ただ、自作のパッケージの方がバージョンが新しいので、 一応、手で削除してからやりました。
% sudo rpm -e liece
% sudo mph-get liece-emacs
これでOKです。楽勝ですね。 ちょうど、glibc が9/2にbugfixされてたようで、 glibcなんかも一緒にインストールされました。 あとついでにLieceの設定ファイルを少し変更しました。 いつからか忘れましたが、DCCコマンドが、/usr/bin/dcc から /usr/bin/ldcc に変っているので、~/.liece/init.el のdccコマンドを設定している部分を
;; DCC external programs.
;; When this is not specified, we search `dcc' executable in exec-path.
(setq liece-dcc-program
(expand-file-name "/usr/bin/ldcc"))
と修正し、来るバージョン1.4.4 のために、
;; liece-1.4.4 later
;未読チャンネルの横にその状態を表すアイコンを表示します。
;xpm 付きでコンパイルされた XEmacs だったら、
;「吹き出し」マークの xpm 画像ファイルが表示されます。
;それ以外の環境の場合は「!」の文字を表示します。
;この文字は liece-emacs-unread-character の変数で変更可能ですが、
;一文字以上は設定しないで下さい。対応は簡単ですけど。
(setq liece-display-unread-mark t)
と追加しました。
Vine でRPM パッケージを自作していたので、自作のものを入れました。
# rpm -ivh liece-1.4.3-2k.i386.rpm
あとは、/usr/info/dir に以下のLiece のエントリーを追加します。
--- IRC Client
* Liece: (liece-ja.info). Liece
CVS はフルインストールすればインストールされていますが、 info は英語なので、 GNUjdoc のCVSリポジトリから持ってきた日本語info を入れることにしました。 まず、入手したcvs-ja.texinfo をinfoファイルに変換します。
% makeinfo cvs-ja.texinfo
これでできた cvs-ja.info* を/usr/local/info/ にコピーすればOKです。 次に、/usr/local/info/dir を作ります。内容は以下です。
-*- Text -*- This is the file .../info/dir, which contains the topmost node of the Info hierarchy. The first time you invoke Info you start off looking at that node, which is (dir)Top. File: dir Node: Top This is the top of the INFO tree This (the Directory node) gives a menu of major topics. Typing "d" returns here, "q" exits, "?" lists all INFO commands, "h" gives a primer for first-timers, "mEmacs" visits the Emacs topic, etc. In Emacs, you can click mouse button 2 on a menu item or cross reference to select it. --- PLEASE ADD DOCUMENTATION TO THIS TREE. (See INFO topic first.) --- * Menu: The list of major topics begins on the next line. -- * cvs-ja: (cvs-ja). cvs ja --
これでcvs の日本語infoを見ることができました。
Kondara に入っているRPM はrpm 3.0.4 と、Vineの時より新しいのですが、 RPM パッケージを自分のディレクトリで作る際に エラーが出てRPM パッケージが作れませんでした。 なので、Vine の時の.rpmrc は捨てて、
% cat ~/.rpmmacros
%_topdir /home/yoshi/rpms
といったファイルを新たに作りました。
auto mount の設定を僕好みに変えました。以下のように /etc/auto.master を修正。/etc/auto.mnt を作成します。
% cat /etc/auto.master
# $Id: memo1.html,v 1.37 2002/12/31 16:04:40 yoshi Exp $
# Sample auto.master file
# Format of this file:
# mountpoint map options
# For details of the format look at autofs(8).
/misc /etc/auto.misc --timeout 60
/mnt /etc/auto.mnt --timeout 60
% cat /etc/auto.mnt
# $Id: memo1.html,v 1.37 2002/12/31 16:04:40 yoshi Exp $
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage
win98 -fstype=vfat,rw,gid=100,umask=002 :/dev/hda1
hdb1 -fstype=ext2,rw,user,exec,dev,suid :/dev/hdb1
cdrom -fstype=iso9660,ro :/dev/hdd
cdrom2 -fstype=iso9660,ro :/dev/sr0
vine -fstype=ext2,rw,user,exec,dev,suid :/dev/hda5
floppy -fstype=vfat :/dev/fd0
# /etc/rc.d/init.d/autofs restart
で再起動して有効にしました。
MewがPGP6.5に対応したので、
PGP本体もバージョンアップしました。
(仮)日本の公式PGPホームページ
からたどって、pgpcmdln-lnx-6.5.1-free.rpm を手に入れました。
PGPもRPMパッケージになっていて楽ちんの極みです。
一応、PGP5.0iは念のために残しておいて6.5.1iをインストールしました。
6.5.1iは/usr/bin/pgp として入ります。
# cd /usr/local/bin
# mv pgp pgp.5.0i
# rpm -ivh pgpcmdln-lnx-6.5.1-free.rpm
キーリングも5.0iのものがそのまま使えます。 ただ、自分の鍵ペアはDSSで新たに作りました。暗号鍵はもちろん3072bit。:)
Kondara には入っていませんでした。(?_
ソースツリーをVine のパーティションからコピーして、
% cd pgp50i/src
% configure
% make
% su
# make install
/home は以前のものをコピーしたので、~/.pgp も同様です。
% pgpk -l
しても今までのキーリングが正しく見えましたし、
Mew からのencode/decode もちゃんと動きました。
これも自作RPM パッケージがあったので、単純にそれを入れました。