установить программу sbin в .desktop [duplicate]

Я создал значок рабочего стола для gddccontrol, но для его запуска мне нужно выполнить его из sudo. Есть ли способ запустить команду с значка на рабочем столе, например,

sudo -pPASSWORD gddccontrol

, чтобы он не запрашивал у меня пароль в терминале?

Я просто хочу щелкнуть и запустите его с разрешениями sudo.

[Desktop Entry] Type=Application Name=GDDCControl Terminal=false Comment=gddccontrol ddccontrol Exec=sudo -pPASSWORD gddccontrol Icon=~/Pictures/10429.png

Когда я запускаю значок из терминала со следующей командой Exec, он работает хорошо, но он не работает в Launcher: (

Exec=echo mypasswd | sudo -S gddccontrol
8
задан 20 August 2016 в 17:36

4 ответа

Я против жесткого пароля в текстовом файле, поэтому я могу представить два возможных решения:

сделать общесистемное редактирование, что каждая команда, выданная вашим пользователем с sudo, запускается как суперпользователь без запроса пароля. Вы можете узнать, как в этом ответе. Если вы не хотите, чтобы команды sudo всегда выполнялись с приглашением пароля, лучше всего использовать gksu перед вашей командой, чтобы запрашивать пароль в графическом окне, а не записывать свой необработанный пароль в файл ,
0
ответ дан 18 July 2018 в 09:29

Используя sudo, по определению введите запрос пароля. Что вам нужно сделать, так это предоставить разрешения на выполнение для вашего пользователя. Я не уверен, где находится эта программа, но ради этого ответа предположим, что это /usr/bin/.

В терминальном прогоне это:

sudo chmod o+x /usr/bin/gddccontrol

Эта команда предоставляет другим пользователям (например, вы) право выполнять программу без необходимости разрешения.

Затем в файле .desktop просто используйте:

Exec=gddccontrol
3
ответ дан 18 July 2018 в 09:29

Я против жесткого пароля в текстовом файле, поэтому я могу представить два возможных решения:

сделать общесистемное редактирование, что каждая команда, выданная вашим пользователем с sudo, запускается как суперпользователь без запроса пароля. Вы можете узнать, как в этом ответе. Если вы не хотите, чтобы команды sudo всегда выполнялись с приглашением пароля, лучше всего использовать gksu перед вашей командой, чтобы запрашивать пароль в графическом окне, а не записывать свой необработанный пароль в файл ,
0
ответ дан 24 July 2018 в 19:21
  • 1
    нет других способов без редактирования sudoers и gksu? потому что gksu каким-либо образом спрашивает пароль, но когда я кладу на диван в вечернее время, я бы хотел просто запустить gddccontrol с мышью, уменьшив яркость / контраст и продолжая смотреть фильм, не входя в мою клавиатуру. я бы лучше дал моему пользователю доступ к $ gddccontrol dev: / dev / i2c-4: Permission denied я просто хочу простой способ без головной боли изменить яркость и контраст в вечернее время :( – Eugene 20 August 2016 в 11:32
  • 2
    @ Евгений, я могу себе представить. В таком случае я бы пошел на файл sudoers. – Jacob Vlijm 20 August 2016 в 11:37
  • 3
    Предпочитают pkexec над gksu; Я считаю, что в этом есть мета-сообщение. – cat 20 August 2016 в 17:31
  • 4
    @cat pkexec не работает на приложениях gui именно так. Сложнее настроить, а gksu работает отлично. – Jacob Vlijm 20 August 2016 в 21:36
  • 5
    Но мне не нужно дополнительно устанавливать pkexec на 16.04. – Valentas 5 February 2017 в 22:04

Используя sudo, по определению введите запрос пароля. Что вам нужно сделать, так это предоставить разрешения на выполнение для вашего пользователя. Я не уверен, где находится эта программа, но ради этого ответа предположим, что это /usr/bin/.

В терминальном прогоне это:

sudo chmod o+x /usr/bin/gddccontrol

Эта команда предоставляет другим пользователям (например, вы) право выполнять программу без необходимости разрешения.

Затем в файле .desktop просто используйте:

Exec=gddccontrol
3
ответ дан 24 July 2018 в 19:21

Другие вопросы по тегам:

Похожие вопросы: