Skript oder Startprogramm zum Einrichten mehrerer Terminal-Registerkarten an verschiedenen Orten


14

Ich habe dies bereits vor einiger Zeit untersucht, aber keine Lösung gefunden, die Terminal-Registerkarten öffnen, einige Befehle ausführen und es mir dann ermöglichen würde, diese Terminal-Registerkarten weiter zu verwenden. Alle Möglichkeiten, die ich beim Starten von Terminal-Registerkarten über die Befehlszeile gefunden habe, führten nur zum Starten der Registerkarten und ermöglichten mir nicht, sie danach weiter zu verwenden.

Das Problem, das ich zu lösen versuche, ist, dass ich jedes Mal, wenn ich meine Maschine (oder in diesem Fall die virtuelle Maschine) booten muss, sechs verschiedene Terminal-Registerkarten einrichten muss, um auf verschiedene Ordner zu verweisen und einige Umgebungsvariablen auf einige von ihnen zu exportieren.

Ich habe mit dem xfce-Terminal experimentiert und bin mit Befehlen wie diesen einigermaßen zurecht gekommen:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab

Wenn ich jedoch ein Befehlsargument hinzufüge, kann die Registerkarte beim Öffnen nicht mehr verwendet werden:

terminal --disable-server -H --tab --title=1st_tab --tab --title=2nd_tab --command="cd ~/folder1"

http://docs.xfce.org/apps/terminal/command-line

Ich verwende derzeit Red Hat Linux mit Gnome 2.28.2.

Antworten:


18

Dies können Sie mit GNOME terminatoreinem großartigen Terminal tun, das unter anderem die Möglichkeit bietet, Fenster horizontal oder vertikal zu teilen.

Nach der Installation terminatorkönnen Sie ein Profil mit den gewünschten Einstellungen vornehmen (Anweisungen aus angepasst hier ):

  1. Führen terminatorSie das gewünschte Layout aus und richten Sie es ein. Sie können Ctrl+ Shift+ verwenden E, um Fenster vertikal und zu teilenCtrl + Shift+ O(das ist O wie in oodles, nicht Null), um horizontal zu teilen. In diesem 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 Sie "Einstellungen". Sobald das Fenster "Einstellungen" geöffnet ist, gehen Sie zu "Layouts" und klicken Sie auf "Hinzufügen":

    Bildbeschreibung hier eingeben

  3. Damit wird die Layout-Liste mit Ihrem neuen Layout gefüllt:

    Bildbeschreibung hier eingeben

  4. Suchen Sie alle Terminals, die Sie im Layout erstellt haben, und klicken Sie darauf. Geben Sie dann rechts den Befehl ein, den Sie beim Start ausführen möchten:

    Bildbeschreibung hier eingeben

    WICHTIG: Beachten Sie, dass dem Befehl folgt ; bash. Wenn Sie dies nicht tun, sind die Terminals nicht zugänglich, da sie den von Ihnen angegebenen Befehl ausführen und beenden. Sie müssen nach jedem Befehl eine Shell starten, um die Terminals verwenden zu können.

    Wenn Sie alle Befehle eingegeben haben, klicken Sie auf "Schließen" und beenden Sie das Programm 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 auf 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 cchapple@139.124.66.43'
          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 terminator6 Fenster geöffnet werden, von denen jedes die von Ihnen angegebenen Befehle ausgeführt hat oder ausführt:

Bildbeschreibung hier eingeben


Nachdem ich meine Befehle in das Custom commandFeld eingegeben und auf "Schließen" geklickt habe, wird sie beim erneuten Öffnen nicht gespeichert. Darf ich wissen warum Ich benutze Ubuntu 16 Desktop
Nam G VU

@NamGVU hmm, ich habe gerade getestet und ich habe das gleiche Problem. Sieht aus wie ein Fehler in der aktuellen Version von terminator (das hat vor 3 Jahren funktioniert, als diese Antwort gepostet wurde). Es funktioniert immer noch, wenn Sie die ~/.config/terminator/configDatei wie in Schritt 5 gezeigt bearbeiten .
terdon

2

Um Terminator cdbeim Start in ein Verzeichnis zu bringen, muss Folgendes konfiguriert werden:

cd ~/someFolder; bash

Dies öffnet ein Terminal am Standort cd an dem es erstellt wurde.

Tatsächlich erwähnt Terdon dies in seinem Beitrag, aber es ist in seinem wundervollen Mini-Tutorial vergraben. Nachdem ich das herausgefunden hatte, bemerkte ich nicht, dass es in seinem Posten vergraben war, also lasse ich diese Antwort, um es zu betonen.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.