Хорошей отправной точкой может быть Ubuntu Wiki. Особенно для Unity взгляните на проект Ayatana
https://wiki.ubuntu.com/Ayatana
[EDIT] Если вам нравится Python, также взгляните на Quickly
https://wiki.ubuntu.com/Ayatana
Это система управления проектами с некоторыми специальными функциями, такими как упаковка и распространение исходного кода на launchpad.net , что также является хорошим местом для поиска информации
Если вы запустите следующий сценарий в фоновом режиме, он будет проверять время простоя каждые 5 секунд. Если время простоя превышает заданный промежуток времени (в минутах), появится сообщение, определенное в текстовом файле. (через окно Zenity).
#!/usr/bin/env python3
import subprocess
import time
#########################################
t=15
textfile = "/path/to/message_textfile"
#########################################
with open(textfile, "r") as text:
message = text.read()
while 1!=0:
get_idle = subprocess.Popen(["xprintidle"], stdout=subprocess.PIPE)
result = get_idle.communicate()[0].decode("utf-8")
if int(result)/60000>t:
if warning_given == "yes":
pass
else:
subprocess.Popen(["zenity", "--warning", "--no-wrap", "--text="+message, ])
warning_given = "yes"
else:
warning_given = "no"
time.sleep(5)
Как использовать
install xprintidle:sudo apt-get install xprintidle
Скопировать сценарий в пустой файл, установите время простоя (t) в минутах и установите путь к текстовому файлу, содержащему текст сообщения. Сохраните его как set_warning.py Запустите его командой python3 /path/to/set_warning.py
Как использовать
установить xprintidle:sudo apt-get install xprintidle
[ ! d6] Способ отображения сообщения может быть «изменен» с другими параметрами zenity. Вот что я сделал:
xautolock -time 15 -locker "zenity --text='<text here>' --warning"
Я добавил эту строку в качестве записи в сессионных приложениях учетной записи, которая была софт связана с /etc/guest-session/skel, поэтому она будет запускаться каждый раз, когда начинается гостевая сессия.