Як запускати програми з графічним інтерфейсом користувача як root у Mac OS X

Anonim

Ті, хто знайомий з командним рядком, знають, що запуск речей із привілеями суперкористувача зазвичай є просто питанням використання команди sudo. Це все ще актуально для запуску програм із графічним інтерфейсом користувача в OS X із привілеями root, але справа не лише в додаванні 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

Крім того, ви можете переглянути програму керування процесами OS X Activity Monitor і знайти програму, яка працює там від імені користувача root, як показано на знімку екрана вгорі та короткому відео нижче:

Якщо ви маєте намір часто запускати певну програму як root, ви можете розмістити псевдонім у .bash_profile, щоб скоротити командний рядок.

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

Як запускати програми з графічним інтерфейсом користувача як root у Mac OS X