Praxis — Der Pausenwecker
Ein konkretes Beispiel, das alle drei Ansätze zeigt: eine Erinnerung an die Pause um 11:15 Uhr — so präsent wie möglich.
Was ist am präsentesten?
Abschnitt betitelt „Was ist am präsentesten?“Zwei Werkzeuge eignen sich je nach Kontext:
# Terminal: wall schreibt auf ALLE offenen Terminals — unübersehbarwall "*** PAUSE! Es ist 11:15 ***"
# Desktop: notify-send zeigt eine Desktop-Benachrichtigungnotify-send -u critical -t 0 "Pause!" "Es ist 11:15 — Kaffeepause!"# -u critical → höchste Dringlichkeit, andere Farbe/Symbol# -t 0 → bleibt bis zur Bestätigung (nicht automatisch weggeblendet)Am besten beides kombiniert — plus optional ein Ton:
#!/bin/bashwall "*** PAUSE! Es ist 11:15 ***"DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus \ notify-send -u critical -t 0 "⏰ Pause!" "Es ist 11:15 — Kaffeepause!"paplay /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga 2>/dev/null || truechmod +x /usr/local/bin/pausenwecker.shHeute einmalig — mit at
Abschnitt betitelt „Heute einmalig — mit at“Schnellste Einrichtung, kein Neustart nötig:
echo '/usr/local/bin/pausenwecker.sh' | at 11:15Oder direkt ohne Skript-Datei:
at 11:15 << 'EOF'wall "*** PAUSE! Es ist 11:15 ***"DISPLAY=:0 DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus \ notify-send -u critical -t 0 "Pause!" "Es ist 11:15"EOFJob prüfen und wieder entfernen:
atq # Job-Nummer anzeigenatrm 3 # Job 3 löschenTäglich — mit cron
Abschnitt betitelt „Täglich — mit cron“crontab -eZeile einfügen:
15 11 * * 1-5 /usr/local/bin/pausenwecker.sh1-5 = Montag bis Freitag. Wieder entfernen: crontab -e und die Zeile löschen.
Täglich — mit systemd-run
Abschnitt betitelt „Täglich — mit systemd-run“Der eleganteste Weg: systemd-run --user läuft direkt in der Desktop-Sitzung —
kein DBUS-Problem, kein separates Skript zwingend nötig:
systemd-run --user \ --on-calendar="*-*-* 11:15:00" \ --unit=pausenwecker \ /usr/local/bin/pausenwecker.shStatus und Logs:
systemctl --user list-timerssystemctl --user status pausenwecker.timerjournalctl --user -u pausenwecker.serviceWieder entfernen:
systemctl --user disable --now pausenwecker.timer