heemayl hat die richtige Antwort gegeben, um cronzu jeder vollen und unteren Stunde laufen zu können. Danke noch einmal! Wie andere Benutzer jedoch festgestellt haben, cronjobkönnen Audiodateien standardmäßig nicht abgespielt werden:
Konfigurieren cronzum Abspielen von Sounds
Zum cronAbspielen von Audiodateien ist exporteine Umgebungsvariable erforderlich :
export XDG_RUNTIME_DIR="/run/user/1000"
Sobald dies in Ihrem Skript erledigt ist, werden Sounds abgespielt.
Wie aus einer anderen Antwort hervorgeht, ist Ihre Benutzer-ID möglicherweise nicht immer korrekt 1000. Um Ihre Benutzer-ID zu finden, verwenden Sie:
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
Wenn Ihre Benutzer-ID nicht 1000 ist, ändern Sie das Skript in Ihre ID.
Konfigurieren Sie crondie Ausführung zu jeder vollen und unteren Stunde
crontab -e Setup (nur letzte 5 Zeilen):
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
00 * * * * /usr/local/bin/top-of-hour-chime >/dev/null
00,30 * * * * /usr/local/bin/bottom-of-hour-chime >/dev/null
Die meisten Benutzer richten cronden nanoEditor ein. Verwenden Sie diese Steuertasten nano, um Ihre Arbeit zu speichern:
- Fügen Sie die letzten beiden Zeilen oben und Verwendung Ctrl+ Oschreiben O ut (Speichern) , um die Datei.
- Ein
/tmp...Dateiname wird angezeigt, aber seien Sie nicht besorgt, drücken Sie einfach Enter.
- Jetzt verwenden Ctrl+ Xauf E X den
nanoEditor.
Das bottom-of-hour-chimeSkript läuft auch zu jeder vollen Stunde, aber das ist in Ordnung, da es kurz und bündig ist.
Wenn Sie das >/dev/nullam Ende der Zeilen nicht haben , cronversuchen Sie, Ihnen eine E-Mail mit der Befehlsausgabe zu senden. Wenn Sie den Mailserver nicht eingerichtet haben, wird in Ihrer /var/log/syslogDatei eine Fehlermeldung angezeigt :
Oct 02 10:00:07 dell CRON[21259]: (CRON) info (No MTA installed, discarding output)
Konfigurieren cronder Anzeige von Popup-Benachrichtigungen
Das Skript zeigt zu jeder vollen Stunde eine Popup-Benachrichtigung an. Dazu muss eine zusätzliche Variable exportiert werden:
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
Inhalt von top-of-hour-chime
#! /bin/bash
# NAME: top-of-hour-chime
# PATH: /usr/local/bin
# DESC: Play sound called by cron
# CALL: Automatically called by /var/spool/cron/crontabs/<user_name>
# DATE: Created Oct 1, 2016. Modified June 10, 2018.
# UPDT: 2016-11-09 - Add notification bubble with time in text.
# 2018-06-10 - Switch from `ogg123` to `paplay` in default installation.
# exit # uncomment to suppress when watching movies
# paplay needs environment variable exported:
export XDG_RUNTIME_DIR="/run/user/1000"
# needed for notify-send
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
# get hour in 12 hour format
HOUR=$(date +%I)
ZHOUR=$(echo $HOUR | sed 's/^0*//')
pactl set-sink-volume 0 -25%
DISPLAY=:0 notify-send --urgency=critical --icon=/usr/share/icons/gnome/256x256/status/appointment-soon.png "It is ""$ZHOUR"" o'clock"
paplay '/usr/share/sounds/ubuntu/ringtones/Melody piano.ogg'
pactl set-sink-volume 0 +25%
Das export XDG_RUNTIME_DIR...ist notwendig, damit der Sound abgespielt wird. Dies liegt daran, dass es cronin einer minimalen Umgebung ausgeführt wird. Diese Zeile sollte zuerst weggelassen werden, wenn Sie einen Soundplayer eines Drittanbieters verwenden. Wenn dann kein Ton zu hören ist, setzen Sie die Leitung zurück. Dann noch wenn kein Ton, gut fröhliche Jagd!
Die beiden wichtigsten Fernsehnachrichtensendungen, die ich über das Internet sehe, haben eine geringere Lautstärke als normal, sodass der Fernseher höher als normal eingestellt ist. Folglich ogg123klingen Sounddateien beim Abspielen sehr laut. Wird pactlalso verwendet, um die Lautstärke vor dem Glockenspiel zu verringern und danach zu erhöhen.
Inhalt des Bottom-of-Hour-Glockenspiels
Dies ist fast ein Duplikat von top-of-hour-chimeund möglicherweise überflüssig, wird jedoch zu Zwecken der vollständigen Dokumentation aufgenommen.
#! /bin/bash
# NAME: bottom-of-hour-chime
# PATH: /usr/local/bin
# DESC: Play sound called by cron
# CALL: Automatically called by /var/spool/cron/crontabs/<user_name>
# DATE: Oct 1, 2016. Modified June 10, 2018.
# UPDT: 2018-06-10 Switch from `ogg123` to `paplay` installed by default.
# exit # Uncomment to suppress when watching movies.
# paplay needs environment variable exported:
export XDG_RUNTIME_DIR="/run/user/1000"
pactl set-sink-volume 0 -25%
paplay /usr/share/sounds/ubuntu/ringtones/Bliss.ogg
pactl set-sink-volume 0 +25%