cron에서 cron을 통해 배경 화면 변경 설정을 시도했지만 /etc/crontab
실패했습니다.
cmd 이전에 DISPLAY env를 직접 설정했지만 여전히 작동하지 않습니다.
DISPLAY=:0.0
* * * * * ad env DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/
* * * * * ad DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/
* * * * * ad export DISPLAY=:0.0; /usr/bin/awsetbg -a -r /home/ad/img/beauty/
su - user -c "cmd"
일하다:
* * * * * root su - ad -c "DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/"
crontab -e
이제 나는 잘 작동하는 사용자의 crontab()을 사용합니다 .
*/10 * * * * DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/
그 밖에 설정해야 할 것이 있나요?
크로나 env
:
MAILTO=root
SHELL=/bin/bash
USER=ad
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/
SHLVL=1
HOME=/
LOGNAME=ad
DISPLAY=:0.0 # same result for DISPLAY=:0
_=/bin/env
vixie-cron 4.1-r1
젠투에서 사용됩니다.
답변1
HOME=/
변화 하고 있는 것 같아요 HOME=/home/ad
.
답변2
나는 이것이 변수를 awsetbg
사용하는 쉘 스크립트라는 것을 완전히 잊었습니다 $HOME
.
awsetbg - awesome wrapper tool to set background
그래서 HOME
설정이 필요합니다.
* * * * * ad DISPLAY=:0,HOME=/home/ad /usr/bin/awsetbg -a -r /home/ad/img/beauty/
애플리케이션을 직접 사용하는 경우 DISPLAY env에서만 작동합니다.
* * * * * ad DISPLAY=:0 feh --bg-max --randomize /home/ad/img/beauty/