Acho que está mudando HOME=/
para HOME=/home/ad
.
Eu tentei configurar a mudança do papel de parede através do cron em /etc/crontab
, mas falhei.
DISPLAY env definido diretamente / antes do cmd, mas ainda não está funcionando:
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"
trabalhado:
* * * * * root su - ad -c "DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/"
Agora estou usando o crontab do usuário ( crontab -e
) que funciona bem:
*/10 * * * * DISPLAY=:0.0 /usr/bin/awsetbg -a -r /home/ad/img/beauty/
O que mais eu tenho que definir?
cron's 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
Usando vixie-cron 4.1-r1
no Gentoo.
Esqueci completamente que awsetbg
é apenas script de shell que usa a variável $HOME
.
awsetbg - awesome wrapper tool to set background
Portanto, HOME
precisa ser definido.
* * * * * ad DISPLAY=:0,HOME=/home/ad /usr/bin/awsetbg -a -r /home/ad/img/beauty/
Se você usar diretamente algum aplicativo, funcionará apenas com DISPLAY env:
* * * * * ad DISPLAY=:0 feh --bg-max --randomize /home/ad/img/beauty/