screenの設定

sshでログインしていろいろ作業をするときにscreenは大変便利です。ひとつの端末の中で複数の端末を切り替えて利用可能です。CLIのマルチウインドウです。詳しくは検索するといろいろ説明があると思います。screenだと一般名詞すぎて検索に引っかからない場合はGNU screenと検索してください。

設定はホームディレクトリの.screenrcに記述します。基本的には初期設定のままでも全然便利に利用できますが、screenの制御コマンドの入力に試用するエスケープキーの設定だけは変更したほうが便利だと思います。デフォルトはCtrl-aです。Ctrl-aを押してから他のキーを押すことでscreenの操作を行います。例えばウインドウの切り替えはCtrl-a Ctrl-a、ウインドウい一覧はCtrl-a wと入力します。

単にCtrl-aを入力したいときはCtrl-a aで入力できますが、Ctrl-aはシェルやemacsで行頭にカーソルを移動するときにわりと頻繁に使用するので、これは結構不便です。そこでお勧めのエスケープキー設定はCtrl-zです。Ctrl-zは通常サスペンドに使用しますが、screenを使って複数ウインドウを切り替えて作業するとサスペンドの使用頻度は低いので、ちょうどよい設定だと思います。

設定ファイル.screenrcでは以下のように設定を記述します。

設定ファイルを作成せずに一時的に使用したい場合は、コマンドラインから以下のようにオプションを指定してscreenを起動することも可能です。

あと、TeraTermなどからログインしてscreenを起動したときに、ウインドウのサイズを勝手に変更されてしまう場合があります。自動で変更されるのを防ぐには以下のような設定を行うようです。

まず、自分がログインしたときの環境変数TERMの値を確認します。printenv TERMなどで確認できます。例えばxtermだったとすると以下のようにxtermのときのtermcapinfoを設定ファイル.screenrcに記述します。

これで勝手にウインドウサイズが変更されないはずです。