Рекомендуемые, 2024

Выбор редактора

Как запускать графические приложения от имени пользователя root в Mac OS X

Объект 430 ВарианÑ, Топь, Стан

Объект 430 ВарианÑ, Топь, Стан

Оглавление:

Anonim

Те, кто знаком с командной строкой, знают, что запуск вещей с привилегиями суперпользователя, как правило, это просто вопрос использования команды sudo. Это по-прежнему справедливо при запуске приложений с графическим интерфейсом в OS X с правами суперпользователя, но дело не только в добавлении sudo к полезной в противном случае команде open, поскольку «open» запускает приложения как исходный пользователь, с sudo или без него. Вместо этого решение заключается в использовании sudo, указывающего непосредственно на исполняемый файл, содержащийся в данном файле пакета приложений.

Запуск приложений 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 Monitor для управления процессами OS X и найти приложение, работающее там, под именем «root», как показано на скриншоте вверху и в коротком видео ниже:

Если вы собираетесь часто запускать определенное приложение от имени пользователя root, вы можете рассмотреть возможность размещения псевдонима в .bash_profile для сокращения командной строки.

Несмотря на то, что он работает от имени пользователя root, не все системные файлы могут быть изменены, а некоторые могут быть помечены как «Заблокированные» при открытии в некоторых приложениях, таких как TextEdit. Эту проблему часто можно решить, включив пользователя root, если вы еще этого не сделали, но не у всех приложений будет такое ограничение. Тем не менее, для определенных задач, таких как редактирование файла хостов, вам все еще лучше придерживаться командной строки и текстового редактора, или использовать приложение, такое как BBEdit или TextWrangler.

Top