LoginSignup
5
6

More than 1 year has passed since last update.

GNU screen チートシート

Last updated at Posted at 2016-01-25

Why screen

screenはオワコン、時代はtmuxだと言われて久しいですが、tumuxにはシリアルコンソールに接続する機能がありません。
マイコンやらシングルボードコンピュータやらシスコルータやらをいじってるとシリアルコンソールを触る機会が多いので、同種のツールを2つ使うのもなんかだるいなあ・・・ということでscreenを使ってます。

.screenrc

vim ~/.screenrc

とかで編集する。

.screenrc
startup_message off 
vbell off 
caption always "  %n %t  $USER@%H"
termcapinfo xterm* ti@:te@
term xterm-color
shell bash

ローカルからワンコマンドでリモートのセッションにアタッチする

sshでログイン

screen -r あるいは screen -x

ウィンドウ移動

とやるのがだるいので、以下のようにしてみた。

ssh hostname.io -t "screen -x -p 0"

-p ウィンドウ番号でウィンドウを指定して一気にアタッチできる。

ここまでやって気づいたんだけど、sshでいきなりscreenにアタッチするなら、ウィンドウ複数開かなくても、Terminalのほうでタブ複数開いたらよいんではないか?
そしたらローカルのシェルを操作するのと同じ使い勝手になる。

以下のようにしてみた。

ssh hostname.io -t "screen -D -R session_name"

-D -R セッション名でセッション名を指定してセッションにアタッチ、該当する名前のセッションがなければセッションを作成になるようだ。
これをそれぞれ別のセッション名で、Terminalの各タブから実行する。

ウィンドウの操作

ウィンドウの上下分割

Ctrl-a S

ウィンドウの左右分割

Ctrl-a |

ウィンドウ間の移動

Ctrl-a <TAB>

ウィンドウの分割をやめる

Ctrl-a Q

ウィンドウを閉じる

  • ウィンドウ内のシェルはkillされます
Ctrl-a k

参考

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6