heemayl дав правильну відповідь, щоб змусити cron
бігати у верхній і нижній частині години. Знову дякую! Однак, оскільки інші користувачі виявили, що cronjob
звукові файли за замовчуванням не можуть відтворювати:
Налаштування cron
для відтворення звуків
Для cron
відтворення звукових файлів потрібна export
змінна середовище:
export XDG_RUNTIME_DIR="/run/user/1000"
Як тільки це буде зроблено у вашому сценарії, звуки відтворюватимуться.
Як зазначив інший відповідь ваш ідентифікатор користувача може бути не завжди 1000
. Щоб знайти свій ідентифікатор користувача, виконайте вказані нижче дії.
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
Якщо ваш ідентифікатор користувача не 1000, змініть скрипт на свій ідентифікатор.
Налаштуйте cron
для запуску вгорі та внизу години
crontab -e
налаштування (лише останні 5 рядків):
# 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
Більшість користувачів налаштовані cron
на використання nano
редактора. Використовуйте ці клавіші управління, nano
щоб зберегти свою роботу:
- Додайте останні два рядки вище та використовуйте Ctrl+, Oщоб написати O ut (зберегти) файл.
/tmp...
Файл представлено, але не турбуйтеся, просто натисніть кнопку Enter.
- Тепер використовуйте Ctrl+ Xдо e X it
nano
редактор.
У bottom-of-hour-chime
пробігах сценаріїв у верхній частині годин теж , але, що це нормально , так як цей короткий і солодкі.
Якщо у вас немає >/dev/null
в кінці рядків, cron
намагається надіслати вам повідомлення електронною поштою. Якщо у вас не встановлено поштовий сервер, у вашому /var/log/syslog
файлі з’являється повідомлення про помилку :
Oct 02 10:00:07 dell CRON[21259]: (CRON) info (No MTA installed, discarding output)
Налаштування cron
для відображення спливаючих повідомлень
Сценарій відображає спливаюче повідомлення сповіщення вгорі кожної години. Тож для цього потрібно експортувати додаткову змінну:
eval "export $(egrep -z DBUS_SESSION_BUS_ADDRESS /proc/$(pgrep -u $LOGNAME gnome-session)/environ)";
Зміст 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%
export XDG_RUNTIME_DIR...
Необхідно отримати звук гри. Це тому, що cron
працює в мінімальних умовах. Цей рядок слід спочатку опустити, якщо ви використовуєте сторонній програвач звуку. Тоді, якщо немає звуку, поверніть лінію назад. Тоді ще якщо звуку немає, ну щасливе полювання!
У двох головних новинних телепередачах, які я дивлюся по мережі, є більш м'який, ніж звичайний, тому телевізор увімкнено вище, ніж зазвичай. Отже, під час ogg123
відтворення звукових файлів вони звучать дуже голосно. Так pactl
використовується для зменшення гучності перед звуком і збільшення його після.
Зміст передзвону в дні
Це майже дублікат top-of-hour-chime
і, можливо, зайве тут, але включений для цілей документації.
#! /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%