Я знаю, что для того, чтобы выполнить программу CLI с помощью sudo, но без необходимости вводить пароль, все, что вам нужно сделать, это ввести
user ALL = NOPASSWD: /path/to/your/program
в /etc/sudoers или, что еще лучше, в файле в /etc/sudoers.d. Я пробовал это, и это работает без каких-либо проблем.
Однако для приложения GUI все по-другому. Если я попробую, например, поставить
user ALL = NOPASSWD: /usr/sbin/gparted
в том же файле при запуске GParted по-прежнему отображается обычный запрос пароля графического интерфейса.
Есть ли способ получить тот же результат для приложений с графическим интерфейсом? Я не знаю, зависит ли это от конкретной среды рабочего стола, но подозреваю, что зависит, учитывая, что каждая из них, вероятно, использует другой инструмент для отображения подсказки.
В моем конкретном случае я использую Kubuntu 18.04, поэтому предполагаю, что вопрос применим ко всем дистрибутивам KDE.
решение1
Это то же самое. Но не забудьте запустить программу, которую вам нужно сделать sudo program
. Поэтому, если лаунчер запускает программу, вам нужно направить лаунчер на исполняемый файл-оболочку, который содержит:
#!/bin/bash
sudo «program»
решение2
В дополнение к принятому ответу, который работает отлично, я хотел бы добавить, что в моем конкретном случае (в KDE) мне даже не нужно создавать исполняемый скрипт и указывать поле «команда» в пункте меню на этот скрипт.
Я могу напрямую ввести «sudo program» в поле «command» пункта меню, что очень удобно!