heemayl 은 cron
시간의 맨 위와 시간의 맨 아래에서 실행되도록 정답을 제공했습니다 . 다시 감사합니다! 그러나 다른 사용자는 cronjob
기본적으로 사운드 파일을 재생할 수 없음 을 발견했습니다 .
cron
소리를 재생하도록 구성
위해에 대한 cron
이 필요 사운드 파일 재생 export
환경 변수를 :
export XDG_RUNTIME_DIR="/run/user/1000"
이 작업이 끝나면 스크립트 사운드가 재생됩니다.
다른 답변으로 지적 하여 사용자 ID는 항상하지 않을 수 있습니다 1000
. 사용자 ID를 찾으려면 다음을 사용하십시오.
$ id
uid=1000(rick) gid=1000(rick) groups=1000(rick),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
사용자 ID가 1000이 아닌 경우 스크립트를 ID로 변경하십시오.
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 유타 (저장) 파일을.
/tmp...
파일 이름이 제시되어 있지만, 단순히 눌러 걱정하지 않습니다 Enter.
- 이제 Ctrl+ X를 사용 하여 편집기를 X로
nano
만드십시오.
bottom-of-hour-chime
이 짧고 달콤한 이후 OK입니다 너무 시간의 상단하지만,에서 스크립트가 실행됩니다.
>/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
최소한의 환경에서 실행 되기 때문 입니다. 타사 사운드 플레이어를 사용하는 경우이 줄을 먼저 생략해야합니다. 그런 다음 소리가 들리지 않으면 회선을 다시 넣으십시오. 그래도 소리가 나지 않으면 행복하게 사냥!
인터넷을 통해 시청하는 두 가지 주요 TV 뉴스는 평소보다 볼륨이 부드럽기 때문에 TV를 평소보다 높게 설정했습니다. 결과적으로 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%