Możesz poprosić o hasło za pomocą GUI z pomocą -A, --askpass
.
Z strony podręcznika:
-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.
Tak więc, można graficznego programu pomocnika, takich jak ssh-askpass
, które monituje użytkownika o przepustkę Zwrot wykorzystaniem GNOME:
$ which ssh-askpass
/usr/bin/ssh-askpass
Dodaj następujący wiersz do /etc/sudo.conf
:
# Path to askpass helper program
Path askpass /usr/bin/ssh-askpass
I zobaczysz monit o hasło GUI:
Możesz także użyć do tego innego programu zenity
. Przykład używam następujących:
$ cat /etc/sudo.conf
# Path to askpass helper program
Path askpass /usr/local/bin/zenity_passphrase
Gdzie zenity_passphrase
jest niestandardowy zestaw skryptów, który ma być używany bezpośrednio jako polecenie:
$ cat $(which zenity_passphrase)
#!/bin/bash
zenity --password --title="sudo password prompt" --timeout=10
Który działa jak:
Uwaga:
Możesz także użyć gksudo
(GTK + frontend dla su i sudo) zamiast sudo
w skrypcie, który pyta w GUI:
Możesz także używać pkexec
( aplikacja polkit ) z niektórymi (dla innych trzeba skonfigurować) aplikacjami / poleceniami:
pkexec leafpad
daje sięCannot open display:
po wprowadzeniu hasła. Czy potrzebna jest jakaś dodatkowa konfiguracja?DISPLAY=:0 pkexec leafpad
Cannot open display:
pojawia się ten sam komunikat