시스템 crontab을 통해 사용자 배경 화면 변경

시스템 crontab을 통해 사용자 배경 화면 변경

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/

관련 정보