Zum Inhalt springen

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.

Zwei Werkzeuge eignen sich je nach Kontext:

Terminal-Fenster
# Terminal: wall schreibt auf ALLE offenen Terminals — unübersehbar
wall "*** PAUSE! Es ist 11:15 ***"
# Desktop: notify-send zeigt eine Desktop-Benachrichtigung
notify-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:

/usr/local/bin/pausenwecker.sh
#!/bin/bash
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 — Kaffeepause!"
paplay /usr/share/sounds/freedesktop/stereo/alarm-clock-elapsed.oga 2>/dev/null || true
Terminal-Fenster
chmod +x /usr/local/bin/pausenwecker.sh

Schnellste Einrichtung, kein Neustart nötig:

Terminal-Fenster
echo '/usr/local/bin/pausenwecker.sh' | at 11:15

Oder direkt ohne Skript-Datei:

Terminal-Fenster
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"
EOF

Job prüfen und wieder entfernen:

Terminal-Fenster
atq # Job-Nummer anzeigen
atrm 3 # Job 3 löschen
Terminal-Fenster
crontab -e

Zeile einfügen:

15 11 * * 1-5 /usr/local/bin/pausenwecker.sh

1-5 = Montag bis Freitag. Wieder entfernen: crontab -e und die Zeile löschen.

Der eleganteste Weg: systemd-run --user läuft direkt in der Desktop-Sitzung — kein DBUS-Problem, kein separates Skript zwingend nötig:

Terminal-Fenster
systemd-run --user \
--on-calendar="*-*-* 11:15:00" \
--unit=pausenwecker \
/usr/local/bin/pausenwecker.sh

Status und Logs:

Terminal-Fenster
systemctl --user list-timers
systemctl --user status pausenwecker.timer
journalctl --user -u pausenwecker.service

Wieder entfernen:

Terminal-Fenster
systemctl --user disable --now pausenwecker.timer