1

bashのスクリプトの場合、実行されていない場合はconkyを開始し、ランダムな壁紙を選択します

#! /bin/bash
## dependances : randomize-lines

# otherwise wont work with cron
export DISPLAY=0
while read line ; do
echo $line | grep -vqe "^#"
if [ $? -eq 0 ]; then export $line; fi
done < ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-$DISPLAY

# random background
pathToImage="$HOME/Images/wallpaper/"
img="`find $pathToImage -name \*.jpg | rl | tail -n 1`"
/usr/bin/gconftool -t str -s /desktop/gnome/background/picture_filename $img

# test if conky is running
if ps ax | grep -v grep | grep conky > /dev/null
then
    echo "conky running"
else
    echo "conky is not running"
    conky
fi

ターミナル内でスクリプトを実行しようとすると

$ ~/script/wallpaper/random-background.sh 
conky is not running
Conky: can't open display: 0

DISPLAY = 0の前にテストを配置すると、ターミナルでは機能しますが、cronでは機能しません

ありがとうございました

4

2 に答える 2

4

私はそれがすべきだと思います

export DISPLAY=:0

しかし、それはうまくいきません

~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-$DISPLAY

しかし、あなたはそれをに変更することができます

~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-0
于 2009-11-30T08:38:06.010 に答える
2

あなたは「:」を逃しました:

export DISPLAY=:0
于 2009-11-30T08:38:46.740 に答える