タイトルにあるように、ヘッドレス ボックスで 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
、内部コマンドであることに注意してくださいscreen
。man 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
これにより
- スクリーンセッションが存在しない場合は作成する
- セッションがすでに存在する場合は、再度接続します。
tmux
もう 1 つのオプションは、と を使用することですtmuxinator
。これらは、私の意見では、よりクリーンなエクスペリエンスを提供します。 慣れている場合は、screen スタイルのキーバインドを使用するように設定できますtmux
。 こう言うのは、screen を使用した場合よりも、他のユーザーに対して実行した場合の方がはるかにうまくいったからですtmux
。