Contents
はじめに
こんにちは、野村です。
今回紹介するのは、「gnu screen」という端末多重ソフトです。
あえて簡単に説明するならば、端末をタブ化させるものです。
Webブラウザで考えてみると想像しやすいかも知れません。
表示するページごとにWebブラウザを起動させることはあまりないですよね。
同じように、接続する数だけ端末を起動すると画面が散らかってしまいます。
「端末自体にタブ機能があるから必要ない」という人もいるかも知れないけど、僕の場合、仮想コンソールで作業することも多かったので習得は必須でした。
tmuxとの比較
「gnu screen」と競合するソフトウェアに「tmux」というものがあります。
tmuxは、はっきりいって gnu screen よりも多機能です。
でも、tmux上でw3mを使うと、gnu screenと比較してレイアウトが崩れやすいのですよ。
また、ショートカットキーにクセがある気がして(プレフィックスキーを押したあと、Ctrlキーを押したまま次のキーを押しても無効になる)、僕はあまりtmuxを利用していません。
↓tmuxでは、よく見ると余計な文字が表示されていたり、行頭の位置がズレていたりする。
インストール
管理ユーザになって以下のコマンドを実行します(debian系の場合)。
# apt install screen
設定
~/.screenrc
ホームデレクトリの中に「.screenrc」というファイルを作成し、以下のように書き込みます。
vbell off defkanji utf-8 defencoding utf-8 encoding utf-8 utf-8 cjkwidth on escape ^]v hardstatus on hardstatus alwayslastline "screen | %w | %u %= %m/%d %D %c" defmonitor off activity off maptimeout 0
[7行目] デフォルトのプレフィックス・キーは、「Ctrl+a」ですが、僕は「Ctrl+]」に設定しています。
~/.bashrc
ホームデレクトリ上の「.bashrc」に以下の一行を追記します。
alias screen='screen -U -q'
使い方
起動
起動するときのコマンドは、「screen」です。
$ screen
端末の接続が切れた場合や、gnu screenが異常終了した場合は、オプション「-r」をつけて再度起動すると、セッションが復帰する場合があります。
$ screen -r
ショートカットキー
デフォルトのプレフィックス・キーは「Ctrl+a」になります。
ウィンドウ関連
・プレフィックス+c:ウィンドウを追加
・プレフィックス+p:ウィンドウを移動(次)
・プレフィックス+n:ウィンドウを移動(前)
・プレフィックス+プレフィックス:ウィンドウを移動(以前)
(Ctrl+dでシェルを終了させることでウィンドウも閉ざすことができます)
画面分割関連
・プレフィックス+|:左右分割
・プレフィックス+S:上下分割
・プレフィックス+Tab:画面を移動
・プレフィックス+X:画面を閉じる
(分割によって新規作成された領域には、何も表示されていません。その領域に移動し、「プレフィックス+c」を押してウィンドウを追加する必要があります)
最後に
今回は、端末多重ソフト「gnu screen」を紹介しました。
実はこの gnu screen、どういうわけか、現状の Bash on Ubuntu on Windows では、使えないのですよ。
なので、使えるようにする方法を以下の記事に書いておきました。
というわけで、今回はこれにて。