Вот отчет обо всем, что я нашел до сих пор:
Это в настоящее время работает на меня, и я не видел проблем до сих пор:
ACTIVE=$(ck-list-sessions | awk -F' = ' '
function f(){if(A=="TRUE"){P=U"\t"D;gsub("'"'"'","",P);print P}}
$1=="\tunix-user"{U=$2}
$1=="\tx11-display"{D=$2}
$1=="\tactive"{A=$2}
END{f()} /^[^\t]/{f()}
')
USERID=${ACTIVE% *} # tab
USERNAME=$(getent passwd $USERID|cut -f1 -d':')
DISPLAY=${ACTIVE#* } # tab
DISPLAY="$DISPLAY" su $USERNAME -c "zenity --info --title='My Title' --text='My text. Notice the single quotes.'"
Но я тестировал уведомление - отправляют команду (упомянутый здесь), и это, казалось бы, еще более подходило бы для моей ситуации....
К сожалению, это имеет недостаток в KDE, который уведомления скрывают вскоре, и я не нашел способ отключить тот тайм-аут (-t 0, не работал). Для моего существующего примера использования я склонен любить диалоговое окно, которое должно быть отклонено нажатием кнопки. Так или иначе вот детали, уведомляют - отправьте:
Уведомление - отправляет, команда позволяет Вам отправлять настольные уведомления пользователю через демона уведомления из командной строки. Это полезно, чтобы сообщить настольному пользователю о событии или отобразить некоторую форму информации без того, чтобы стоять на пути. Необходимо установить следующий пакет:
$ sudo apt-get install libnotify-bin
В этом примере отправьте простое настольное уведомление от командной строки, войдите:
notify-send "rsnapshot done :)"
Однако в процессе поиска решений, я также нашел что-то, что я абсолютно люблю! Я буду удалять все вызовы в Zenity во всех моих сценариях и заменять их easybashgui.
http://sites.google.com/site/easybashgui/
EasyBashGUI является библиотекой функций Bash для *BSD и GNU/Linux, который имеет целью давать простые функции графического интерфейса пользователя с помощью yad, gtkdialog, kdialog, zenity, Xdialog, (c) диалоговое окно, whiptail или колотить builtins в зависимости от KDE или выполнения GNOME или нет, Yad/Gtkdialog/Xdialog установленный или не и, в конечном счете, выполнения X-сервера или нет.
Я также нашел Yad, который заменит Zenity для меня в будущем. easybashgui может использовать/называть Zenity, yad, gtkdialog, kdialog, Xdialog, (c) диалоговое окно, whiptail или колотить builtins. Таким образом, я буду постепенно сокращать Zenity и использовать yad в соответствующих случаях.
Отобразите графические диалоговые окна из сценариев оболочки или командной строки - Google Project Hosting http://code.google.com/p/yad/
Yad (еще одно диалоговое окно) является ветвлением Zenity со многими улучшениями, такими как пользовательские кнопки, дополнительные диалоговые окна, всплывающее меню в значке уведомления и т.д.
Было две главных причины сделать это ветвление. Первый должен удалить зависимости от библиотек устаревших, таких как libglade и холст гнома. И второй - что касается меня, Zenity похож на заброшенный проект. Его ChangeLog состоит из просто "версии удара к..." и "перевод, обновленный" в течение долгого времени, но многими интересными идеями, которые проигнорированы разработчиками/специалистами по обслуживанию, было в GNOME Bugzilla.
Как don_crissti упоминания, решения по этому unix.stackexchange.com являются, вероятно, соответствующими:
Откройте окно на удаленном X дисплеев (почему "Не может открыть дисплей")?
Я столкнулся с этой проблемой сегодня, но смог исправить ее и сохранить установку, выполнив следующие действия:
Источник:https://bugzilla.redhat.com/show_bug.cgi?id=1413191
Я столкнулся с этой проблемой сегодня после обновления до Fedora 33. Я по глупости запустил команду 'dnf autoremove', упомянутую на странице Fedora Wiki, которая, вероятно, удалила мою конфигурацию grub и shim. Шаги, которые мне нужны, в целом аналогичны шагам Smurph269 выше (, хотя URL-адрес исходной ссылки был очень полезен )...
Загрузите Live Image и загрузитесь с него.
Откройте терминал.
Используйте fdisk -l
для просмотра структуры диска на высоком уровне. Кроме того, вы можете использовать приложение gparted
в графическом интерфейсе, чтобы отобразить аналогичные детали.
Создайте эти каталоги в/mnt
:
cd /mnt
mkdir boot boot/efi home dev proc sys run
Используйте udisksctl unlock -b /dev/sda4
для снятия -блокировки вашей зашифрованной файловой системы (с ). Имя устройства отображается как «зашифрованное» на дисплее gparted.
Используйте vgscan --mknodes
для отображения любых групп томов, затем vgchange -ay
для активации групп томов. Проверьте с помощью lvdisplay
, чтобы увидеть логические тома.
Монтируйте файловые системы в следующем порядке (имена файлов вашего устройства /dev/ *могут отличаться):
mount /dev/fedora/root /mnt
mount /dev/sda3 /mnt/boot
mount /dev/sda2 /mnt/boot/efi
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
mount -o bind /run /mnt/run
Запустите chroot /mnt
, чтобы перейти в новую среду.
dnf install grub2-efi-x64 grub2-efi-x64-modules
dnf reinstall /tmp/shim-0.8-10.x86_64.rpm
. RPM-прокладки не было ни в одном репозитории, но, к счастью, я нашел ее в каталоге /tmp.
grub2-mkconfig -o /boot/efi/EFI/fedora/grub.cfg
. Это должно правильно перенастроить grub.
Выйти и повторно -загрузиться.Скрестим пальцы и удачи:-)