インストール
portsでscreenをインストールする。まずはどこにあるか探す。
色々表示されるが、上記のやつがそれっぽい。早速インストール。
# cd /usr/ports/sysutils/screen
# make install clean
初期設定
screenとタイプするが面倒なので、.zshrcに以下を記述
alias s='screen'
これで単に"s"と打つとscreenが起動する。次に.screenrcを作成し、以下を記述
escape ^t^t
上記の指定は、エスケープキーをCtrl-tにしている。(デフォルトはCtrl-a)
色々Webでscreenの情報を見ていると、Ctrl-zかCtrl-tにしている人が多そうです。自分は当初emacsっぽくCtrl-xにしてみたのですが、Ctrl-tは確かにタイプしやすくて良い感じです。Ctrl-zは私的にはちょっとタイプしずらいです。
基本操作
# screen
でscreenを起動。
# top
でtopコマンドを起動。画面にはtopコマンドが表示されています。ここで
# ctrl-t d
とタイプしてscreenをデタッチ。これで端末がscreenから切り離され、プロンプトが表示されます。ですが、psで確認すると、ちゃんとtopコマンドは動作し続けています。ここで
# screen -r
と-rオプション付きで起動すると、デタッチしていたscreenに再接続されます。再度ctrl-t dでデタッチしてtelnetなりsshで接続していた端末もexitし、再度ホストに接続してscreen -rとしてもちゃんとデタッチしていたscreenに再接続されます。
だからどうした?と言われればそれまでなんですが、screenだと複数のウィンドウも切り替えられますし、実は何気に便利そうなので、暫くscreenを使ってみたいと思います。
他にも色々と高機能らしいのですが、取りあえず以下のようなコマンドもあります。
Ctrl-t c |
新たにウィンドウを作成する |
Ctrl-t w |
画面の最下行にウィンドウ一覧を表示する |
Ctrl-t d |
デタッチ |
Ctrl-t p |
前のウィンドウに移動する |
Ctrl-t n |
次のウィンドウに移動する |
Ctrl-t " |
リストからウィンドウを選択する |
Ctrl-t [ |
コピーモード(kjhlで画面上のカーソルを自由に動かせる。戻る場合はエンター2回) |
Ctrl-t S |
ウィンドウ分割 |
Ctrl-t tab |
ウィンドウ移動 |
Ctrl-t Q |
分割したウィンドウのうちアクティブなウィンドウ以外を閉じる |
Ctrl-t X |
分割したウィンドウのうちアクティブなウィンドウを閉じる |
TODO
Ctrl-t Sでウィンドウ分割して、Ctrl-t tabで別のウィンドウ移動してもキー入力を受け付けてくれない。とりあえずCtrl-t cで新規にウィンドウを作ればキー入力を受け付けてくれるようになるんだけど、他に既存のウィンドウを使えるようにする方法はないのだろうか?
参考記事
最終更新:2007年07月17日 00:46