Mac OS X: Terminal.App - Wie kann ich neue Anwendungen starten und den Fensterfokus übertragen?

4309

Wenn ich eine nicht-Befehlszeilenanwendung von Terminal.App aus starte, scheint es immer hinter dem Terminal.App-Fenster zu liegen, das ich ausführte. Ich habe dies für OpenGL- und X11-basierte Anwendungen und auch für native Anwendungen wie Xee bemerkt. Gibt es eine Präferenz, die ich vermisse? Wenn es eine Möglichkeit gibt, diese Anwendungen zu starten und den Fokus standardmäßig auf sie zu verschieben? Das wäre toll. Häufig laufen diese Programme von Terminal.App aus und halten stdin / stdout / stderr auf Terminal.App auf (dh sie werden über einen Interpreter wie Python ausgeführt). Also glaube ich nicht, dass ich es einfach mit Butler oder so etwas schreiben kann (jemand erwähnte Butler? Über Google). Ich möchte im Grunde nur den kindlichen Prozess formen und konzentrieren - würde das bedeuten, dass ich Terminal.App hacken müsste? Ist das überhaupt möglich (ist es Open Source)?

Hoffentlich fehlt mir etwas.

3

2 Antworten auf die Frage

3
lhoBas

Wie öffnen Sie eine nicht Befehlszeilenanwendung aus Terminal.app?

Mit open /Applications/TextMate.app(Sie können openmit jeder App oder Datei verwenden, geben Sie einfach den Pfad an) TextMate wurde gestartet und der Fokus wurde von Terminal zu TextMate verschoben.

Durch Anwenden der -gOption wird die App im Hintergrund geöffnet.

cool. Vielen Dank. das funktioniert für * .app-Apps (zB ~ / xee_dev / Xee.app). irgendwelche Ideen darüber, wie man Interpreter-basierte Anwendungen starten kann? (dh open / usr / bin / python script.py scheint nicht zu funktionieren. Ich denke, ich könnte ein .app-Verzeichnis oder etwas erstellen ....) thx wieder tho vor 14 Jahren 0
2
Hai Vu

Wenn Sie ein Python-Skript starten möchten:

$ python script.py 

So führen Sie eine Anwendung aus:

$ open -a textmate 

Ja, der Name der Anwendung unterscheidet nicht zwischen Groß- und Kleinschreibung. Wenn Sie das Skript in einem separaten Fenster ausführen möchten, verwenden Sie Umschalt + Befehl + N, geben Sie den Befehl ein und überprüfen Sie "Befehl in einer Shell ausführen".