Wie öffne ich ein Terminal, teile es auf 9 Terminals auf und wechsle mithilfe eines Skripts zwischen ihnen?

Wie öffne ich ein Terminal, teile es auf 9 Terminals auf und wechsle mithilfe eines Skripts zwischen ihnen?

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):

  1. Führen Sie es aus terminatorund 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:

    Bildbeschreibung hier eingeben

  2. Klicken Sie mit der rechten Maustaste auf das terminatorFenster und wählen SieEinstellungenSobald dieEinstellungenFenster geöffnet ist, gehen Sie zuLayoutsund klicken Sie aufHinzufügen:

    Bildbeschreibung hier eingeben

  3. Das wird dieLayoutsListe mit Ihrem neuen Layout:

    Bildbeschreibung hier eingeben

  4. 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:

    Bildbeschreibung hier eingeben

    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.

  5. Öffnen Sie die terminatorKonfigurationsdatei ~/.config/terminator/configund 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 terminatorsechs Fenster geöffnet werden, in denen jeweils die von Ihnen angegebenen Befehle ausgeführt wurden oder werden:

Bildbeschreibung hier eingeben

Darüber hinaus können Sie beliebig viele unterschiedliche Profile einrichten und Terminator entweder mit dem -pSchalter starten, der einen Profilnamen eingibt, oder nach dem Start manuell zu dem gewünschten Profil wechseln.

Antwort2

Suchen Sie nach dem Terminal-Multiplexer tmux.

https://github.com/tmux/tmux

Antwort3

Dies ist die RC-Datei, die ich damals terminatorzum Ö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

verwandte Informationen