Automatisches Erstellen eines bestimmten Bildschirm-Setups beim Start

Automatisches Erstellen eines bestimmten Bildschirm-Setups beim Start

Hier ist mein Problem:

Ich habe ein bestimmtes Setup mit Bildschirm, den ich gerne beim Start starte, um schnell auf mehrere Programme zugreifen zu können, die ich oft verwende.

Hier ist ein Beispiel:

Bildschirm -U -S Test -t Shell

Innerhalb dieser Bildschirmsitzung:

screen -t irc (in dem ich irssi starte) screen -t process (in dem ich top starte) ...

Beachten Sie, dass dies zueine einzigartige Sitzungund mehrere Shells in dieser Sitzung. Ich gebe es an, weil meine Tests mich bisher an den Punkt gebracht haben, an dem mein Skript eine Bildschirmsitzung in einer Sitzung in einer Sitzung erstellt ... und ich kann nicht wirklich herausfinden, warum.

Ich würde gerne wissen, ob es möglich ist, ein Skript zu erstellen, das ich starten kann, um das gesamte Bildschirm-Setup zu erstellen und die Programme bei Ausführung automatisch zu starten.

Danke für alle Ratschläge. =)

Antwort1

Erstellen Sie eine ~/.screenrcDatei mit:

defutf8 on
sessionname test
screen -t shell   0
screen -t irc     1 irssi
screen -t process 2 top

Wenn Sie sich dann bei der Box anmelden, führen Sie

screen -DR

Dadurch wird jeder aktuell laufende Bildschirm abgetrennt und an ihn angehängt, oder, wenn kein Bildschirm läuft, wird ein neuer erstellt.

Antwort2

Sie können tmux-commands 1 in einer bestehenden Sitzung screen -S sessionname -X commandausführen , z. B. um ein neues Fenster zu erstellen und darin zu laufen. Beachten Sie, dass das neu erstellte Fenster geschlossen wird, wenn der Befehl beendet wird. Wenn Sie danach eine Shell haben möchten, verwenden Sie etwas wie .-X screen toptop-X screen sh -c 'ls; bash'

Es gibt auch Möglichkeiten, Befehle in vorhandenen Bildschirmfenstern auszuführen, siehe diese beiden Fragen:

1: Die vollständige Liste der tmux-Befehle finden Sie auf der Manpage.

verwandte Informationen