Я очень, очень плохо знаком со сценариями. Вот простой скрипт (который работает), который я написал, который отображает изображение, когда прошло 5 минут:
sleep 300 && firefox file:///home/tasks/fiveminutes.jpg
Вот мой вопрос: иногда я не могу вспомнить, запустил ли я таймер. Есть ли способ добавить текстовую или пиктограмму (в идеале на панели задач, но в любом месте было бы замечательно), которая появляется в течение 5 минут (с момента запуска таймера до момента его завершения)?
Большое спасибо за любые предложения.
Ответы:
Вы можете отобразить всплывающее уведомление при запуске процесса. Просто измените ваш скрипт на
Вы можете установить продолжительность всплывающего уведомления с
-t
параметром (и время в миллисекундах) с помощьюnotify-send
команды, например, чтобы установить продолжительность для использования 5 минутно этот параметр может полностью игнорироваться в зависимости от среды вашего рабочего стола (см. это ).
источник
Достаточно иметь такой скрипт:
Это очень типичный способ и часто используется в сценариях оболочки. Что это делает, работает постоянно, и каждую четверть секунды он проверяет, выполняется ли ваш скрипт через
pgrep -f
.if..fi
операторы в сценариях оболочки работают с состоянием выхода команд, поэтомуpgrep -f
возвращение статуса успешного завершения означает, что он нашел процесс вашего сценария и он запущен. В противном случае мы переходим к другому заявлению.В обоих случаях мы печатаем строку текста, которая сообщает пользователю, работает он или нет. Также добавлена
printf "\r%b" "\033[2K"
возможность печати escape-последовательности для очистки линии (только для более чистого вывода).Оттуда небо - предел. Вы можете передать этот текст другому процессу в терминале через канал или вы можете передать выходные данные из скрипта мониторинга в индикатор-системный монитор , который позволяет отображать пользовательскую информацию в индикаторе. Может быть установлен через
После этого просто настройте индикатор для отображения пользовательской команды, которая будет скриптом мониторинга. Пример настройки пользовательской команды можно найти здесь .
Конечно, можно написать собственный индикатор на Python, но это может быть просто излишним, когда уже есть инструмент для этого.
источник
indicator-sysmonitor
звучит полезно, я должен попробовать это.Вот пусковая установка Python, основанная на этом ответе и дополнительном исследовании в Интернете, которая хорошо работает в Ubuntu 16.04:
Создайте исполняемый файл и поместите вышеуказанные строки в качестве его содержимого. Давайте предположим, что файл называется
script-indicator.py
. В зависимости от ваших потребностей и характера сценария вы можете использовать этот модуль запуска одним из следующих способов:script.sh
тот, который вы хотите указать.Снимок экрана сделан только после
script.sh
окончания:В качестве альтернативы вы можете разместить сценарий так,
/usr/local/bin
чтобы он был доступен для всей системы команд оболочки. Вы можете скачать его с этого посвятить GitHub Gist:Я проверил это с помощью следующего синтаксиса:
источник
С
osd_cat
Вы можете использовать
osd_cat
изxosd-bin
пакета, например:Это отображает «работает» с размером шрифта в
100
течение5
нескольких секунд в позиции20,50
на экране и начинается,firefox
когда он будет готов - вам не нужноsleep
с этим подходом. Вы можете использовать,xfontsel
чтобы получить X Logical Font Descriptor (эта странная-*-*-…
штука) для-f
опции, например, если вы хотите использовать другой шрифт. Читайтеman osd_cat
больше вариантов.С
yad
Вы можете использовать
yad
следующим образом:Преимущество в том, что вы можете прервать выполнение команды или выполнить ее немедленно, если вы ничего не сделаете,
5
в этом примере она закроется через несколько секунд.источник
yad
окно может быть свернуто, текст OSD не может.Вы можете взять этот уже работающий скрипт
multi-timer
и вырезать большую его часть для общего таймера обратного отсчета:Он использует то же, что
indicator-sysmonitor
описано в ответе Сержа.Часть Systray
Brightness: 2344
также отображается тем же сценарием.Если вычеркнуть ненужные части кода bash слишком сложно для новых пользователей, я был бы рад опубликовать здесь скрипт
show-sleep
с необходимой ограниченной функциональностью. Просто оставьте комментарий ниже.источник