Öffnet ein neues Terminalfenster im aktuellen Bereich, unabhängig von anderen offenen Terminals in anderen Bereichen

14

Wenn Sie Spaces unter Mac OS X verwenden und versuchen, eine neue Terminalinstanz zu öffnen, wird der Fokus auf den Bereich gezogen, auf den zuletzt das Terminalfenster zugegriffen hat. Mit Finder kann ich auf den Desktop klicken und dann - verwenden N, um ein neues Finder-Fenster zu erstellen. Was ich suche, ist eine Methode zum Ausführen der gleichen Funktion für Terminal-Fenster.

Wie kann ich eine neue Terminal-Instanz im aktuellen Bereich erstellen, unabhängig davon, ob sich in einem oder mehreren anderen Bereichen eine andere Terminal-Instanz befindet oder nicht?

Vielen Dank.

Mark Nichols
quelle
Ich mag die Frage, aber denke, es sollte auf Superuser sein.

Antworten:

4

Sie können einen neuen Dienst mit Automator erstellen (aus dem Anwendungsordner). Geben Sie am oberen Rand des Automator-Fensters Folgendes ein: Der Dienst erhält in "Beliebige Anwendung" keine Eingabe. Fügen Sie dann im Workflow "Run applescript" hinzu. Stellen Sie sicher, dass das Apfelskript Folgendes enthält:

on run {input, parameters}

    tell application "Terminal"
        do script ""
        activate
    end tell

    return input
end run

(Sie können einen beliebigen Befehl in die Zeile do script zwischen "" einfügen (z. B. etwas Nützliches, das beim ersten Öffnen des Terminals ausgeführt uptimewerden kann, oder es einfach leer lassen).

Speichern Sie den Dienst als 'Open Terminal' oder unter einem beliebigen Namen. Es sollte jetzt in Ihrem Dienstemenü angezeigt werden.

Wenn Sie dann eine Tastenkombination hinzufügen möchten, müssen Sie nur die Registerkarte Systemeinstellungen -> Tastatur -> Tastenkombinationen aufrufen, Dienste im Menü auf der linken Seite auswählen und Ihren neuen Dienst finden (wahrscheinlich ganz unten). Klicken Sie einfach in das Feld rechts neben Ihrem Dienstnamen und weisen Sie ihm eine beliebige Tastenkombination zu. es sollte alles funktionieren

tmdavison
quelle
1
Es ist zu beachten, dass dies tatsächlich die angeforderte Funktionalität bietet. Als geringfügige Änderung benötigen Sie die do shell script " "Zeile, um ein neues Fenster im aktuellen Bereich zu öffnen. Es ist jedoch nicht erforderlich, dass das Shell-Skript ein Leerzeichen ist. Wenn es sich um ein Leerzeichen handelt, führt das Terminal das Leerzeichen als Befehl aus, was zu Ausführungsverzögerungen und einer zusätzlichen Zeile im neuen Terminalfenster führt. Machen Sie es einfach zu einer vollständig leeren Zeichenfolge: do shell script ""und dann wird ein neues Terminalfenster geöffnet, in dem jedoch keinerlei Befehle ausgegeben werden.
Dakota
Ja, du hast recht. Ich habe die Antwort aktualisiert, um das Leerzeichen zwischen den Anführungszeichen zu entfernen. Um jedoch zu arbeiten, muss es sein do script ""und nicht do shell script "", wie @dakota vorschlug
tmdavison
3

Stellen Sie in den Anwendungszuweisungen in den Systemeinstellungen -> Bereiche entweder Terminal auf "Jeder Bereich" ein oder löschen Sie den Eintrag. Dann sollte es kein Problem sein, ein neues Terminal-Fenster zu öffnen, wo immer Sie möchten, z. B. durch Klicken auf das Dock-Kontextmenü "Neues Fenster" (funktioniert auch, wenn Sie die Option "Beim Wechsel zu einer App in den Space mit geöffneten Fenstern wechseln" ausgewählt haben "App" aktiviert).

wm
quelle
Der erste Satz ist, soweit ich das beurteilen kann, irrelevant. Bei der Einstellung "Jeder Speicherplatz" wird der Speicherplatz weiterhin geändert, wenn ein neues Fenster über AppleScript oder eine Tastenkombination geöffnet wird, und das Dock-Kontextmenü ändert den Speicherplatz unabhängig von dieser Einstellung nicht. Das Interessante an dieser Antwort ist die Option "Wenn Sie zu einer App wechseln, wechseln Sie mit geöffneten Fenstern von dieser App aus in den Weltraum". Das Deaktivieren "behebt" den Tastatur- / AppleScript-Fall, "bricht" aber leider die Befehlsregisterkarte. Wenn nur OS-X eine ordnungsgemäße "Cycle Windows" -Tastenbelegung hätte, die für alle Fenster in allen Apps in allen Bereichen funktioniert.
Laurence Gonsalves
@LaurenceGonsalves, Sie können mit Befehl-Links / Rechts-Pfeil durch alle Terminalfenster über alle Bereiche blättern. Hilft das?
Chris Seite
@ Chris Das sind interessante Verknüpfungen, danke, aber sie lösen nicht das Problem, auf das ich mich beziehe. Wenn die Einstellung "Beim Wechseln zu einer App ..." deaktiviert ist und Sie sich in einem Bereich ohne Terminalfenster befinden und Sie die Befehlstaste auf "Terminal" drücken, wird nicht in einen Bereich mit einem Terminalfenster und umgeschaltet Command-Backtick macht nichts. Erstaunlicherweise macht der Befehlspfeil nach links / rechts auch in diesem Fall nichts (zumindest auf Snow Leopard). Diese Tasten wechseln zwischen Fenstern über Leerzeichen, wenn ein Fenster in der aktuellen Anwendung den Fokus hat. Wenn jedoch kein Fenster den Fokus hat, geschieht nichts.
Laurence Gonsalves
2
tell application "Terminal"
    do script ""
    activate
end tell

Um dies unter Lion zu erledigen, geben Sie das obige in ein neues AppleScript-Fenster ein und speichern es. Rufen Sie das Skript über einen Befehlsstarter wie QuickSilver auf oder weisen Sie es einer Tastenkombination zu. Dies sollte funktionieren, auch wenn Sie die Einstellung "Beim Wechsel zu einer Anwendung wechseln Sie zu einem Bereich mit geöffneten Fenstern für die Anwendung" in Mission Control aktiviert haben. Der Trick besteht darin, den Befehl activate zuletzt und nicht am Anfang auszuführen.

Stefan Ludwig
quelle
Alternativ können Sie einen Dienst mit Automator erstellen und ihn über eine Tastenkombination in den Systemeinstellungen aktivieren
Dakota,
0

Wenn Sie das Dock-Menü verwenden, um ein neues Fenster zu öffnen, wird es im aktuellen Bereich geöffnet.


quelle
Gibt es eine Möglichkeit, dies über die Tastatur zu tun?
Laurence Gonsalves
Control-F3 ist "Fokus zum Dock verschieben". Mit den Pfeiltasten können Sie durch das Dock-Symbol-Menü des Terminals navigieren. Sie können auch eingeben, um Menüelemente nach Namen auszuwählen, z. B. "N" oder "New W". Unter Systemeinstellungen> Tastatur> Tastaturkürzel> Tastatur und Texteingabe finden Sie alle Tastaturkürzel zum Auswählen und Navigieren in der Benutzeroberfläche.
Chris Seite
Das ist möglich. Sie müssen mit Automator einen speziellen Dienst erstellen, den Sie dann über die Systemeinstellungen an eine Tastenkombination binden können: apple.stackexchange.com/a/13655/36722
Dakota
0

Sie können OSX-Switching-Spaces automatisch deaktivieren, wenn Sie Anwendungen mit den folgenden Befehlen wechseln:

defaults write com.apple.dock workspaces-auto-swoosh -bool NO
killall Dock

Funktioniert auf 10.6.8

OrangeBox
quelle
Auch dafür gibt es eine GUI-Einstellung. Sie befindet sich in "Mission Control".
SilverWolf - Setzen Sie Monica am