heemayl telah memberikan jawaban yang benar untuk bisa cron
berlari di bagian atas jam dan bagian bawah jam. Terima kasih lagi! Namun karena pengguna lain telah menemukan, cronjob
tidak dapat memutar file suara secara default:
Mengkonfigurasi cron
untuk memutar suara
Untuk cron
memutar file suara, perlu export
variabel lingkungan:
export XDG_RUNTIME_DIR="/run/user/1000"
Setelah ini selesai dalam skrip Anda, suara akan diputar.
Seperti yang ditunjukkan oleh jawaban lain, ID pengguna Anda mungkin tidak selalu 1000
. Untuk menemukan ID pengguna Anda gunakan:
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
Jika ID pengguna Anda bukan 1000, maka ubah skrip ke ID Anda.
Konfigurasikan cron
untuk menjalankan top of hour dan bottom of hour
crontab -e
pengaturan (hanya 5 baris terakhir):
# 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
Sebagian besar pengguna mengatur cron
untuk menggunakan nano
editor. Gunakan kunci kontrol ini nano
untuk menyimpan pekerjaan Anda:
- Tambahkan dua baris terakhir di atas dan gunakan Ctrl+ Ountuk menulis O ut (simpan) file.
- Sebuah
/tmp...
nama file disajikan, tetapi jangan khawatir, cukup tekan Enter.
- Sekarang gunakan Ctrl+ Xuntuk e X itu
nano
editor.
The bottom-of-hour-chime
Script berjalan di atas jam juga, tapi, itu OK karena itu pendek dan manis.
Jika Anda tidak memiliki >/dev/null
pada akhir baris cron
mencoba untuk mengirim email kepada Anda dengan output perintah. Jika Anda tidak memiliki pengaturan server mail, pesan kesalahan muncul di /var/log/syslog
file Anda :
Oct 02 10:00:07 dell CRON[21259]: (CRON) info (No MTA installed, discarding output)
Mengonfigurasi cron
untuk menampilkan pemberitahuan munculan
Skrip menampilkan pesan pemberitahuan sembulan di bagian atas setiap jam. Jadi untuk ini, variabel tambahan perlu diekspor:
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
Isi dari 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%
The export XDG_RUNTIME_DIR...
diperlukan untuk mendapatkan suara untuk bermain. Ini karena cron
berjalan di lingkungan minimal. Baris ini harus dihilangkan terlebih dahulu jika Anda menggunakan pemutar suara pihak ketiga. Maka jika tidak ada suara, kembalikan garis itu. Maka tetap saja jika tidak ada suara, selamat berburu juga!
Dua berita utama TV menunjukkan bahwa saya menonton di internet memiliki volume yang lebih lembut dari biasanya sehingga TV saya naik lebih tinggi dari biasanya. Akibatnya saat ogg123
memutar file suara mereka terdengar sangat keras. Jadi pactl
digunakan untuk mengurangi volume sebelum berpadu dan meningkatkannya setelah itu.
Isi dari bottom-of-jam-berpadu
Ini hampir merupakan duplikat top-of-hour-chime
dan mungkin berlebihan di sini, tetapi termasuk untuk tujuan dokumentasi lengkap.
#! /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%