Screenを使う その5: その他

他に知っておきたいことなどをまとめてみました。

コマンドについて

Screenが理解するコマンドは、以下のような方法で送ることができます。

セッションの識別

screen -lsとすると、現在そのホストで動いている screenのセッションの一覧を見ることができます。

zinnia@iguchi:/tmp/screens[126]% screen -ls
There is a screen on:
        487.hogetan     (Multi, attached)
1 Socket in /tmp/screens/S-zinnia.
Screenはセッション管理にUNIXドメインソケットを使っています。 で、そのソケットは/tmp/screens/S-ユーザ名 以下に保存されています。 (build時の設定によってはS-がつかないかもしれません)

複数のセッションがある場合、そのままでは

zinnia@freesia:~[1]% screen -r
There are screens on:
        487.hogetan     (Multi, attached)
        47141.hogetan   (Multi, attached)
There is no screen to be resumed.
といった感じでresume/multiできません。ので、 screen -r 487 といったふうに指定する必要があります(上の例では attachedなのでどっちにしてもresumeできませんが)

セッションの識別子は、PID.セッション名となります。 セッション名はsessionnameコマンドで指定可能です。 詳しくはinfoを御覧下さい。

また、複数の端末からmultiモードでscreenをいじっているときは、 ^T*で端末の一覧を見ることができます。

term-type   size         user interface           window
---------- ------- ---------- ----------------- ----------
vt100       80x47      zinnia@/dev/ttyp9          1(azalea)     rwx
xterm       80x47      zinnia@/dev/ttyp0          3(zsh)        rwx

ウインドウ分割

Screenにはウインドウ分割の機能もあります。

といった操作ができます(括弧内は emacsにおいて相当する操作)。

しかしemacs(-nw)と一緒に使ってるとemacsのウインドウとscreenのウインドウの 切り替えでキー操作が違うので混乱すること請合いです(^^; なので 私は未だに使いこなせていません。

が、この「複数のWindowを1つの端末で表示」というのは いろいろと可能性を感じさせる機能ではあります。

braille(点字)

Screenは点字に対応しているようです。残念ながら 私は点字とそのデバイスについての知識はほとんどないのですが、 点字用スクリーン(DOTSCREEN)に出力することができるようです。 詳しくはソース内のetc/README.DOTSCREENを 見てください。

点字テーブルはGerman、US、GS(???)があります。

そのほか

私にとっては間違って呼び出してpanicるという方が近いものも(おい)

ロック

^Txまたは^T^Xで端末にロックをかけることができます。 ロック用の外部コマンドを呼び出すこともできるみたいです。

正しいパスワードを入力しないとセッションに復帰できません(落とされます)。 まあログインしなおしてscreen -r(または-x)すれば普通に入れるんで、 そこらへんをきちんと理解して使わないと...(infoにも明記されています)

Bell設定

^T^G で、Audible Bell(普通のBeep音)、と、Visual Bellの 切替を行います。Visual Bellは、Beep出力時にステータスに メッセージを出すというものです。

Nethacker向けメッセージ

「nethack on」でNethackの世界へ。コンパイル時に無効にされていると 使えませんが...

フロー制御

^T^Fでフロー制御の設定を変えることができます。ステータス表示では -flow, +flow, -flow(auto) となっています。

突然全てのキー入力を受けつけなくなった!!!!!! という場合は +flowの状態で^Sを押した可能性が強いです。あわてず^Qを押して みましょう。

行折り返し

^T^Rで行折り返しの設定を変えることができます。 ステータス表示では-wrap, +wrapとなります。

なんか長い行が切れちゃうんですけどー という場合は +wrapになっているのかもしれません。

se noai / se aiってなんだ?

cut and pasteを多用していると、たまにペーストのときにse noaiなんとか... などという文字が、コピーした文字列に挟まれてしまったりします。 これなんなんだろうなあーと思っていたんですが、 ふと.screenrcを見ると

# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]
といった設定が。サンプルの.screenrcから貰ってきたので 知らずに設定されていたようです。

つまり、^T]とするところを^T^]してしまうとこれが作動するみたいです。 vi使いならピンと来たんでしょうが... なるほどねえ。


戻る
Zinnia (zinnia@risky-safety.org)
このWebコンテンツ(ここから辿れるもの)に対する コメントのメールは許可なく公開することがあります。