Gマイナー志向

とくに意味はありません

ターミナルマルチプレクサ Advent Calendar始めました&インストール

これはターミナルマルチプレクサ Advent Calendarの1日目です。

ターミナルマルチプレクサとは何か

ターミナルマルチプレクサとは、誤解を恐れずに言えばCUI版ウィンドウマネージャのようなものです。
1つのターミナル上に仮想のターミナルを複数表示したり、複数の端末から1つのターミナルを共有することができます。
具体的なソフトウェアとしてはGNU Screentmuxなどが該当します。

詳しくはググってください。

スクリーンショット

こちらはtmuxのスクリーンショットです。

画面いっぱいに1つのX端末を開いているのですが、tmuxの機能で画面を3分割しています。
左側に表示されているのはCUIベースのIRCクライアント(weechat)、右上はtmuxのmanページ、右下は通常のターミナルです。
一番下に緑色で表示されている部分はtmuxのステータスバーです。開いているウィンドウの情報や現在時刻などが表示されています。ここも自由にカスタマイズが可能です。

とりあえず1日目なので

1日目なので、GNU Screenとtmuxのインストール方法を紹介します。

Windowsにおけるscreen/tmuxのインストール

screenはCygwinの標準パッケージに含まれているので、Cygwinからインストールするのがオススメです。残念ながらGnu On Windowsには2011/12/01時点では含まれておりません。

tmuxについては、今回これを書くためにどうにか動かせないか試行錯誤してみましたが、残念ながら動作させられるところまで到達できませんでした。噂によると現時点ではCygwin環境でtmuxは動作させられないらしいです。

OS Xにおけるscreen/tmuxのインストール

screenは最近のOS Xであれば標準でインストールされているはずです。

tmuxは標準では用意されていませんが、インストールは簡単です。Xcodeをインストールした上で、libeventとtmuxをインストールするだけです。
ここでは2011/12/01時点で最新のlibevent-2.0.16とtmux-1.5でのインストール手順を紹介します。

$ tar zxf libevent-2.0.16-stable.tar.gz
$ cd libevent-2.0.16
$ ./configure
$ make
$ sudo make install

$ tar zxf tmux-1.5.tar.gz
$ ./configure
$ vi Makefile (LIBS = -lcurses -leventと書かれているところに-lresolvを追加)
-LIBS = -lcurses -levent
+LIBS = -lcurses -levent -lresolv
$ make
$ sudo make install

もしくは、MacPortsGentoo Prefixでインストールしてもいいでしょう。

Unix/Linuxにおけるscreen/tmuxのインストール

Unix/Linuxにおいては、大抵バイナリパッケージが用意されています。特に困ることもないでしょう。

OS screen tmux 備考
Debian/Ubuntu
Fedora tmuxはFedora 12以降
Gentoo
RHEL/CentOS/ tmuxはEPELリポジトリに存在(5以降)
SUSE
FreeBSD

まとめ

screenおよびtmuxのインストール方法について紹介しました。
今後、ターミナルマルチプレクサに関するあまり知られていない機能やテクニックについて紹介していくことになるはずです。きっと、おそらく、Maybe。