OSX-Fenstergruppen

5439
AdamB

Ich habe eine Fenstergruppe mit 3 Terminals gespeichert, die so eingerichtet ist, wie ich sie mag, und ich habe eine Verknüpfung zu dieser Fenstergruppe auf meinem Desktop. Jetzt möchte ich einen Startbefehl hinzufügen (möglicherweise unterschiedliche Befehle für jedes Fenster), wenn jedes Terminal geöffnet ist, aber ich möchte keinen Standardbefehl für jedes Terminal festlegen, das ich starte, so wie ich es kann. Was wäre der einfachste Weg, dies zu tun?

3

3 Antworten auf die Frage

4
Matt G

Sie haben also für jedes Terminal eine eigene Einstellung? Sie müssen jede dieser Einstellungen bearbeiten, um den auszuführenden Befehl anzugeben.

In "Terminal > Preferences > Settings", für jedes Endgerät der Einstellung bearbeiten, mit dem Befehl für jede Angabe "Shell > Startup > Run command".

Alt-Text

Wenn Sie ein Terminal von diesen Einstellungen aus öffnen (entweder einzeln oder als Teil einer Fenstergruppe), wird der Befehl ausgeführt, den Sie in den Startbefehlen der Einstellungen angegeben haben. Sie können Fenstergruppen von öffnen "Window > Open Window Group"oder eine für den automatischen Start konfigurieren "Preferences > Startup".

1
Chris Page

Ab Mac OS X Lion 10.7 können Sie dies tun, ohne für jedes Terminal separate Einstellungsprofile zu erstellen. Wenn Sie ein Terminal mit Shell> Neuer Befehl… erstellen, kann sich das Terminal an den Befehl erinnern, wenn Sie ihn in einer Fenstergruppe speichern. Wenn Sie eine Gruppe öffnen, werden alle gespeicherten Befehle in den entsprechenden Terminals ausgeführt.

Beim Speichern einer Fenstergruppe speichert Terminal automatisch "sichere" Befehle †. Sie können alle Befehle speichern, indem Sie das Kontrollkästchen Alle Befehle wiederherstellen aktivieren.


† "Sichere" Befehle sind Befehle, die ohne Benutzerbestätigung ausgeführt werden können und automatisch wiederhergestellt werden, wenn das Terminal fortgesetzt wird. Sie werden auch automatisch in Fenstergruppen gespeichert. „Safe“ Befehle enthalten einen Befehl über ausgegeben New Remote - Verbindung, alles in aufgelistet /etc/shells, und eine kurze Liste der häufigsten Befehle: screen, tmux, emacs, vi, vim, nano, pico, top.

Diese Liste kann mit dem Befehl default (1) ( x-man-page://1/defaults) angepasst werden . Die RestorableCommandsEinstellung ist eine Liste von Zeichenfolgen, die jeweils einen Befehl benennen. In jeder Zeichenfolge können Sie einen Befehlsnamen oder einen absoluten Pfadnamen angeben (wenn Sie den Befehl nur aus einem bestimmten Verzeichnis zulassen möchten). Standardmäßig sind die Befehle nur dann "sicher", wenn sie keine Befehlszeilenargumente enthalten (weil Argumente möglicherweise destruktive Operationen angeben). Um anzugeben, dass Argumente zulässig sind, fügen Sie hinter dem Befehlsnamen ein Sternchen ein, z. B. "top *" in der Standardliste.

Zum Beispiel, um Emacs automatisch mit Argumenten zuzulassen:

defaults write com.apple.Terminal RestorableCommands -array screen tmux 'emacs *' vi vim nano pico 'top *' 

Nachdem Sie die Voreinstellung erstellt haben, können Sie weitere Elemente hinzufügen mit -array-add:

defaults write com.apple.Terminal RestorableCommands -array-add nethack 
Schöne Erklärung zu dieser Funktion. Schade, dass keine Verknüpfung zu `x-man-page: //` URLs in SU besteht. Daniel Beck vor 12 Jahren 0
Vielen Dank. Ja, es wäre schön, wenn das x-man-Page-Schema vom Link-Parser auf StackExchange-Sites akzeptiert würde. Chris Page vor 12 Jahren 0
0
avstrallen

Die Antwort von @Matt G ist gut, aber eine Alternative wäre die Verwendung von Open-Source- iTerm, das über eine Lesezeichen-Funktion verfügt, die dies viel einfacher macht, als für jedes ein anderes Terminal-Profil einrichten zu müssen. Seitdem ich es anstelle von Terminal.app verwendet habe, habe ich nicht zurückgeschaut. Einen Besuch wert ...

Profile sind die Lesezeichen von Terminal. Sie können einfach einen kopieren und einen Befehl einfügen. Chris Page vor 12 Jahren 0