heemayl ha fornito la risposta corretta per iniziare cron
a correre all'inizio e alla fine dell'ora. Grazie ancora! Tuttavia, poiché altri utenti hanno scoperto che cronjob
non è possibile riprodurre file audio per impostazione predefinita:
Configurazione cron
per riprodurre suoni
Per cron
poter riprodurre file audio è necessario disporre di export
una variabile di ambiente:
export XDG_RUNTIME_DIR="/run/user/1000"
Una volta fatto ciò nella tua sceneggiatura verranno riprodotti i suoni.
Come sottolineato da un'altra risposta, il tuo ID utente potrebbe non essere sempre 1000
. Per trovare il tuo ID utente usa:
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
Se il tuo ID utente non è 1000, cambia lo script nel tuo ID.
Configurare cron
per eseguire la parte superiore dell'ora e la parte inferiore dell'ora
crontab -e
impostazione (solo ultime 5 righe):
# 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
La maggior parte degli utenti si installa cron
per usare l' nano
editor. Usa questi tasti di controllo nano
per salvare il tuo lavoro:
- Aggiungi le ultime due righe sopra e usa Ctrl+ Oper scrivere O ut (salva) il file.
- Viene
/tmp...
presentato un nome file, ma non preoccuparti, premi semplicemente Enter.
- Ora usa Ctrl+ Xper farlo X l'
nano
editor.
Lo bottom-of-hour-chime
script funziona anche all'inizio dell'ora ma, va bene dato che è breve e dolce.
Se non hai la >/dev/null
fine delle righe cron
prova a inviarti un'e-mail con l'output del comando. Se non hai configurato il server di posta, nel tuo /var/log/syslog
file appare un messaggio di errore :
Oct 02 10:00:07 dell CRON[21259]: (CRON) info (No MTA installed, discarding output)
Configurazione cron
per visualizzare le notifiche popup
Lo script visualizza un messaggio di notifica a comparsa nella parte superiore di ogni ora. Quindi per questo è necessario esportare una variabile aggiuntiva:
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
Contenuti di 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%
Il export XDG_RUNTIME_DIR...
è necessario per ottenere il suono di gioco. Questo perché cron
funziona in un ambiente minimo. Questa riga deve essere omessa per prima se si utilizza un lettore audio di terze parti. Quindi se nessun suono ripristina la linea. Quindi ancora se nessun suono, ben felice caccia!
I due principali programmi TV che guardo in rete hanno un volume più basso del normale, quindi ho la TV alzata più del normale. Di conseguenza, quando ogg123
riproducono file audio, suonano molto forte. Quindi pactl
viene utilizzato per ridurre il volume prima del segnale acustico e aumentarlo successivamente.
Contenuto del carillon di fine ora
Questo è quasi un duplicato top-of-hour-chime
e forse ridondante qui, ma incluso per scopi di documentazione completa.
#! /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%