Я хочу показать диалоговое окно как в начале сеанса, так и после n минут бездействия. Я решил использовать zenity
и xautolock
. Я успешно использую оба из командной строки (bash).
zenity --text=text --warning
xautolock -time 15 -locker "zenity --text=sometext --warning"
Однако есть некоторые ограничения:
zenity
покажет только первое слово и попытается проанализировать другие слова как параметры. Чтобы исправить это, я заключаю текст в двойные кавычки ("
), но это приводит к следующему: xautolock
принимает всю команду zenity
в качестве опции для своего параметра -locker
. Команда состоит из нескольких слов, поэтому я должен заключить ее в кавычки. Но изначально у него уже были кавычки, поэтому он конфликтует с кавычками внутри кавычек. --text="$(cat .filename)"
. Так что теперь у меня есть:
zenity --text="$(cat .filename)" --warning
xautolock -time 15 -locker "zenity --text=\"$(cat .filename)\" --warning"
Если я запускаю каждую строку отдельно в терминальном сеансе (bash), они работают . Курсор останавливается в ожидании завершения процесса, но диалоговые окна отображаются так, как они мне нужны.
Теперь мне нужно, чтобы он запускался автоматически без вмешательства пользователя. Что я сделал:
command.sh
в моей папке ~
, вставил эти две строки, сделал это исполняемый файл. ~/command.sh
в качестве записи в Startup Applications не работает . Ничего не происходит, ничего не отображается , нет сообщения об ошибке, ничего. Согласно этому ответу , он должен работать. Оказывается, что каждая запись в Списке приложений Запуска создается как a .desktop
файл на ~/.config/autostart$
.
Как упомянуто и ответом @muru и ответом по вопросу он связался, .desktop
файлы не разворачивают тильду, как оболочка была бы. Ни один у них, кажется, есть $ {ДОМАШНЯЯ} переменная.
Таким образом, решение состояло в том, чтобы добавить следующую строку к ~/.pam_environment
файл:
PATH DEFAULT=${PATH}:${HOME}/scripts
Затем поместите мой .sh
сценарий на ~/scripts
папка, и добавляет script.sh
, никакие префиксы, к Списку приложений Запуска.
Попытайтесь поместить их в сценарий и добавить что сценарий как запись в Ваших Приложениях Запуска. Достаточно трудно использовать переменные среды и ~
в файлах на рабочем столе, уже не говоря о законченной замене команды, как проявлено Файлы на рабочем столе don' t, кажется, используют $PATH правильно и , Как включать переменную среды в средство запуска для значка .