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
Gentooで使用されます。
答え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/