GNU Screenを自分好みにカスタマイズ

文:Vincent Danen(TechRepublic) 翻訳校正:村上雅章・野崎裕子
2007-12-19 08:00:00
  • このエントリーをはてなブックマークに追加
最新特集【一覧】

 GNU Screen(以下Screen)は、1つのターミナル内から複数のターミナルを利用できるようにする、ターミナル用の素晴らしい「ウィンドウマネージャ」である。見た目に関して言えば、Screenは複数のターミナルウィンドウを1つに統合することができる。しかしそれだけではなく、Screenの下で実行していることを他のユーザーと共有することもできる。また、自宅でScreenセッションを開始した後に職場からそのマシンにsshでアクセスすることで、遠隔地から該当Screenセッションを引き続き使用することもできる。

 Screenは数多くのオプションや機能を提供しており、そういったものの多くはコンフィギュレーションファイルを用いてカスタマイズすることが可能である。デフォルトのコンフィギュレーションファイルは~/.screenrcだが、別のコンフィギュレーションファイルを指定することもできる。

 電子メールソフトとしてMuttを、IRCソフトとしてIrssiを用いるケースを考えてみよう。これらはともにテキストモードのクライアントであるため、Screenの下で実行するプログラムとしては理想的である。Screenのデフォルトの振る舞いを変えることなく、双方のクライアントを自動的に起動するよう設定することはとても簡単だ。

 これにはまず、以下の内容のシェルスクリプトを作成し、~/bin/start-screensというファイル名で保存する。

#!/bin/sh
/usr/bin/screen -O -S screens -c ~/.screenrc-startscreens

 次に、以下の内容のファイルを~/.screenrc-startscreensという名前で作成する。

startup_message off
chdir
autodetach on
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]'

screen -t shell0 0
screen -t irssi 1 /usr/bin/irssi
screen -t mutt 2 /usr/bin/mutt

 このコンフィギュレーションファイルの指定("screen -t"で開始されている3行)によって3つのScreenウィンドウが開始される。すなわち、標準のシェルウィンドウ、Irssi用のウィンドウ、Mutt用のウィンドウの3つである。そして、上記ファイルにおけるその他の指定は、Screenの振る舞いを制御するものである。ここでは、hardstatus行を常に表示し、オープンしているウィンドウの名前、ホスト名、現在の日付/時刻を表示するよう指定している。

  • 新着記事
  • 特集
  • ブログ