
Ich möchte ein Terminal öffnen, es in sagen wir 9 Teile (3x3) aufteilen und ein paar Bash-Skripte ausführen. Aber für jeden Terminalteil ein anderes Skript.
Kann dies mit Perl, Python oder sogar Bash gemacht werden?
Wie kann ich zwischen diesen kleinen Terminals wechseln, ohne Tastaturkürzel zu verwenden?
Oh, übrigens, ich verwende terminator
. Und wenn es einen anderen Terminalemulator gibt, der eine solche Funktionalität ermöglicht, welcher ist das?
Antwort1
Mich selbst zu plagiierenkönnen Sie ein Profil mit den gewünschten Einstellungen einrichten (Anleitung adaptiert vonHier):
Führen Sie es aus
terminator
und richten Sie das gewünschte Layout ein. Sie können Ctrl+ Shift+ verwenden E, um Fenster vertikal zu teilen, und Ctrl+ Shift+ O(das ist O wie in Oodles, nicht Null), um sie horizontal zu teilen. Für dieses Beispiel habe ich ein Layout mit 6 Fenstern erstellt:Klicken Sie mit der rechten Maustaste auf das
terminator
Fenster und wählen SieEinstellungenSobald dieEinstellungenFenster geöffnet ist, gehen Sie zuLayoutsund klicken Sie aufHinzufügen:Das wird dieLayoutsListe mit Ihrem neuen Layout:
Suchen Sie im Layout nach den einzelnen Terminals, die Sie erstellt haben, und klicken Sie darauf. Geben Sie dann rechts den Befehl ein, den Sie beim Start in ihnen ausführen möchten:
WICHTIG:Beachten Sie, dass auf den Befehl ein folgt
; bash
. Wenn Sie das nicht tun, sind die Terminals nicht zugänglich, da sie den von Ihnen eingegebenen Befehl ausführen und dann beenden. Sie müssen nach jedem Befehl eine Shell starten, um die Terminals verwenden zu können.Wenn Sie alle Befehle festgelegt haben, klicken Sie aufSchließenund dann beenden
terminator
.Öffnen Sie die
terminator
Konfigurationsdatei~/.config/terminator/config
und löschen Sie den Abschnitt unter Layouts für die Standardkonfiguration. Ändern Sie dann den Namen des von Ihnen erstellten Layouts in Standard. Es sollte ungefähr so aussehen:[global_config] [keybindings] [profiles] [[default]] [layouts] [[default]] [[[child0]]] position = 446:100 type = Window order = 0 parent = "" size = 885, 550 [[[child1]]] position = 444 type = HPaned order = 0 parent = child0 [[[child2]]] position = 275 type = VPaned order = 0 parent = child1 [[[child5]]] position = 219 type = HPaned order = 1 parent = child1 [[[child6]]] position = 275 type = VPaned order = 0 parent = child5 [[[child9]]] position = 275 type = VPaned order = 1 parent = child5 [[[terminal11]]] profile = default command = 'df -h; bash' type = Terminal order = 1 parent = child9 [[[terminal10]]] profile = default command = 'export foo="bar" && cd /var/www/; bash' type = Terminal order = 0 parent = child9 [[[terminal3]]] profile = default command = 'ssh -Yp 24222 [email protected]' type = Terminal order = 0 parent = child2 [[[terminal4]]] profile = default command = 'top; bash' type = Terminal order = 1 parent = child2 [[[terminal7]]] profile = default command = 'cd /etc; bash' type = Terminal order = 0 parent = child6 [[[terminal8]]] profile = default command = 'cd ~/dev; bash' type = Terminal order = 1 parent = child6 [plugins]
Das Endergebnis ist, dass beim Ausführen terminator
sechs Fenster geöffnet werden, in denen jeweils die von Ihnen angegebenen Befehle ausgeführt wurden oder werden:
Darüber hinaus können Sie beliebig viele unterschiedliche Profile einrichten und Terminator entweder mit dem -p
Schalter starten, der einen Profilnamen eingibt, oder nach dem Start manuell zu dem gewünschten Profil wechseln.
Antwort2
Suchen Sie nach dem Terminal-Multiplexer tmux.
Antwort3
Dies ist die RC-Datei, die ich damals terminator
zum Öffnen einer Reihe von Terminals und zum Ausführen von Anwendungen verwendet habe. Speichern Sie sie unter .config/terminator/config
.
[global_config]
title_hide_sizetext = True
enabled_plugins = LaunchpadCodeURLHandler, APTURLHandler, LaunchpadBugURLHandler
[keybindings]
[profiles]
[[default]]
font = DejaVu Sans Mono 9
cursor_blink = False
scrollback_infinite = True
[layouts]
[[default]]
[[[root]]]
position = -4:0
type = Window
order = 0
parent = ""
size = 1072, 1884
[[[grand]]]
position = 536
type = HPaned
order = 0
parent = root
[[[left]]]
position = 942
type = VPaned
order = 0
parent = grand
[[[right]]]
position = 942
type = VPaned
order = 1
parent = grand
[[[terminal1]]]
profile = default
type = Terminal
order = 0
parent = left
command = "cd ~/code/foo; bash"
[[[terminal2]]]
profile = default
type = Terminal
order = 1
parent = left
command = "cd ~/bar/baz; bash"
[[[terminal3]]]
profile = default
type = Terminal
order = 1
parent = right
command = ""
[[[terminal4]]]
profile = default
type = Terminal
order = 0
parent = right
command = "cmus; bash"
[plugins]
BEARBEITEN:Beachten Sie, dass diese Informationen wahrscheinlich aus Terdons Beitrag in einem viel früheren Thread stammen. Ich verwende dieses Setup seit einigen Monaten, aber Terdons Beitrag hier kommt mir sehr bekannt vor!
Antwort4
Wrapper-Skript zum Aufteilen des Terminator-Terminalemulators https://github.com/AlekseyChudov/terminator-split