So starten Sie GUI-Anwendungen vom Terminal aus
Wir alle wissen, wie man Anwendungen über die GUI mit einem Doppelklick auf das Symbol oder einem Klick 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 auch direkt von dort aus starten zu können. Außerdem verfügt das Terminal über einen beträchtlichen Anteil an Anwendungen, die im textbasierten Modus ausgeführt werden, aber vielleicht wollten Sie eine Textdatei in der Mac OS X GUI-App TextWrangler bearbeiten und nicht im textbasierten nano oder vim.
Wir werden demonstrieren, wie man eine beliebige grafische Mac-App über die Befehlszeile von MacOS X startet, einschließlich des Öffnens bestimmter Dateien über die Befehlszeile mit einer GUI-App und wie man sie bearbeitet und öffnet diese Dateien mit Root-Zugriff, falls erforderlich.
Öffnen von Mac OS X-Anwendungen über die Befehlszeile
Der Terminal-Befehl zum Starten von MacOS-GUI-Apps heißt passenderweise „Öffnen“ und so funktioniert 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 einfach „Öffnen“ eingeben, erh alten Sie die grundlegende Hilfedatei mit Details zur ordnungsgemäßen Verwendung des Befehls mit einer Vielzahl von Flags und Syntax.
Während der Befehl „Öffnen“ in allen Versionen von Mac OS X vorhanden ist, variieren die Fähigkeiten etwas, je nachdem, welche Version von MacOS / Mac OS X auf dem Mac ausgeführt wird. Nichtsdestotrotz sehen Sie in modernen Versionen Folgendes:
$ öffnen Verwendung: öffnen Hilfe: Öffnen öffnet Dateien aus einer Shell. Öffnet standardmäßig jede Datei mit der Standardanwendung für diese Datei. Wenn die Datei in Form einer URL vorliegt, wird die Datei als URL geöffnet. Optionen: -a Öffnet mit der angegebenen Anwendung. -b Öffnet mit der angegebenen Anwendungspaketkennung. -e Öffnet mit TextEdit. -t Öffnet mit Standard-Texteditor. -f Liest Eingaben von der Standardeingabe und öffnet mit TextEdit. -F --fresh Startet die App neu, d. h. ohne Wiederherstellung von Windows. Der gespeicherte dauerhafte Zustand geht verloren, mit Ausnahme von unbenannten Dokumenten. -R, --reveal Wählt im Finder aus, anstatt ihn zu öffnen. -W, --wait-apps Blockiert, bis die verwendeten Anwendungen geschlossen werden (auch wenn sie bereits ausgeführt wurden). --args Alle verbleibenden Argumente werden in argv an die main()-Funktion der Anwendung übergeben, anstatt geöffnet zu werden. -n, --new Öffnet eine neue Instanz der Anwendung, auch wenn bereits eine ausgeführt wird. -j, --hide Startet die App versteckt. -g, --background Bringt die Anwendung nicht in den Vordergrund.-h, --header Durchsucht Speicherorte von Header-Dateien nach Headern, die mit den angegebenen Dateinamen übereinstimmen, und öffnet sie.
Mit anderen Worten, ein Beispiel für eine einfache Befehlssyntax könnte wie folgt aussehen, wobei „ApplicationName“ mit der Datei geöffnet wird, 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, aber Sie würden den vollständigen Pfad zu einem Dateinamen benötigen.
Die Verwendung ist für diejenigen, die Erfahrung in der Befehlszeilenumgebung haben, wahrscheinlich selbsterklärend, aber für diejenigen, die neu im Terminal sind, seien Sie nicht zu verwirrt, es ist einfach zu verwenden und wir' Ich werde es erklären. Wenn Sie beispielsweise /etc/motd mit TextWrangler bearbeiten möchten, um Ihre Nachricht des Tages zu ändern, aber die Befehlszeileneditoren nano und vi hassen, geben Sie Folgendes ein:
$ open -a TextWrangler /etc/motd
Jetzt können Sie diese Dateien in der vertrauten GUI bearbeiten. open ist intelligent genug, um zu wissen, dass Sie eine Anwendung starten, wenn Sie das Flag -a anwenden, 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 Anwendungen für den Befehl „Öffnen“, als nur Textdateien zu bearbeiten, also lassen Sie Ihrer Fantasie freien Lauf und werden Sie kreativ. open könnte besonders nützlich für Systemadministratoren sein, die es in einem Shell-Skript verwenden, vielleicht um eine bestimmte GUI-Anwendung zu einem festgelegten Zeitpunkt zu starten.
Bemerkenswert ist auch, dass Sie beim Starten einer Anwendung mit Leerzeichen im Namen nach jedem Wort einen umgekehrten Schrägstrich einfügen sollten. Das Öffnen von Adobe Photoshop CS würde folgendermaßen aussehen:
$ open -a Adobe\ Photoshop\ CS
GUI-Apps als Root von der Befehlszeile aus starten
Sie können sogar Dateien mit sudo öffnen, indem Sie den open-Befehl verwenden, wenn Sie eine Datei als root bearbeiten müssen, zum Beispiel:
sudo open -a TextEdit /tmp/magicfile
Dies startet die Zieldatei in der gewünschten Anwendung als Root-Benutzer und gibt volle Root-Rechte zum Bearbeiten und Modifizieren der Datei, was beim Bearbeiten vieler Systemdateien sehr hilfreich ist. Ändern Sie natürlich keine Systemdatei, wenn Sie nicht wissen, was Sie tun.
Erstellen von Shell-Aliassen für häufig gestartete GUI-Apps
Also ist es ziemlich mühsam, einen vollständigen Befehl wiederholt einzugeben oder das alles immer und immer wieder abzutippen, richtig? Machen wir es uns einfacher, indem wir einer Anwendung, die häufig gestartet wird, einen Alias zuweisen. Wir nehmen die oben erwähnte Adobe Photoshop-App als Beispiel, da der Dateiname lang ist, also machen wir das hier mit der Standard-Bash-Shell von Mac OS X:
Starten Sie zuerst das Profil oder .bash_profile in einem Texteditor:
$ nano .profile
oder
$ open -e .profile
Ignorieren Sie alles andere in dieser Datei (sie könnte auch leer sein), fügen Sie Folgendes in eine neue Zeile ein:
"alias photoshop=open -a Adobe\ Photoshop\ CS"
Dadurch wird ein Alias erstellt, sodass der Befehl „Öffnen -a Adobe\Photoshop CS“ jetzt einfach zu „Photoshop“ abgekürzt wird. Speichern Sie .profile und schon sind Sie unterwegs! Sie können den Alias-Befehl in Verbindung mit open für praktisch alles verwenden, stellen Sie nur sicher, dass Sie einen Alias für einen Befehl auswählen, der noch nicht existiert.
Der Befehl „Öffnen“ ist wirklich praktisch, wie Sie sehen können. Wenn Sie ihn in Mac OS X noch anderweitig verwenden können, teilen Sie uns dies unbedingt in den Kommentaren mit.