目次

OpenDocument 形式でページを出力する 印刷用ページ

screenの使い方

screenとは

screenは、仮想端末管理ソフトです。ターミナルによるCUIを使う場合にとても便利なツールです。

Wikipedia GNU_Screen を参照
8-o screenのススメ http://www.dekaino.net/screen/

screenを使うと何がよいか?

同時に複数の仮想端末を操作することができます。

一つのターミナルで複数の仮想端末を操作できるので、システムの稼働状況を確認しながら、別の画面でプログラムを編集、さらに別のサーバにリモートログインするといった作業が可能となります。

操作中の画面を切断した後、別の端末からでも作業を再開することができます。

事務室のパソコンからログインして操作していた画面を切断し、サーバ本体のコンソールで作業の続きを再開することが可能です。

ログイン中に不意にネットワーク回線が切れても大丈夫。

リモートログイン中にネットワーク回線が切れた場合でも、再接続して作業を再開することができます。 その他にも多くの機能があります。

インストール

CentOSなら

sudo yum install screen

Ubuntuなら

sudo apt-get install screen

その他のLinuxもパッケージがありますので、インストールはパッケージ管理ツールで可能。

基本操作

起動、終了

起動 : screen
終了 : 通常のログアウト操作と同様(exit, Ctrl+Dなど)

仮想画面の操作

Ctrl+A C : 仮想画面の生成
Ctrl+A SPACE : 昇順に切換
Ctrl+A A : 直前の画面に切換
Ctrl+A 画面番号 : 画面番号(0-9)を指定して直接切換
Ctrl+A H, Ctrl+A P : 降順に切換

バックスクロール

Ctrl+A ESC, Ctrl+A [ : バックスクロール(コピーモード)(操作はviと同じキー操作)
ESC : バックスクロール(コピーモード)を抜ける

コピー&ペースト

Ctrl+A [ : コピーモードに入る
始点 : コピーしたい領域の始点でSPACEを押す
終点 : カーソルを移動し領域の終点でSPACEを押す
Ctrl+A ] : コピーバッファからペーストする

デタッチ&アタッチ

Ctrl+A D : デタッチすると最初にscreenを起動したシェルに戻る
screen -ls : screenセッションのリストを表示
screen -x [プロセス番号]:: プロセス番号を指定してアタッチする
screen -R : デタッチされたセッションがあれば、最初のセッションを起動

通常起動するときもscreen -Rとすればよい。デタッチされたセッションが残っていない場合は新規のscreenを起動する。

初期設定は好みにより設定してください。

cat .screenrc
 
#shell /bin/zsh
hardstatus on
vbell off
caption always "%{=r dg}%H[%n]: %c %{-}%`%-w%{=b bw}%n %t%{-}%+w"
autodetach on
bind ^U encoding utf8
bind ^E encoding euc

上記の “^U” の “^” (ハット)は、文字としてのハットではなくコントロールコードですので、エディタなどで入力する場合は、Ctrl+Vに続けてCtrl+Uのように入力します。(コピー&ペーストでは入力できません)

コメントアウトしていますが、zshを使うと複数の仮想画面のヒストリーが統合できるなどのメリットがあるようです。

EmacsなどでCtrl+Aに機能を割り当てている場合は、.screenrcでキーシーケンスを変更することができます。例えばCtrl+Zに置き換える場合は、次のような設定を.screenrcに追加します。

escape ^Z^Z

キーシーケンスを変更した場合は、Ctrl+Aの部分を変更して割り当てたキーに読み替えてください。