Jak uruchamiać aplikacje GUI jako root w systemie Mac OS X

Anonim

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.

Jak uruchamiać aplikacje GUI jako root w systemie Mac OS X