Запуск приложений OS X GUI как пользователя root
Синтаксис команды следующий:
sudo /Path/To/Application/ApplicationName.app/Path/To/Executable
В большинстве случаев это будут приложения, хранящиеся в каталоге / Applications /, и исполняемый файл почти всегда хранится в Package / Contents / MacOS / как любое имя приложения:
sudo /Applications/ApplicationName.app/Contents/MacOS/ApplicationName
Например, эта команда запускает знакомое приложение TextEdit от имени пользователя root:
sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit
Чтобы запустить TextEdit в качестве фонового приложения, это означает, что он не будет закрыт, если вы закроете окно терминала, примените флаг -b к sudo:
sudo -b /Applications/TextEdit.app/Contents/MacOS/TextEdit
Вы можете подтвердить, что приложение работает от имени root, используя команду ps с grep, снова используя TextEdit в качестве примера:
ps au | grep TextEdit
Кроме того, вы можете посмотреть приложение Activity Activity для управления процессами OS X и найти приложение, работающее там как «root», как показано на снимке экрана вверху и коротком видео ниже:
Если вы собираетесь часто запускать определенное приложение с правами root, вы можете рассмотреть возможность размещения псевдонима в .bash_profile для сокращения строки команды.
Несмотря на работу с правами root, не все системные файлы могут быть модифицируемыми, а некоторые могут быть отмечены как «заблокированные» при открытии в некоторых приложениях, таких как TextEdit. Эта проблема часто может быть решена путем включения пользователя root, если вы еще не сделали этого, но не все приложения будут иметь это ограничение. Тем не менее, для некоторых задач, таких как редактирование файла hosts, вам все равно лучше придерживаться командной строки и текстового редактора, или использовать такое приложение, как BBEdit или TextWrangler.