У меня есть приложение с графическим интерфейсом, которое запускает пару сценариев, требующих корневого доступа. Обычно он запускается с помощью sudo, но я изменил сценарии (запустив только команды, требующие root-доступа с префиксом sudo), чтобы главное работало при обычном запуске.
Один случай, когда он не работает, - это когда я используйте скрипт автозапуска openbox, чтобы запустить его при входе в систему. Он запускается нормально, но скрипты не работают, и sudo.log не показывает никаких действий в течение этого периода.
Есть ли способ заставить эту настройку работать?
Я понял это. Насколько я могу судить, openbox не разрешает sudo (или gksudo или что-нибудь в этом роде) в своем автозапуске. chmod + s
для исполняемого файла - это способ, которым я принудительно запускал приложение от имени пользователя root. Это также сначала не сработало, потому что в qt5 (который использовался для создания приложения) вы не можете использовать suid по умолчанию - мне пришлось изменить его в коде.
Вы можете использовать gksudo вместо sudo для запуска GUI-приложений из терминала от имени root.