밤에 데스크탑의 오디오를 음소거한 다음 아침에 음소거를 해제하도록 두 개의 cron 작업을 설정했습니다(이메일 및 기타 알림으로 인해 잠에서 깨어나지 않습니다).
lumpy@cheetoserver:~$ crontab -e
# At 10:15 PM every night, mute the volume
15 22 * * * /usr/bin/amixer -q set Master mute
# At 7AM every morning, unmute the volume
0 7 * * * /usr/bin/amixer -q set Master unmute
밤에는 오디오가 음소거되지만 아침에는 음소거가 해제되지 않습니다. 그러나 셸에서 오전 7시 음소거 해제 명령을 실행하면 다음과 같습니다.
/usr/bin/amixer -q set Master unmute
...오디오가 즉시 음소거 해제됩니다.
두 명령을 crontab에 입력하기 전에 테스트했는데 즉시 음소거 및 음소거 해제되었습니다(즉, 단일 음소거를 상쇄하기 위해 두 번 음소거 해제할 필요가 없습니다).
이것이 작동하지 않는 이유에 대해 누구든지 밝힐 수 있습니까?
답변1
똑같은 문제가 있는 다른 사람들의 게시물을 찾았습니다. 문제는 cron 작업이 실행되는 것 같습니다.필요한 컨텍스트 없음을 클릭하고 export DISPLAY=:0
각 작업에 솔루션을 추가합니다.
lumpy@cheetoserver:~$ crontab -e
# At 10:15 PM every night, mute the volume
15 22 * * * export DISPLAY=:0 && /usr/bin/amixer -q set Master mute
# At 7AM every morning, unmute the volume
0 7 * * * export DISPLAY=:0 && /usr/bin/amixer -q set Master unmute
set Master
완전성을 기하기 위해 위의 두 작업을 변경하기 위해 언급된 몇 가지 솔루션을 추가하겠습니다 set Master playback
. 이것은 내 상황에 영향을 미치지 않았지만 첫 번째 솔루션으로 문제가 해결되지 않으면 이 솔루션을 시도해 볼 수 있습니다.