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