Wie starte ich GUI-Anwendungen vom Terminal aus?

Wir alle wissen, wie man Anwendungen von der GUI mit einem Doppelklick auf das Symbol oder durch Klicken auf die App im Dock startet, und es gibt zahlreiche Möglichkeiten, dies zu tun, und sie sind alle relativ schnell. Wenn Sie jedoch eine angemessene Zeit mit der Befehlszeile verbringen, ist es schön, Mac-Apps direkt von dort aus starten zu können. Außerdem verfügt das Terminal über einen angemessenen Anteil an Anwendungen, die im textbasierten Modus ausgeführt werden. Vielleicht möchten Sie jedoch eine Textdatei in der OS X-GUI-App TextWrangler statt in textbasiertem nano oder vim bearbeiten.

Wir zeigen Ihnen, wie Sie eine grafische Mac-App über die Befehlszeile von OS X starten, wie Sie bestimmte Dateien über die Befehlszeile mit einer GUI-App öffnen und wie Sie diese Dateien mit Root-Zugriff bearbeiten und öffnen können .

Öffnen von Mac OS X-Anwendungen über die Befehlszeile

Der Terminal-Befehl zum Starten von OS X-GUI-Apps wird entsprechend als "open" bezeichnet und hier geht es am einfachsten:

open -a ApplicationName

Dadurch wird die definierte App mit dem Namen "ApplicationName" geöffnet.

Aber offen ist viel mächtiger als das. Wenn Sie an der Eingabeaufforderung nur 'open' eingeben, erhalten Sie die grundlegende Hilfedatei mit Details zur korrekten Verwendung des Befehls mit einer Vielzahl von Flags und Syntax. Obwohl der Befehl open in allen Versionen von Mac OS X vorhanden ist, variieren die Fähigkeiten etwas, je nachdem, welche Version von OS X auf dem Mac ausgeführt wird. Nichtsdestotrotz sehen Sie in modernen Veröffentlichungen Folgendes:

$ open
Usage: open [-e] [-t] [-f] [-W] [-R] [-n] [-g] [-h] [-b ] [-a ] [filenames] [--args arguments]
Help: Open opens files from a shell.
By default, opens each file using the default application for that file.
If the file is in the form of a URL, the file will be opened as a URL.
Options:
-a Opens with the specified application.
-b Opens with the specified application bundle identifier.
-e Opens with TextEdit.
-t Opens with default text editor.
-f Reads input from standard input and opens with TextEdit.
-F --fresh Launches the app fresh, that is, without restoring windows. Saved persistent state is lost, excluding Untitled documents.
-R, --reveal Selects in the Finder instead of opening.
-W, --wait-apps Blocks until the used applications are closed (even if they were already running).
--args All remaining arguments are passed in argv to the application's main() function instead of opened.
-n, --new Open a new instance of the application even if one is already running.
-j, --hide Launches the app hidden.
-g, --background Does not bring the application to the foreground.
-h, --header Searches header file locations for headers matching the given filenames, and opens them.

Mit anderen Worten, die Beispiel-Befehlssyntax könnte wie folgt aussehen und "ApplicationName" mit der Datei öffnen, die sich im Pfad '/ file / to / open' befindet:

open -a ApplicationName /file/to/open

Sie werden feststellen, dass Sie nicht den vollständigen Pfad zum Anwendungsnamen benötigen, sondern den vollständigen Pfad zu einem Dateinamen benötigen.

Die Verwendung ist wahrscheinlich für diejenigen selbsterklärend, die Erfahrung in der Befehlszeilenumgebung haben, aber für diejenigen, die neu im Terminal sind, sei nicht zu verwirrt, es ist einfach zu benutzen und wir erklären es. Wenn Sie zum Beispiel / etc / motd mit TextWrangler bearbeiten möchten, um Ihre Nachricht des Tages zu ändern, aber Sie die Befehlszeilen-Editoren nano und vi hassen, geben Sie Folgendes ein:

$ open -a TextWrangler /etc/motd

Jetzt können Sie diese Dateien in der gewohnten GUI bearbeiten. open ist intelligent genug, um zu wissen, dass Sie beim Anwenden des Flags -a eine Anwendung starten, sodass Sie nicht den vollständigen Pfad eingeben müssen. Offensichtlich wird jedoch immer noch der vollständige Pfad zu der Datei benötigt, die Sie bearbeiten.

Es gibt viele andere Verwendungsmöglichkeiten für den Befehl "Öffnen" als nur das Bearbeiten von Textdateien. Nutzen Sie Ihre Fantasie und werden Sie kreativ. open könnte besonders nützlich für Systemadministratoren sein, die es in einem Shell-Skript verwenden, um vielleicht eine bestimmte GUI-Anwendung zu einem geplanten Zeitpunkt zu starten.

Beachten Sie auch, dass Sie, wenn Sie eine Anwendung mit Leerzeichen in ihrem Namen starten, nach jedem Wort einen umgekehrten Schrägstrich hinzufügen möchten. Öffnen von Adobe Photoshop CS würde folgendermaßen aussehen:

$ open -a Adobe\ Photoshop\ CS

Starten von GUI Apps als root über die Befehlszeile

Sie können Dateien sogar mit sudo öffnen, indem Sie den Befehl open verwenden, wenn Sie eine Datei als root bearbeiten müssen, zum Beispiel:

sudo open -a TextEdit /tmp/magicfile

Dadurch wird die Zieldatei als root-Benutzer in der gewünschten Anwendung gestartet, wodurch die Root-Berechtigung zum Bearbeiten und Ändern der Datei vollständig vergeben wird. Dies ist für die Bearbeitung vieler Systemdateien sehr hilfreich. Ändern Sie natürlich keine Systemdatei, wenn Sie nicht wissen, was Sie tun.

Erstellen von Shell-Aliasen für häufig gestartete GUI-Apps

Es ist also ein bisschen nervig, einen kompletten Befehl wiederholt einzugeben oder all das wieder und wieder zu tippen, oder? Nun, machen wir es einfacher, indem Sie einer Anwendung, die häufig gestartet wird, einen Alias ​​zuweisen. Wir nehmen die oben erwähnte Adobe Photoshop App als Beispiel, da der Dateiname sehr lang ist. Deshalb werden wir dies mit der standardmäßigen Bash-Shell von Mac OS X tun:

Starten Sie zuerst das Profil oder .bash_profile in einem Texteditor:

$ nano .profile

oder

$ open -e .profile

Wenn Sie ignorieren, was auch immer in dieser Datei enthalten sein mag (sie könnte auch leer sein), fügen Sie einer neuen Zeile Folgendes hinzu:

alias photoshop="open -a Adobe\ Photoshop\ CS"

Dadurch wird ein Alias ​​erstellt, sodass der Befehl "open -a Adobe \ Photoshop CS" jetzt auf "Photoshop" verkürzt wird. Speichern Sie .profile, und Sie sind auf dem Weg! Sie können den alias-Befehl in Verbindung mit open für praktisch alles verwenden. Achten Sie darauf, einen Alias ​​für einen Befehl auszuwählen, der noch nicht existiert.

Der open-Befehl ist wirklich praktisch, wie Sie sehen können. Wenn Sie in OS X andere nützliche Funktionen dafür haben, lassen Sie es uns in den Kommentaren wissen.