Jak uruchamiać aplikacje GUI z terminala
Wszyscy wiemy, jak uruchamiać aplikacje z GUI, klikając dwukrotnie ikonę lub klikając aplikację w Docku, i jest na to wiele sposobów, a wszystkie są stosunkowo szybkie. Jeśli jednak spędzasz przyzwoitą ilość czasu z wierszem poleceń, miło jest móc uruchamiać aplikacje Mac bezpośrednio z tego miejsca. Ponadto Terminal ma sporo aplikacji działających w trybie tekstowym, ale być może chciałeś edytować plik tekstowy w aplikacji TextWrangler GUI systemu Mac OS X zamiast tekstowego nano lub vima.
Zademonstrujemy, jak uruchomić dowolną graficzną aplikację Mac z wiersza poleceń systemu MacOS X, w tym jak otwierać określone pliki z wiersza poleceń za pomocą aplikacji GUI oraz jak edytować i otwierać te pliki z uprawnieniami administratora, jeśli to konieczne.
Otwieranie aplikacji Mac OS X z wiersza poleceń
Polecenie Terminalu do uruchamiania aplikacji MacOS GUI jest odpowiednio nazwane „otwarte”, a oto jak to działa w najprostszy sposób:
open -a ApplicationName
Spowoduje to otwarcie zdefiniowanej aplikacji o nazwie „Nazwa aplikacji”.
Ale otwarcie jest o wiele potężniejsze. Jeśli po prostu wpiszesz „otwórz” w wierszu polecenia, zwrócisz podstawowy plik pomocy ze szczegółowymi informacjami na temat prawidłowego używania polecenia z różnymi flagami i składnią.
Chociaż polecenie open istnieje we wszystkich wersjach systemu Mac OS X, jego możliwości różnią się nieco w zależności od wersji systemu MacOS/Mac OS X uruchomionej na komputerze Mac. Niemniej jednak w nowoczesnych wersjach zobaczysz to:
$ otwórz Użycie: otwórz Pomoc: Otwórz otwiera pliki z powłoki. Domyślnie otwiera każdy plik przy użyciu domyślnej aplikacji dla tego pliku. Jeśli plik ma postać adresu URL, plik zostanie otwarty jako adres URL. Opcje: -a Otwiera z określoną aplikacją. -b Otwiera z określonym identyfikatorem pakietu aplikacji. -e Otwiera za pomocą TextEdit. -t Otwiera z domyślnym edytorem tekstu. -f Odczytuje wejście ze standardowego wejścia i otwiera za pomocą TextEdit. -F --fresh Uruchamia aplikację od nowa, to znaczy bez przywracania systemu Windows. Utracono zapisany trwały stan, z wyjątkiem dokumentów bez tytułu. -R, --reveal Wybiera w Finderze zamiast otwierać. -W, --wait-apps Blokuje, dopóki używane aplikacje nie zostaną zamknięte (nawet jeśli były już uruchomione). --args Wszystkie pozostałe argumenty są przekazywane w argv do funkcji main() aplikacji zamiast otwierania. -n, --new Otwiera nowe wystąpienie aplikacji, nawet jeśli już działa. -j, --hide Uruchamia ukrytą aplikację. -g, --background Nie przenosi aplikacji na pierwszy plan.-h, --header Przeszukuje lokalizacje plików nagłówkowych w poszukiwaniu nagłówków pasujących do podanych nazw plików i otwiera je.
Innymi słowy, przykładowa składnia prostego polecenia może wyglądać następująco, otwierając „NazwaAplikacji” z plikiem znajdującym się w ścieżce „/plik/do/otwórz”:
open -a Nazwa aplikacji /plik/do/otwórz
Pamiętaj, że nie potrzebujesz pełnej ścieżki do nazwy aplikacji, ale potrzebujesz pełnej ścieżki do nazwy pliku.
Zastosowanie jest prawdopodobnie oczywiste dla tych, którzy mają doświadczenie w środowisku wiersza poleceń, ale dla tych, którzy są nowicjuszami w Terminalu, nie bądź zbyt zdezorientowany, jest łatwy w użyciu i my' wyjaśnię. Na przykład, jeśli chcesz edytować plik /etc/motd za pomocą TextWranglera, aby zmienić wiadomość dnia, ale nie lubisz edytorów wiersza poleceń nano i vi, wpisz:
$ otwórz -a TextWrangler /etc/motd
Teraz możesz edytować te pliki w znajomym graficznym interfejsie użytkownika. open jest wystarczająco inteligentny, aby wiedzieć, że zastosowanie flagi -a uruchamia aplikację, więc nie trzeba wpisywać pełnej ścieżki. Oczywiście nadal będzie potrzebna pełna ścieżka do pliku, który edytujesz.
Polecenie open ma wiele innych zastosowań niż tylko edytowanie plików tekstowych, więc użyj swojej wyobraźni i bądź kreatywny. open może być szczególnie przydatny dla administratorów systemu, którzy używają go w skrypcie powłoki, na przykład do uruchamiania określonej aplikacji GUI w zaplanowanym czasie.
Warto również zauważyć, że jeśli uruchamiasz aplikację ze spacjami w nazwie, po każdym słowie będziesz chciał dodać ukośnik odwrotny. Otwarcie programu Adobe Photoshop CS wyglądałoby tak:
$ otwórz -a Adobe\ Photoshop\ CS
Uruchamianie aplikacji GUI jako root z wiersza poleceń
Możesz nawet otwierać pliki za pomocą sudo, używając polecenia open, jeśli chcesz edytować plik jako root, na przykład:
sudo open -a TextEdit /tmp/magicfile
Spowoduje to uruchomienie pliku docelowego w żądanej aplikacji jako użytkownik root, co daje pełne uprawnienia administratora do edytowania i modyfikowania pliku, co jest bardzo pomocne przy edytowaniu wielu plików systemowych. Oczywiście nie modyfikuj żadnych plików systemowych, jeśli nie wiesz, co robisz.
Tworzenie aliasów powłoki dla często uruchamianych aplikacji GUI
Więc wielokrotne wpisywanie pełnego polecenia lub wpisywanie wszystkiego w kółko jest trochę uciążliwe, prawda? Cóż, ułatwmy to, przypisując alias do często uruchamianej aplikacji. Jako przykład weźmiemy wyżej wymienioną aplikację Adobe Photoshop, ponieważ nazwa pliku jest długa, więc oto jak to zrobimy z domyślną powłoką Bash systemu Mac OS X:
Najpierw uruchom profil lub .bash_profile w edytorze tekstu:
$ nano .profile
lub
$ otwórz -e .profile
Ignorując wszystko inne, co może znajdować się w tym pliku (może być również pusty), dodaj następujący wiersz w nowej linii:
"alias photoshop=open -a Adobe\ Photoshop\ CS"
Spowoduje to utworzenie aliasu, dzięki czemu polecenie „otwórz -a Adobe\ Photoshop CS” jest teraz skracane do prostego „photoshop”. Zapisz .profile i gotowe! Możesz użyć polecenia alias w połączeniu z poleceniem otwórz praktycznie do wszystkiego, pamiętaj tylko, aby wybrać alias do polecenia, które jeszcze nie istnieje.
Polecenie otwierania jest bardzo przydatne, jak widać. Jeśli masz jakieś inne przydatne zastosowania w systemie Mac OS X, koniecznie daj nam znać w komentarzach.