J'utilise screen
après m'être connecté avec ssh
à mon serveur. À partir de maintenant, je configure manuellement les divisions dans la fenêtre de mon écran et j'exécute les commandes à la main, comme illustré dans la capture d'écran suivante:
tail -n 1 -f /home/server/log/access.log
.htop
name__Y a-t-il un moyen de le faire via des commandes/scripts, de sorte que je n'ai pas à le refaire à chaque fois à la main?
Dans le cas particulier de la disposition des fenêtres, une commande d'écran permet de les enregistrer dans un fichier: layout dump
. De 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.
Donc, une fois que vous avez arrangé manuellement, appuyez sur Ctrla:, puis tapez layout dump /path/to/some/file
. La mise en page sera enregistrée dans /path/to/some/file
et vous pourrez ensuite la restaurer dans une nouvelle session avec:
screen -c /path/to/some/file
Je suis venu avec ce qui suit pour créer la sortie montrée dans ma question et après excellente réponse de @ mur . Utiliser layout dump
m'a donné les informations suivantes:
split
focus
split -v
focus
Remarque: l'extension Tilde (
~
) ne fonctionne pas aveclayout dump
. Par conséquent, au lieu de~/layout.dmp
, vous devrez par exemple utiliser/home/<username>/layout.dmp
.
A partir de laquelle j'ai ensuite créé le .screenrc
suivant
# 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
Maintenant, il me suffit de taper screen
et de commencer la mise en page souhaitée. Je laisse cela ici comme exemple pour ceux qui se posent des questions, mais n'oubliez pas de relever la réponse de @ muru, car c'est lui qui m'a permis de résoudre ce problème.