screenコマンド
============
screenコマンドは1つのターミナル上で仮想的に複数の端末を操作できるようにするツール。使用法は下記URL参照。
[[https://linuxjm.osdn.jp/html/GNU_screen/man1/screen.1.html|Man page of SCREEN]]
インストール方法
------------
### Ubuntu/Linux
`Ubunt 22.04 server` ではインストール済みであったが、もしインストールされていない場合は下記コマンド。
$ sudo apt install screen
### macos
macosでは、標準で screen が使えたが、少し古いバージョンのようなので、もし最新のものが使いたい場合には下記コマンド。
$ brew install screen
インストール後は、一度ログアウトして再ログインする。
起動コマンド
---------
$ screen [ -options ] [ cmd [ args ] ]
`cmd`以下が省略された場合は、シェル(bash等)を起動する。
### バージョン確認
$ screen -v
Screen version 4.09.00 (GNU) 30-Jan-22
よく使うコマンド
-----------
下記説明の <名前> のところには、プロセス番号(PID)を指定できる。
### 仮想端末を作る
$ screen -S <名前>
### 仮想端末の状況確認
$ screen -ls
### 仮想端末に切り替える(アタッチ)
$ screen -r <名前>
### 仮想端末の強制終了
$ screen -D <名前>
仮想端末内で使うキー操作
-------------------
### エスケープキー変更
screenを操作する際にはデフォルトでは `Ctrl-a` から始めるキー定義になっているが、Emacsのキー定義と重なっているので `Ctrl-t` に変更する。
尚、以下説明での `C-` は Ctrlキーを押しながらの操作を意味する。
escape ^Tt
### よく使うキー操作
^ キー ^ 説明 ^
| C-t c | 新しい仮想端末を作成する |
| C-t d | 仮想端末からデタッチする |
| C-t w | ウィンドウ一覧を表示 |
| C-t k | 仮想端末を終了する |
| C-t C-\ | すべてのウィンドウを破棄し、screen を終了する |
- - - - -
参考
----
1. [[https://linuxjm.osdn.jp/html/GNU_screen/man1/screen.1.html|Man page of SCREEN]]
2. [[https://qiita.com/miriwo/items/a20faae82c0cc0b03fc0|Linuxコマンド スクリーンコマンド [screen]]]
3. [[https://rfs.jp/server/cline/screen.html|screen コマンド]]
4. [[https://qiita.com/kamykn/items/9939b67e923dbb87f39c|.screenrcにこれだけは設定しとけっていうオススメ設定]]
5. [[https://yamaimo.hatenablog.jp/entry/2016/03/10/200000|Screenのススメ。]]
6. [[https://cpoint-lab.co.jp/article/201802/1263/|Linux(Unix)のscreenの外からコマンドを実行する方法]]