Будучи компульсивным пользователем компьютера, я весь день перед ним. Иногда я теряю счет времени, когда работаю над своим компом. Мне нужна служба уведомлений, чтобы предупредить меня о текущем времени, либо всплывающим уведомлением, либо воспроизводимым звуком, либо обоими способами.
Для всплывающего окна я нашел стандарт уведомлений Free Desktop, который использует DBus API .
Я был в состоянии создать уведомление с помощью DFeet , графический Dbus исследователь. Я использовал следующие аргументы:
"wakeup", 1234, "", "The time is", "9PM", [], [], 1
Пока он работает нормально, но как я могу взять его дальше?
- Как мне вызвать это из командной строки?
- Как мне автоматизировать эту команду? Является ли по-
cron
прежнему рекомендуемым способом автоматизации действий на основе времени? - Как мне воспроизводить звуки вместе с всплывающим окном? Или через API FreeDesktop или через медиаплеер?
Полное решение будет оценено и возможно полезно для других.
notification
dbus
HRJ
источник
источник
dbus-send
может быть приложение для использования, и да,cron
это рекомендуемый способ.dbus-send
не работает, потому что он не поддерживает некоторые параметры, требуемые этим API. Я смотрю вpynotify
.Ответы:
Поскольку я не мог использовать,
dbus-send
я написал вместо этого скрипт на Python. Модуль pynotify внутренне используетdbus
API. Для дополнительных ударов я добавил в сообщение печенье с предсказанием. Работает как шарм:Я тогда запланировал это, используя
cron
. Вcrontab
выглядит запись типа:Обновление : добавлен метод воспроизведения звука с использованием импульсного звука.
источник
Вы можете использовать простой скрипт на Python, например:
источник
Вы можете отправлять сообщения с помощью команды dbus-send. Смотрите man: dbus-send для более подробной информации об этом.
источник
dbus-send
. К сожалению, это не работает в этом случае, потому чтоdbus-send
не может создать словарь с вариантами, которые требует API