Как запустить приложение с графическим интерфейсом от имени пользователя root при входе в систему?


12

Я хотел бы запустить приложение Gnome с привилегиями root при входе в систему.

Я попытался добавить скрипт для запуска с помощью update-rc.d myscript.sh defaults.

Похоже, приложение действительно запускается, но к моменту появления gnome gui его уже нет.

Как я могу это сделать?

Ответы:


12

Запуск графических объектов от имени root - плохая идея для безопасности, но я собираюсь предположить, что вы это знаете и что вы исчерпали любые другие методы. Вам нужно сделать две вещи:

  1. Позвольте вашему пользователю запускать команду sudoбез пароля путем редактирования /etc/sudoers. Вы можете найти краткое объяснение здесь, но вы ищете что-то вроде этого:

    username ALL=(ALL:ALL) NOPASSWD:/path/to/command 
    

    Очевидно, замените usernameи /path/to/commandреальными значениями, вставьте их тут же, а затем попробуйте sudo -k /path/to/command( -kпросто означает, что он запросит ваш пароль, если он не знает ничего лучше - он не спросит, было ли правильно отредактировано ваше sudoers).

  2. Автозапуск приложения через стандартные «Автозагрузка приложений», вызов sudo /path/to/command

Вот и все.


Если имя пользователя ALL = (ALL: ALL) NOPASSWD: / path / to / command в / etc / sudoers, sudo завершается с ошибкой разбора. ALL = NOPASSWD: / path / to / command, кажется, анализирует, но спрашивает у меня пароль, когда я запускаю команду.
Бенлад

1
Таким образом, кажется, что «username ALL = (ALL) NOPASSWD: / path / to / command» должно быть последним в файле sudoers, а также «username ALL = (ALL: ALL) NOPASSWD: / path / to / command» не работает с Ubuntu 8.04.
Бенлад

5

Вы можете попытаться создать пользовательский лаунчер приложений ( .desktopфайл) с помощью gksudo <command>команды as и добавить его в настройки автозапуска ( System - Settings - Autostartили Startup). Другим способом было бы поместить .desktopфайл непосредственно в ~/.config/autostartили (для всех пользователей) /etc/xdg/autostart.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.