GNU Screen
tmuxでもbyobuでもないscreenを愛用する。
Why?
- スタンダードな感じがする
- 気分
- 簡単に入れれるよ
.sceenrc
# escape
escape ^Tt
escape
# 256 color
term xterm-256color
# No Visual Bell
vbell on
# AutoDetatch
autodetach on
# Shell
shell /usr/bin/zsh
# divide screen
altscreen on
# Startup Message Off
startup_message off
# For Vim
altscreen on
# HardStatus
#caption always “%{b RK} %y/%m/%d(%D)%c:%s %{bu dr} | %-w%{=bu CK}%n %t%{-}%+w”
hardstatus alwayslastline '%{=b .y}@%H %-w%{=bu cw}%n:%t%{-}%+w %= %{b .g}%Y/%m/%d %{=b.g}%c:%s'
基本的な設定しかない。自分はこれだけで生きていくには十分だ。
キーバインドもそのまま。
VimmerなのでCtrl+hogeのキーバインドに悩む心配もない。
もっとすごいscreenrcを参考にしたいときはgoogle:screenrcをすればいい。
Usage
よく使うコマンドをメモφ
起動
- # screen
- 普通に起動する
起動オプション
- # screen -ls
- 存在しているセッションの一覧を表示
- # screen -r
- 最後にデタッチしたセッションを起動する
- # screen -a XXX
- プロセス番号XXXを起動する
画面
Ctrl+a -> ^A とする、.screenrcでescape ^tTとか書いている人は^T
- ^A + c
- 新しい画面を作る
- ^A + n or p
- StatusBarに表示された画面間を移動する nが右へ、pが左へ
- ^A + k
- 現在の画面を破棄する y/nで聞かれる
- ^A + ^A
- 前回作業していた画面にジャンプ
- ^A + “
- WindowListの表示。方向キーで選択できる
こっから下はほとんど使ってない。
- ^A + ‘
- 画面の番号を聞かれるので、指定してEnterでジャンプ
- ^A + 数字
- 数字の画面にジャンプ
- ^A + ‘
- 画面の番号を聞かれるので、指定してEnterでジャンプ
分割画面
分割画面作成は、^A+S or ^A+|の後にその画面上で^A+cすると新しくセッションが作成されます。
^A+cをやらないとただの空っぽの画面。
- ^A + S
- 画面を縦分割
- ^A + |
- 画面を横分割します ~A + Vでもできるという説がある。^A + |でできないときはためしてみるといいかも。
- ^A + Tab
- 分割された画面間を移動
- ^A + X
- 分割された画面を破棄する
設定ファイル再読み込み
- :source $HOME:.screenrc
- ホームフォルダを示す” ~ “(チルダ)は使えないので注意。
ホームフォルダを示すその他
- ^A + ?
- ヘルプ
- ^A + [
- コピーモード
コピーモードはほとんど使ったことがないので便利なのかも分からない。今度使ってみよう。
GNU Screen for Mac
私の使っているMac OS X 10.6.8にはデフォルトでscreenが入っていた(と思う)。
しかしバージョンが4.0.3と古く、縦分割が出来い。。。
縦分割できないとtmuxに乗り換えてしまいそうなので、最新版をビルドすることに。
screenの最新版はgitリポジトリにある。
$ git clone git://git.savannah.gnu.org/screen.git
Macではパッチを当てないとダメっぽい。( 2013/03/29 最近の(僕の)GNU Screen 事情 | blog.remora.cx )
$ curl -LO https://raw.github.com/gist/626040/be6a04f0e64c56185ba5850415ac59dad4cd62a0/screen-utf8-nfd.patch
$ cd screen
$ patch -p1 < ../screen-utf8-nfd.patch
$ cd src
$ ./autogen.sh
$ ./configure --prefix=/usr/local --enable-pam --enable-locale --enable-telnet --enable-colors256 --enable-rxvt_osc
$ make && make install
残念ながらこのままでは、./autogen.shあたりでこける。autoconfとautomakeをbrewでインストール。
$ brew install autoconf
$ brew install automake
さらに残念なことにこのままではmakeでこける。
GNU Screen開発版(4.1.0)でビルド時にエラー - へにゃぺんて@日々勉強のまとめ
この記事を参考にanci.cを修正する。w_がないとかTypo。。。
再びmakeすると成功するのでmake installで4.1.0に更新完了。
Ctrl+a |で立て分割出来る。
参考記事
- これからの「GNU Screen」の話をしよう - Keep It Simple, Stupid
- この記事はかなりすごい。Screen使いこなしてる感がにじみ出ている。 ウィンドウをグループ化することも可能らしい。
- 最新版GNU Screenで縦分割(その1〜導入編〜) | blog.remora.cx
- ブログ自体がかっこいい。
- 最近の(僕の)GNU Screen 事情 | blog.remora.cx
- 上と同じ人の。