Jak uruchamiać aplikacje GUI jako root w systemie Mac OS X
Osoby zaznajomione z wierszem poleceń wiedzą, że uruchamianie rzeczy z uprawnieniami superużytkownika zazwyczaj sprowadza się do użycia polecenia sudo. To nadal obowiązuje w przypadku uruchamiania aplikacji GUI w systemie OS X z uprawnieniami roota, ale nie jest to tylko kwestia poprzedzania sudo przed skądinąd użytecznym poleceniem open, ponieważ „otwarte” uruchamia aplikacje jako pierwotny użytkownik, z sudo lub bez. Zamiast tego rozwiązaniem jest użycie sudo wskazującego bezpośrednio na plik wykonywalny zawarty w danym pliku pakietu aplikacji.
Uruchamianie aplikacji GUI systemu OS X jako użytkownik root
Składnia polecenia jest następująca:
sudo /ścieżka/do/aplikacji/nazwa aplikacji.app/ścieżka/do/plik wykonywalny
W większości przypadków będą to aplikacje przechowywane w katalogu /Applications/, a plik wykonywalny jest prawie zawsze przechowywany w Package/Contents/MacOS/ bez względu na nazwę aplikacji:
sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName
Na przykład to polecenie uruchamia znajomą aplikację TextEdit jako root:
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit
Aby uruchomić TextEdit jako aplikację działającą w tle, co oznacza, że nie zamknie się po zamknięciu okna terminala, zastosuj flagę -b do sudo: sudo -b /Applications/TextEdit .app/Contents/MacOS/TextEdit
Możesz potwierdzić, że aplikacja działa jako root, używając polecenia ps z grep, ponownie używając TextEdit jako przykładu:
ps au|grep TextEdit
Alternatywnie możesz spojrzeć na monitor aktywności aplikacji do zarządzania procesami systemu OS X i znaleźć aplikację działającą tam jako użytkownik „root”, jak pokazano na zrzucie ekranu u góry i krótkim filmie poniżej:
Jeśli zamierzasz często uruchamiać określoną aplikację jako root, możesz rozważyć umieszczenie aliasu w .bash_profile, aby skrócić ciąg polecenia.
Mimo że działa jako root, nie wszystkie pliki systemowe można modyfikować, a niektóre mogą być oznaczone jako „Zablokowane” po otwarciu w niektórych aplikacjach, takich jak TextEdit. Ten problem często można rozwiązać, włączając użytkownika root, jeśli jeszcze tego nie zrobiłeś, ale nie wszystkie aplikacje będą miały to ograniczenie.Niemniej jednak w przypadku niektórych zadań, takich jak edytowanie pliku hosts, nadal lepiej jest trzymać się wiersza poleceń i edytora tekstowego lub używać aplikacji takiej jak BBEdit lub TextWrangler.