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%