Вы можете задать пароль с помощью графического интерфейса с помощью -A, --askpass
.
Из справочной страницы:
-A, --askpass
Normally, if sudo requires a password, it will read it from the user's terminal. If the -A
(askpass) option is specified, a (possibly graphical) helper program is executed to read the user's
password and output the password to the standard output. If the SUDO_ASKPASS environment variable
is set, it specifies the path to the helper program. Otherwise, if sudo.conf(5) contains a line
specifying the askpass program, that value will be used. For example:
# Path to askpass helper program
Path askpass /usr/X11R6/bin/ssh-askpass
If no askpass program is available, sudo will exit with an error.
Таким образом, вы можете использовать графическую вспомогательную программу, например, ssh-askpass
которая запрашивает у пользователя пароль с помощью GNOME:
$ which ssh-askpass
/usr/bin/ssh-askpass
Итак, добавьте следующую строку в /etc/sudo.conf
:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
И вы найдете подсказку пароля GUI:
Вы также можете использовать другую программу, как zenity
для этого. Пример я использую следующее:
$ cat /etc/sudo.conf
# Path to askpass helper program
Path askpass /usr/local/bin/zenity_passphrase
Где zenity_passphrase
это пользовательский сценарий набор для использования непосредственно в качестве команды:
$ cat $(which zenity_passphrase)
#!/bin/bash
zenity --password --title="sudo password prompt" --timeout=10
Который работает как:
Примечание:
Вы также можете использовать gksudo
(GTK + внешний интерфейс для su и sudo) вместо sudo
сценария, который запрашивает в командной строке GUI:
Вы также можете использовать pkexec
( приложение polkit ) с некоторыми (для других необходимо настроить) приложениями / командами:
pkexec leafpad
, он выдаетCannot open display:
после ввода пароля. Нужна ли дополнительная конфигурация?DISPLAY=:0 pkexec leafpad
Cannot open display:
появляется то же сообщение