デフォルトの GNU スクリーン「スクリーン」

デフォルトの GNU スクリーン「スクリーン」

タイトルにあるように、ヘッドレス ボックスで GNU screen を設定して、起動時にいくつかの画面がすでに実行されているようにしたいと思います。

最初.bashrcのログイン時にファイル実行画面が表示され、さまざまなログが自動的に開かれるようscreen -xRRにしたいと思います。htop

画面に同時にタイトルを割り当てることも可能ですか?

答え1

画面構成ファイルでデフォルトのウィンドウを定義できます~/.screenrc

ウィンドウのタイトルはオプションでインラインで設定できます-tが、作業ディレクトリは各ウィンドウを起動する前に設定する必要があります。たとえば、次の内容を含めることができます。

~/.screenrc

# ...

chdir ~
screen -t "Htop" htop

chdir /var/log
screen -t "System log" tail -F syslog
screen -t "Mail log" tail -F mail.log

chdir ~
screen   # Extra Bash window for running commands

# ...

screenここでの は実行するコマンドではなくscreen、内部コマンドであることに注意してくださいscreenman screenカスタマイズのセクション、 またはGNUマニュアル多くのための。

答え2

フラグを利用して-S、画面に付けたい一意の名前を付けることができます。

screen -S MyTitleHere

フラグを使用して構成ファイルを読み込むこともできます-c

screen -S foo -c /home/user/.screenrc.bar

次のようなことを試してください。

su -c "screen -dm -S $TITLE 2>&1 1>/dev/null" $USER

そしてそれを に配置すると/etc/rc.local、特定のユーザーの起動時にその画面が作成されます。

設定 ( .rc) ファイルを設定したら、次のようなコマンドを実行するとよいでしょう。

screen -dURS $TITLE -c /path/to/.screenrc.bar

これにより

  1. スクリーンセッションが存在しない場合は作成する
  2. セッションがすでに存在する場合は、再度接続します。

tmuxもう 1 つのオプションは、と を使用することですtmuxinator。これらは、私の意見では、よりクリーンなエクスペリエンスを提供します。 慣れている場合は、screen スタイルのキーバインドを使用するように設定できますtmux。 こう言うのは、screen を使用した場合よりも、他のユーザーに対して実行した場合の方がはるかにうまくいったからですtmux

関連情報