Как я могу использовать следующий диалог с запросом пароля из оболочки? (GNOME)

enter image description here

Как я могу вызвать приведенный выше диалог из сценария оболочки, который должен запрашивать пароль?

Я уже встречал и используйте для этой цели zenity , хотя первое мне нравится больше по эстетическим соображениям (да, иногда это имеет значение ;-).

Альтернатива Zenity:

enter image description here

zenity --password --title="Enter private passphrase"

Ubuntu 20.04, GTK, GNOME

1
задан 22 August 2020 в 12:06

1 ответ

Я знаю, что этому сообщению почти 6 месяцев, но никто не предложил использовать инструмент yad (еще один диалог). Вот как это выглядит:

yad screenshot

Полная команда:

password="$(yad --center --width=300 --image=keys.png --entry --hide-text --button=gtk-ok:0 --button=gtk-cancel:1 --title="Authentication required" --text="Enter password:")"

Пароль не отображается на экране при вводе (это делает "--hide-text"). Кнопки стандартные gtk "ОК" и "Отмена". В этом примере к введенному паролю можно получить доступ из переменной $password, например

echo $password

Если нажата кнопка отмены, код возврата ($?) из yad равен 1 (из --button=gtk-cancel:1), а код возврата равен 0 при нажатии кнопки OK (из --button= gtk-ок: 0).

yad можно установить в более поздних версиях Ubuntu из Центра программного обеспечения, 16.04 требует установки с помощью:

sudo apt install yad

Домашняя страница yad находится здесь: https://sourceforge.net/projects/yad-dialog/

Другие примеры использования yad можно найти здесь: https://sourceforge.net/p/yad-dialog/wiki/browse_pages/

0
ответ дан 25 January 2021 в 16:42

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

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