rxvt-unicodeの覚え書き(概要とconfigureオプション、256色対応など)
以前は端末エミュレータにmltermを使用していたが、端末の256色拡張の色を使い始めたときから、「mltermの256色モードを有効にするebuildと不具合について」で書いたように、mltermでは256色パッチを当てても太字の表示時に色が変になるために使えなくなってしまった。その後しばらくはXfce4のTerminalという端末エミュレータを使用していたのだが、GNOME端末と同じVTEという端末ウィジェット(GUI上の部品)を使用している関係か、動作が重くなってしまった。*1
その後調べている内に、256色表示とXのビットマップフォント(PCF形式)が使用でき、UTF-8環境で正常に使用できる軽量な端末の1つとしてrxvt-unicodeを見付けた。
Terminalなどの端末のメリットとして感じたのはコピペがやりやすいことだが、ドラッグ操作で選択される範囲(PRIMARY)をマウス中クリックで貼り付けすることはrxvt-unicodeやmltermでも可能で、できないわけではない。
256色対応について
そのままビルドしても256色にはならないが、ソースツリーに含まれるdoc/urxvt-8.2-256color.patchというパッチを適用後autogen.shを実行し、configureスクリプトに--enable-xterm-colors=256オプションを付け加えると、256色表示が可能となる。更に、--with-term=rxvt-256colorを付けると端末の種類(環境変数TERMに入る文字列)を別途設定する必要がなくなる。
configureオプション
rxvt-unicodeについて調べていると、ソースを入手して自前でビルドしている例が多い。この端末は色々な機能を持ちながら、軽量化などの目的で切ってしまうようにconfigureスクリプトで設定できるためなのかもしれない。
Mandriva Linux 2009.0ではパッケージが用意されているものの、自分にとって不要な幾つかの機能が有効にされているため、それらを切ってRPMパッケージを作成することにした。
Mandriva Linux 2009.0のソースRPMに含まれる.specファイル(バージョン9.05-1mdv2009.0)のオプションをもとに、Xft,Perl関係とfading,frillsを外し、コードセットは「jp」「jp_ext」のみにした。更に、認識されない幾つかのオプション指定も外した。
--- rxvt-unicode-9.05-1mdv2009.0.orig/SPECS/rxvt-unicode.spec +++ rxvt-unicode-9.05-1mdv2009.0/SPECS/rxvt-unicode.spec @@ -9,7 +9,7 @@ Source1: %{name}.desktop BuildRequires: X11-devel #BuildRequires: utempter-devel -BuildRequires: perl-devel +#BuildRequires: perl-devel Buildroot: %{_tmppath}/%{name}-%{version}-buildroot %description @@ -20,25 +20,22 @@ %prep %setup -q +%{__patch} -p1 < doc/urxvt-8.2-256color.patch %build ./autogen.sh %configure2_5x \ - --with-xpm \ --enable-unicode3 \ --enable-combining \ - --enable-xft \ + --disable-xft \ --enable-font-styles \ - --enable-xpm-background \ --enable-transparency \ - --enable-tinting \ - --enable-fading \ + --disable-fading \ --enable-rxvt-scroll \ --disable-next-scroll \ --disable-xterm-scroll \ - --enable-perl \ - --disable-plain-scroll \ + --disable-perl \ --enable-xim \ --enable-backspace-key \ --enable-delete-key \ @@ -46,7 +43,7 @@ --disable-8bitctrls \ --enable-swapscreen \ --enable-iso14755 \ - --enable-frills \ + --disable-frills \ --enable-keepscrolling \ --enable-selectionscrolling \ --enable-mousewheel \ @@ -56,7 +53,10 @@ --enable-pointer-blank \ --disable-utmp \ --disable-wtmp \ - --disable-lastlog + --disable-lastlog \ + --with-codesets=jp,jp_ext \ + --enable-xterm-colors=256 \ + --with-term=rxvt-256color %make @@ -82,7 +82,7 @@ %files %defattr(-,root,root) %{_bindir}/urxvt* -%{_libdir}/urxvt +#%{_libdir}/urxvt %{_datadir}/applications/*.desktop %{_mandir}/man*/*
上記修正を行って作成したRPMパッケージとソースRPMは別館の配布ページに公開した。
下は、ソースツリーを展開し、ディレクトリに入ってからの作業を自動化するスクリプトの形。
#! /bin/sh patch -p1 < doc/urxvt-8.2-256color.patch ./autogen.sh ./configure \ --enable-unicode3 \ --enable-combining \ --disable-xft \ --enable-font-styles \ --enable-transparency \ --disable-fading \ --enable-rxvt-scroll \ --disable-next-scroll \ --disable-xterm-scroll \ --disable-perl \ --enable-xim \ --enable-backspace-key \ --enable-delete-key \ --enable-resources \ --disable-8bitctrls \ --enable-swapscreen \ --enable-iso14755 \ --disable-frills \ --enable-keepscrolling \ --enable-selectionscrolling \ --enable-mousewheel \ --enable-slipwheeling \ --enable-smart-resize \ --enable-text-blink \ --enable-pointer-blank \ --disable-utmp \ --disable-wtmp \ --disable-lastlog \ --with-codesets=jp,jp_ext \ --enable-xterm-colors=256 \ --with-term=rxvt-256color make sudo make install
マウスを滅多に使用しない使い方をする場合は、更にマウス関連のオプションが外せるかもしれない。他にも削ろうと思えば削れるものがあるかもしれないが、今回はこの状態にしておく。
Debianではオプションの付け具合を数段階に分けて、幾つかのパッケージに分けているようだ。以下、Debian向けパッチ(rxvt-unicode_9.05-1+lenny1.diff.gz)からの引用。
(共通オプション) --enable-plain-scroll \ --enable-keepscrolling \ --enable-selectionscrolling \ --enable-pointer-blank \ --enable-utmp \ --enable-wtmp \ --enable-lastlog \ --with-term=rxvt-unicode \ (lite版に追加されるオプション) --disable-xft \ --disable-perl \ --disable-iso14755 (標準版に追加されるオプション) --enable-xft \ --enable-font-styles \ --enable-afterimage \ --enable-transparency \ --enable-fading \ --enable-rxvt-scroll \ --enable-next-scroll \ --enable-xterm-scroll \ --enable-perl \ --enable-mousewheel \ --enable-slipwheeling \ --enable-smart-resize \ --disable-iso14755 (ml版に追加されるオプション) --enable-unicode3 \ --enable-combining \ --enable-xft \ --enable-font-styles \ --enable-afterimage \ --enable-transparency \ --enable-fading \ --enable-rxvt-scroll \ --enable-next-scroll \ --enable-xterm-scroll \ --enable-perl \ --enable-xim \ --enable-iso14755 \ --enable-frills \ --enable-mousewheel \ --enable-slipwheeling \ --enable-smart-resize
--enable-iso14755というのがあるが、これを有効にするとCtrl+Shiftを押しながらUnicodeのコードを入力する形のモードが使えるようになり
8 a 6 6 | 9 a 1 3 | 9 0 4 b | 7 5 2 8 | 4 e 2 d | 3 0 6 a | 4 c | 6 9 | 6 e | 7 5 | 7 8 | 5 0 9 9 | 5 f d 8 | 9 3 3 2
上に書いた「|」で区切ったまとまりをそれぞれ入力してキーを離す作業を繰り返すと
試験運用中なLinux備忘録
となる。この形式の入力モードが不要なら、このオプションは切ってもOK。
関連記事:
- mlterm,Emacsと外部アプリケーション間のコピー/貼り付けについて - rxvt-unicodeにおけるコピペはmltermと同様
- GNU screenについて
- mltermの256色モードを有効にするebuildと不具合について
- 端末の256色拡張の覚え書き
- 端末の256色拡張の色(パレット)について
- 256colorlib.shをスクリプトから生成して動作を高速化・更にzshのプロンプトの色変更にも使用できるようにする
- lsコマンドのカラー出力で256色拡張の色を使用する
- rxvt-unicodeの覚え書き(幾つかの設定と半角カナの文字化けについて)
- rxvt-unicodeのデーモンモードについて
使用したバージョン:
- rxvt-unicode 9.05 (9.05-1mdv2009.0)
- mlterm 2.9.4 (2.9.4-3mdv2009.0)
- LXTerminal 0.1.3 (0.1.3-1mdv2009.0)
- Terminal 0.2.8 (0.2.8-5mdv2009.0)