サーバーにscreen
でログインした後、ssh
を使用しています。今のところ、次のスクリーンショットに示すように、画面ウィンドウに手動で分割を設定し、コマンドを手動で実行します。
tail -n 1 -f /home/server/log/access.log
を実行する必要があります。htop
を実行する必要がありますコマンド/スクリプトを使用してそれを行う方法はありますか?そのため、毎回手動でやり直す必要はありませんか?
ウィンドウ配置の特定の場合には、それらをファイルに保存するスクリーンコマンドがあります:layout dump
。 man screen
から:
layout dump [filename]
Write to a file the order of splits made in the current layout. This is
useful to recreate the order of your regions used in your current
layout. Only the current layout is recorded. While the order of the
regions are recorded, the sizes of those regions and which windows
correspond to which regions are not. If no filename is specified, the
default is layout-dump, saved in the directory that the screen process
was started in. If the file already exists, layout dump will append to
that file. As an example:
C-a : layout dump /home/user/.screenrc
will save or append the layout to the user's .screenrc file.
したがって、手動で配置を行ったら、を押します Ctrla:、layout dump /path/to/some/file
と入力します。レイアウトは/path/to/some/file
に保存され、次のコマンドで新しいセッションで復元できます。
screen -c /path/to/some/file
私は私の質問に示されている出力を作成するために次のことを思いつきました @ muru's excellent answer 。 layout dump
を使用すると、次のことがわかりました。
split
focus
split -v
focus
注:Tilde(
~
)展開はlayout dump
では機能しないため、たとえば~/layout.dmp
の代わりに/home/<username>/layout.dmp
を使用する必要があります。
その後、次の.screenrc
を作成しました
# create the top screen
chdir /home/server/log
screen -t "Apache Log" tail -n 1 -f access.log
# split the screen and focus onto the new created space
split
focus
#create the bash
chdir /home/server/log
screen
# split vertically and focus onto the new area
split -v
focus
# create the htop screen
screen -t "Htop" htop
# focus twice to end up with the bash area active
focus
focus
これで、screen
と入力するだけで、目的のレイアウトを開始できます。疑問に思っている人のための例としてそれをここに残しますが、@ muruの答えに投票することを忘れないでください。