仕事で使ってるLinuxのOSアップデートがあったので 色々自分用に再インストールをしましたが、 GNU screenのインストール時にちょっとひっかかったのでメモしておきます。
GNU screen開発版(4.1.0)のインストール
基本的に以前やった通りなんですが、 4月にちょっとしたアップデートがあった様で、それによって コンパイルが通らなくなっているようです 1。
non-BMPのサポートを入れた際
の恐らくタイポ?なんでしょうけどsrc/anci.c
の一箇所
2930行目辺り(パッチを当てた後に見ると2954行目辺り)を
以下の様に訂正します
1 2 3 4 5 6 |
|
取り敢えずこれで後は以前 と同じ様にインストール。
caption/hardstatusの表示
上で参照したページを見ていたら
%E
と言うエスケープがcaptionとかで使える様になっている、
というのを見つけて、
screenのgitのコミットメッセージ
を見ると1年以上前に実装されていました。
%E
は、コマンド入力待ち状態(C-a
等escape文字を押した時)を
判定してくれる、ということです。
ということで、これを含めてcaption及びhardstatusは以下の様にしています。
(hardstatusは%E
を使ってませんが…)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
|
%E
の使い方としては、コマンド入力待機状態の時に
*** command mode ***
とcaptionに表示させるようにしました。
こんな感じ
最初、copy/paste同様色も変えようかと思ったんですが、 ウィンドウを移動するたびに色が変わると目がチカチカするので 文字を追加するだけにしておきまた。
1つ気になるのが、縦分割をしていると、何故か%E
が横のウィンドウにも有効になって
上の絵にあるように上側両方のウィンドウでcommand mode
が表示されてしまっています。
バグなのかどうなのか分かりませんが、 まあ、ウィンドウの情報と言うより全体の情報ですし、 それ程長い時間表示されるものでもないのでとりあえずはこの状態でOKとします。
ちなみに、上のcopy/pasteの部分も随分前にどこかからコピペしたものだったと思ったんですが、 恐らく上で参照したページと同じ方の
Ref: 開発版GNU Screenでコピペを極める(ターミナルマルチプレクサ Advent Calendar 2011 : ATND の24日目)
を参照したみたいです。(毎度参考にさせて頂いてありがとうございます。)
tmux…?
最近GNU screenよりも tmux の方が流行ってる感もあって、何度か 乗り換えようと試してみたんですが、どうしてもtmux出来ないことがあって 乗り換えられません。
screenだと、ウィンドウを適当に分割した後、それぞれのウィンドウに 適時好きなウィンドウを持ってこれます。
これがtmuxだと、window
と言うのが1つのタブみたいな感じで、
それぞれでpane
と呼ばれる領域に分けることが出来ます。
このpane
と言う単位を、screenで言うところのウィンドウの様に扱いたくて、
別のwindow
に行った時に他のwindow
からpane
を自由に取ってきたい、
と思うんですが、これが簡単じゃありません。
丁度、Advent Calenderの上の記事の前の日に、
Ref: tmuxのペイン切り替えをscreenみたくする(ターミナルマルチプレクサ Advent Calendar 2011 23日目)
という記事があってまさにこのことを記事にしてありました。
ですが、これだと前後のwindow
の決まったpane
しか取ってこれない上に
交換的な事をしてるので、やっぱりscreenとは違う感じになってしまいます。
(この辺window
だとかpane
という言葉が正確でなかったらすいません。)
もうこの辺はツール自体の思想の問題で、 tmux的な動作になれてしまえばそっちの方が便利だ、と言う人もいるんだと思うんですが、 やっぱり暫くはscreenにとどまることになりそうです。
しかしtmuxの方が良い、という感じの話のが多いのは何でなんでしょう…? (以前は画面分割の面で大分tmuxの方が先を言ってた感じですかね? 今でもGNU screenの安定版は縦分割出来ない訳で…)
tmuxの最大の利点はググる時にtmux
と売っただけでもちゃんとtmux
関連の
話を検索してくれることかもしれません…
(screen
だと一般的単語過ぎてしまうのでGNU screen
とかしますが、
これだとGNU
を書いてない記事とかで結構ためになる話を後ろに回してしまったり…)
byobu
byobuはGNU screenのラッパーツールみたいな感じで、
中でGNU screenを起動しますが、設定変更を行う簡単なインターフェースがあるので、
直接.screenrc
を書かなくても指示に従って好きな物を選んであげれば簡単に好きな
設定を作ることが出来る、と言う感じでしょうか?
tmuxにも対応していて、screenの代わりに使う事も出来ます。
既に自分で.screenrc
等をがしがし書いている場合には必要無いですが、
始めてGNU screenやtmuxを使う人にはとても便利なものだと思います。
以前、外国人の同僚に
“byobuっていう便利なものがあるよ”
って言われて、 最初何のことだか良く分からなかったけどどうやらターミナルで使う物で GNU screenとかと同じ様なものだな、と理解。 それで、byobuってなんでそんな変な名前?と思ってたら
“日本のものでしょ?”
って言われて始めて屏風
だったのか、と知ったという。
byobuは殆ど使ったことがないのですが、 ちょっとこの話を思い出したので最後に紹介してみました。