Open17

screenを使えるようになるぞ

astkastk

ターミナルのペイン分割でリモート作業していると接続が切れた時に再セットアップが面倒なので、周りにちらほら使用者がいる screen を使ってみることにする。tmux は使ったことがある。あまり習熟はしなかったけれど。

astkastk

基本のコマンドを調べながらここに貯めていく。

  • ヘルプ: ctrl a ?
  • attach/detach
    • ctrl a d で現在のセッションからdetachする
    • screen -ls でセッションを一覧する
    • screen -r でセッションにattachする
  • ペイン分割
    • ...
astkastk

attach/detachは分かったので次はペイン分割。

https://robertbasic.com/blog/split-screen-panes/

ctrl a がコマンド用のprefixっぽい。

astkastk

ペイン分割はできるけどシェルが開かない。

astkastk

ctrl a TAB で移動してから ctrl a c でシェルが立ち上がった。面倒なので同時にできないか。あと ctrl a を変えられないか。ctrl SPACE とかにしたい。

astkastk

screenではpaneではなくregionというんだな。

astkastk

detachしてattachしたら分割したregionが消えてる

astkastk

オープニングメッセージからCapabilitiesのメモ。

Capabilities:
+copy +remote-detach +power-detach +multi-attach +multi-user +font +color-256 +utf8 +rxvt +builtin-telnet
astkastk

そう言えばターミナルのクリップボード機能についてちょっと知りたいなと思っていたので調べてみたい。OSのクリップボードと連携するやつ。

astkastk

オンラインマニュアルの読み方を覚えたい。
https://www.gnu.org/software/screen/manual/screen.html

astkastk

検索して途中から読んでると「command ってあるけどどう実行するの」となる。ctlr a : でコマンド入力モードになるのでその状態でコマンドを打ち込む。

https://www.gnu.org/software/screen/manual/screen.html#Colon

Command: colon というドキュメントの書き方が特殊だなと思ったら colon というコマンドが存在した。ctrl a : colon でもエラーにならない。ctrl a : colon help を実行すると ctrl a : help に表示が切り替わりさらにエンターを押すとヘルプが表示される。

colon というキーワードはコマンドの世界では eval っぽく働くのかもしれない(うまく言えない)。

astkastk

縦に長く、分割されていないサイトを見ると「検索しやすさってこういうことなのかもな」と思う。綺麗にまとめられたオンラインドキュメントだ。

astkastk

https://www.gnu.org/software/screen/manual/screen.html#Overview

Shells usually distinguish between running as login-shell or sub-shell. Screen runs them as sub-shells, unless told otherwise (See shell .screenrc command).

あまり今までログインシェルとサブシェルの違いを意識してこなかったけど。起動時に読み込むプロファイルが違うくらいかな。screenはサブシェルとして開くらしい。