Wie kann ich mehrere benutzerdefinierte Terminal-Shells öffnen?

10

Wie kann ich das Terminal so anpassen, dass beim Öffnen der Anwendung mehrere Shell-Registerkarten geöffnet werden? Wenn möglich, möchte ich auch, dass für jede Registerkarte ein anderes Umgebungsskript ausgeführt wird.

Beispiel: Führen Sie diesen Befehl aus, bei source bin/activatedem es sich um einen Python virtualenv-Setup-Befehl handelt.

citadelgrad
quelle

Antworten:

4

Fügen Sie dies zu Ihrem hinzu, ~/.bash_profilewenn Sie bash verwenden oder ~/.zshrcwenn Sie zsh verwenden, und ändern Sie den Inhalt des COMMANDSArrays:

function openterms() {
    COMMANDS=("source bin/activate" "add another here" "continue likewise")
    for command in $COMMANDS
        do osascript -e \
        "tell application \"Terminal\" to do script with command \"$command\""
    done
}

Wenn Sie jetzt opentermseine Shell aufrufen, werden alle anderen gewünschten Shells geöffnet.

Carmine Paolino
quelle
3

Ich benutze Keyboard Maestro . Ich habe einmal ein Makro aufgenommen, das Terminal so einrichtet (ich verwende iTerm, aber es spielt keine Rolle), wie ich es mag, und dieses Makro durch Starten von iTerm ausgelöst.

Wenn ich starte, wird es so eingerichtet, wie ich es wollte. Zwei Fenster, fünf Registerkarten in einer für verschiedene Ordner, wobei jede Registerkarte entsprechend benannt ist, und ein weiteres Fenster mit zwei Registerkarten, die mit meinem Server verbunden sind. Eine davon startet ein Überwachungsskript. All dies erfolgt innerhalb von 2 Sekunden nach dem Start des Terminals, was zuvor eine Minute oder länger dauern würde.

Jetzt habe ich keine Angst mehr, iTerm zu schließen, wenn ich es brauche, da ich es ohne Anstrengung im selben Zustand wieder öffnen kann.

Keyboard Maestro eignet sich übrigens auch für viele andere Dinge. Ich habe es kürzlich mit Rabatt auf mupromo.com gekauft, wo ich es zum ersten Mal entdeckt habe, aber meiner Meinung nach ist es auch den vollen Preis wert.

Jacob Gorban
quelle
2

Wie Josh K bereits erwähnt hat, können Sie eine Fenstergruppe zum Öffnen eines oder mehrerer Fenster mit bestimmten Layouts und Erscheinungsbildern erstellen. Darüber hinaus können "Einstellungsprofile" (Terminal> Einstellungen> Einstellungen) einen Befehl angeben, der ausgeführt werden soll, wenn ein Terminal mit diesem Profil erstellt wird. Sie können für jeden Befehl, den Sie ausführen möchten, ein separates Profil erstellen und dann Fenster mit diesen Profilen erstellen. Wenn Sie sie in einer Fenstergruppe speichern und erneut öffnen, werden diese Befehle in den entsprechenden Fenstern ausgeführt. Sie können Terminal sogar beim Start eine bestimmte Fenstergruppe öffnen lassen.

Ab Mac OS X Lion 10.7 gibt es in diesem Bereich einige neue Verbesserungen:

  1. Resume stellt automatisch Fenster wieder her, die beim Beenden von Terminal geöffnet waren. Daher ist die Verwendung einer Fenstergruppe hierfür nicht mehr unbedingt erforderlich (obwohl Sie damit ein bestimmtes Setup neu erstellen können, wenn Sie die Fenster geschlossen haben).

  2. Wenn Sie ein neues Terminal mit Shell> New Command erstellen, kann Terminal es wiederherstellen, indem es erneut ausgeführt wird, da es weiß, welchen Befehl Sie ausgeführt haben. Das Terminal stellt jetzt automatisch "sichere" Befehle wieder her †, wenn es fortgesetzt wird.

  3. Das Terminal stellt diese Befehle auch wieder her, wenn Sie diese Art von Terminals in einer Fenstergruppe speichern. Darüber hinaus besteht beim Speichern einer Fenstergruppe die Möglichkeit, alle Befehle wiederherzustellen, nicht nur die "sicheren". Sie müssen also nicht mehr für jeden Befehl, den Sie ausführen möchten, ein separates Einstellungsprofil erstellen.

† "Sichere" Befehle umfassen alle in /etc/shellsemacs, vi / vim, nano, pico, top, screen, tmux aufgelisteten Befehle und alle Befehle, die mit Shell> New Remote Connection erstellt wurden (z. B. ssh-Sitzungen). Beachten Sie, dass nur top als "sicher" betrachtet wird, wenn es mit Argumenten verwendet wird. Die anderen unterstützen Argumente, die möglicherweise Dinge tun, die Sie ohne Benutzerbestätigung nicht möchten, sodass sie für die automatische Wiederherstellung nicht als "sicher" gelten, es sei denn, sie werden ohne Argumente aufgerufen. Sie können die Liste der "sicheren" Befehle mit "Standardwerte schreiben com.apple.Terminal RestorableCommands" anpassen. Der Wert ist eine Liste von Zeichenfolgen, die die Befehlsnamen enthalten. Fügen Sie nach einem Befehl ein Sternchen hinzu, um anzuzeigen, dass Argumente zulässig sind. Beispiel: "top *" macht top sicher, wenn es mit Argumenten verwendet wird, "top" jedoch nicht.

Chris Page
quelle
1

Alternativ können Sie auch screenmehrere Registerkarten in einem einzigen Fenster öffnen. Der Bildschirm ist sehr flexibel und kann so konfiguriert werden, dass beim Start des Terminals alle Skripte ausgeführt werden.

Mehr Info.

karmatisch
quelle