- bk-sshの、sshコネクションの切り方を必ず憶えておく事。
あとで、このページをちゃんと整形する事。
screen中で使えるエスケープシーケンスまとめ
以下で使っているprintfは、単なるコマンド。
- printf "\033^hello hoge\033\\"
- 一時的にメッセージ「hello hoge」をステータス欄に表示する
- printf "\033]0;fuge\007"
- 恒久的にメッセージ「fuge」をステータス欄に表示する(註:ステータス欄の無い端末エミュレータ(screenも含まれる)では、効果が無い)
- vbell等で一時的に変化しても、その後にコレに戻る
- 尚、このエスケープシーケンスを、screenを実行していないkterm上で表示させると、
ktermのウィンドウのタイトル名が「fuge」に変化する。
- printf "\033_fuge\033\\" でも同等の効果が得られるが、こっちはscreen無しのkterm上で実行しても、ウィンドウのタイトルは変化しない。
- printf "\033P\033]0;mogemoge\007\033\\"
- screenをバイパスして、kterm等のウィンドウのタイトルを「mogemoge」に変更する
- 但し、ssh等を挟んだりしてscreenを多重起動していると、二番目のscreenのステータス欄が変わるだけ。
- 更にもう一回、"\033P"と"\033\\"で挟んでエスケープすれば、ktermに届く筈…‥と思ったら、駄目だった。どうやら、最初の"\033P"と最初の"\033\\"同士で対になっているものだとscreenが解釈してしまうからのようだ。
- printf "\033khoge\033\\"
- このscreenの、現在アクティブになっている子ウィンドウの名前を
「hoge」に変更する
- この場合も、"\033P"と"\033\\"で挟んでエスケープするテクニックが使える筈。
その他
- screen -X hardstatus string 'hoge%=fuge'
- のようにすれば、ステータス欄に二種類の違う情報を表示出来る
- どのような情報を表示できるかは、manで調べる。
- 既にscreen経由かどうかを判定するには、環境変数$TERMの値がscreenかどうかで
判定する。
- コレなら、screen起動後にsshで他のサーバに接続した時でも、screen越しか、そうでないかを判定出来る。
最終更新 : 2004/06/09 17:56:03 JST