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чтобы е X это
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%