最近、手元の
Sony Vaio PCG-SR9C/K
+ Debian sid kernel-2.4.17 なマシンで、
1024x768 なモードで Fremebuffer を利用し jfbterm を起動、その中で Emacs21
を立ち上げると、コンソール上でも、メールを読み書きしたり、
普段のちょっとした作業をするのには、十分すぎる環境が出来ることがわかり、一人喜んでいます。^^;
通常のコンソール(Framebuffer でない)では、画面に表示出来る文字数、行数、列数、フォントの問題、等から、
ちょっとした入力も、あまり気の乗らない作業になりがち(*1)ですが、
1024x768 なコンソール上の、jfbterm + Emacs21 ではそうではありませんでした。
まず、この PC (Vaio PCG-SR9C/K)の Video Card は Savage/IX というものですが、
Framebuffer を利用するために、Kernel の を再構築しています。
configure の時に関連しそうなオプションは、このページの
下 に付けておきます。
無事カーネルの再構築が終れば、LILO で起動している場合は、
/etc/lilo.conf に video mode を記述するのですが、lilo.conf に
書いてしまう前に、boot: プロンプトにオプションを渡してみて、う
まく行くかどうか確かめるのが良いでしょう。
mode はいくつかあるのですが、私の場合、最初は、"ちょっと字が小さいな" とも思ったのですが、
いろいろと試してみて、やはり 1024x768 が一番使い良さそうだったので、lilo.conf には、
の 32bpp(16M)な vga=792 と書いています。
(cf. man lilo.conf and links)
おなじ 1024x768 で、8bpp (256色) の
vga=773 や
16bpp(64k 色) の 791 も試したのですが、
791 と、792 では、私の環境では、さほど差は無いようでした。もし、出せるのなら、
773 よりは 791 の方が、さらに 792 の方が、もっと使い易いだろうと思います。
(漢字変換時の文節 region の色が多少判り易くでるような気が、、気のせい??)
jfbterm は、お世辞にも "早い" とは言えないので、最終的にどのモードで使うかは、
ご利用のマシンの CPU や memory とか、video カードの能力とかとの兼ね合いでしょう。
jfbterm と Emacs21、Wanderlust は、お使いのディストリビューションのパッケージがあれば、
それをご利用になるのが良いでしょう。
もしそれらが無い、あるいは、最新版を使いたい、というような場合は、ディストリビューションの
ソースパッケージを探し、リビルドするか、それも無ければ、tar.gz なソースアーカイブを頂いて来て、
展開、コンパイルする等になるでしょう。
パッケージ附属のドキュメント読みが一仕事ですよね。私の場合、これやっとかないと(やっといても)
どうせはまるし、、^^;
今まで、コンンソール上の emacsen で、あまりきれいだと思った事はなかったのですが、Emacs21 だと、
結構きれいです。
という事で、Wanderlust + Emacs21 on jfbterm の画像です。^^;
jfbterm 上の emacsen で、User-Agent の Flim のエージェント名 (Unebigoryòmae) の ò が、表示出来ず、しばらく悩んだのですが、 emacs21.2 あたりの途中まで(?)なら .emacs で、(<-- obsolate --)
(cond ((>= emacs-major-version 21) (if (not (string-match "jfbterm" (getenv "TERM"))) (set-terminal-coding-system 'euc-japan-unix) (set-terminal-coding-system 'compound-text-unix) [...] ))
(-- obsolate -->)
とかしておくと、ちゃんと表示されます。(情報によると emacs 20 でも使えるようです)
emacs 21.2 以降(どのあたりからかは良く分かりません _o_), 少な くとも現在手元にある Emacs 21.3 + jfbterm 0.4.6 では、これではだめで、 iso-2022-jp-2-unix などにしておく方が良いようです。
(cond ((>= emacs-major-version 21) (if (not (or (string-match "jfbterm" (getenv "TERM")) (string-match "screen" (getenv "TERM")))) (set-terminal-coding-system 'euc-japan-unix) ; (set-terminal-coding-system 'compound-text-unix)) (set-terminal-coding-system 'iso-2022-jp-2-unix)) (blink-cursor-mode nil) (define-key global-map [home] 'begining-of-buffer) (define-key global-map [end] 'end-of-buffer)) (set-language-environment "Japanese") (set-default-coding-systems 'iso-2022-jp-2-unix) ; (set-default-coding-systems 'euc-japan-unix) ; (prefer-coding-system 'iso-2022-jp-unix) (set-buffer-file-coding-system 'iso-2022-jp-2-unix) ; (set-buffer-file-coding-system 'euc-japan-unix) (set-buffer-process-coding-system 'euc-japan-unix) ; (set-buffer-process-coding-system 'iso-2022-jp-2-unix) (set-keyboard-coding-system 'euc-japan-unix) )と、軒並 iso-2022-jp-2 にしてますが、日本語ファイル名も読めま すし、問題はないようです。
ただ、この書き方だと、Xのターミナル上でスクリーンを動かし、 その上で Emacs を走らせた場合を考慮してませんので、 その場合にはまずいかも知れません。(_o_)
手元の XEmacs21.4.6 だと、compound-text-unix でなく、
ctext-unix と指定するようですが、現在 XEmacs21.4.15 ではなんか
ctext にしないでも表示できるようですねぇ...
jfbterm 以外の場合、例えば、X 上で、krxvt 等(?)から emacs -nw した時、kon 上、
あるいは素のコンソール上等の場合に、(set-terminal-coding-system 'compound-text-unix) だと、
悲惨な状況 (*2) になりますが、上の設定で、ほぼ逃げられると思います。
なんかの拍子に、compound-text-unix な環境から抜けたいような時は、
C-x RET t して、terminal-coding-system を
euc-japan-unix 等にしてやると、 User-Agent
の アクサン文字が " ? "で置き換えられる程度で、問題なく使えます。
普段、linux のコンソール上で作業していて、日本語も、アクサン付き文字も両方、
multilingual な環境で使いたいような環境の方には、
現状、jfbterm + Emacs21 が、ベストの環境なのではないかと思います。
ちなみに、アクサン文字 (accentuated text)を入力したい時には、
set-input-method (C-x C-m C-\)で、切替えられます。mini-buffer に入力を促されても、
何を書いて良いか良く判らない時は、SPACE か TAB で補完されますので、
日本語を選択したい場合は、japanese[space]、フランス語の場合は、french[space] で一覧が出ます。
なにも書かずにただ SPACE か TAB を押すと、leim/quail で使えるのが全部出てきます。^^;
html を編集する時もこんなにカラフル。^^;
見辛いと思いますが、上の画像の左上は w3m で、書いている html
をブラウズして、右上は、M-x eshell しています。下半分が、html
モードで、"これ"を編集している所です。
画面は、C-x 2 で上下に分割し、C-x 3 で左右に分割しています。各画面へは、C-x o で移動しています。
jfbterm 上で、debconf とかのダイアログが出ると、一部文字が化ける(罫線フォント?)事があるようですが、
操作出来無いとか読めないで困るような事態には、幸いな事に、まだ遭遇していません。^^;
(罫線については私の設定の問題かもしれません)
また、いたずら心から、M-x eshell した中で、
さらに xemacs を起動させてみようと試しましたが、
変な文字が沢山流れて、さすがに駄目でした。^^;
そういう用途(どういう用途??)だと、Emacs を
"C-x C-z" でバックグラウンドに
回し、fg [RET] で再開とか、
screen
を使ういうのが、多分正解(?)ではないのかな、と思います。
この文書を書いている環境は次のようです。
ブート時のコンソールに、"ペンギン" が見えてないとか文字が小さくないといった場合は、 多分、カーネルの再構築、が必要です。 (最近のディストリビューションで、かつ、お使いの Video-card が対応している物だと、 ブートオプションを渡す程度でデフォルトでこれが使えるかもしれません。)
/usr/src/kernek-source-2.4.17/Documentation/fb 以下に、ドキュメントがありますので、良く読みましょう。 (ソースのパスは、展開された所に適当に読み換えてください)
また、お使いのヴィデオカードによっては、vesa 以外のドライヴァーを使う必要があるものも、 ここにドキュメントがありますので、しっかり読んでから、カーネル再構築に取り組んでください。
カーネルの再構築についての詳しい情報は、 JF のドキュメンントや、 お使いのディストリビューションのドキュメント、ローカルにインストールされている附属のドキュメント (/usr/share/doc/ 等)を参照して下さい。
カーネルのヴァージョンが違えば、上記は、全く通用しなくなる事も有り得ます。 そのカーネルソースに付属のドキュメント(本当はソースを読むらしい)が、 最も詳しい資料となる事も多いでしょう。
また、ここに嘘は書いていないつもりですが、私はそう詳しいわけではありませので、 間違えている、誤解している、といった可能性は否定出来ません(十分あり得ます ^^;)。 また、情報が古くなり、結果、正しくなくなる事も、十分あり得ますので、一切責任は負えません。 もし、これを読んでトライされる場合は、書籍、MLの過去ログ、 検索エンジン、パッケージに附属の ドキュメント等を駆使して、他のリソースを御自身で十分に調べた上、自己責任でお願いいたします。
kernel-2.4.17 では、pcmcia-cs も主要な物は取り込まれているようで、ノートなマシンであっても、 別途 pcmcia-cs のソースを用意する必要は必ずしも必要という訳ではないようです。 最初、知らずに pcmcia-cs のソースを展開していて、"あれ、、"って思いました。^^; 音を alsa で鳴らすなら、alsa-source-* 等はまだ必要な様です。
もし、この文書の中で、間違った記述を発見された方は、ご指摘頂ければ助かります。_o_