我試圖運行this script,它將桌面背景更改爲目錄中的隨機圖片。它從命令行工作,並且cronjob運行(添加輸出並且它被吐出到一個日誌文件),但我不能讓它改變我的背景。這是我的當前行(設置爲每分鐘測試一次)。以用戶身份運行cronjob以更改Ubuntu中的桌面背景
01 * * * * username /home/username/.wallpapers/flip.sh
任何想法?
我試圖運行this script,它將桌面背景更改爲目錄中的隨機圖片。它從命令行工作,並且cronjob運行(添加輸出並且它被吐出到一個日誌文件),但我不能讓它改變我的背景。這是我的當前行(設置爲每分鐘測試一次)。以用戶身份運行cronjob以更改Ubuntu中的桌面背景
01 * * * * username /home/username/.wallpapers/flip.sh
任何想法?
錯誤:https://bugs.launchpad.net/ubuntu/+source/gconf/+bug/285937
我的版本:
#!/bin/bash
# Script to randomly set Background from files in a directory
# Directory Containing Pictures
DIR=/home/lucas/studio/art/images/tapety
LOG=/home/lucas/tapeta.log
# Command to Select a random file from directory
PIC="$(
for p in [jJ][pP][gG] [pP][nN][gG] [sS][vV][gG] ; do
ls $DIR/*.$p
done | shuf -n1
)"
# Command to set Background Image
if [ -z "$DBUS_SESSION_BUS_ADDRESS" ] ; then
# this is because of gconftool bug in cron
TMP=~/.dbus/session-bus
export $(grep -h DBUS_SESSION_BUS_ADDRESS= $TMP/$(ls -1t $TMP | head -n 1))
echo $DBUS_SESSION_BUS_ADDRESS >> $LOG
fi
gconftool-2 -t string -s /desktop/gnome/background/picture_filename "$PIC"
,並在Fedora的作品12
01 * * * * /home/username/.wallpapers/flip.sh
意味着它運行每隔一小時,如果你想運行它的每一分鐘,它必須是
*/1 * * * * /home/username/.wallpapers/flip.sh
語法上Wikipedia也描述。
或按照提議使用GNOME Schedule。
是flip.sh
可執行文件嗎?
編輯:和真,用戶名已被刪除(在系統範圍的cron文件,請參閱沉默的評論)。也許這CronHowto也有幫助。
如果您編輯系統範圍的crontab(/ etc/crontab中),你應該設置的用戶名。但是,如果您通過ctontab -e(用戶的crontab)編輯,則不需要。 CMIIW。 – ariefbayu 2010-02-02 08:13:07
cron腳本無法訪問用戶的顯示。改爲使用類似wallpapoz的東西。
I works great on my ubuntu hardy. #!/bin/bash # Script to change desktop background randomly every 5 mins through cronjob FIND=/usr/bin/find GCONFTOOL2=/usr/bin/gconftool-2 IMG_DIR=/home/username/Pictures/wallpapers FILES=(`$FIND $IMG_DIR -iname '*.jpg'`) TOTAL=${#FILES[@]} # Select random number from 0 to $TOTAL let INDEX=$RANDOM%TOTAL $GCONFTOOL2 --type string --set /desktop/gnome/background/picture_filename "${FILES[${INDEX}]}" $GCONFTOOL2 --type string --set /desktop/gnome/background/picture_options "centered" Run it through cronjobs: 05 * * * * /home/username/scripts/wallpaper_switcher.sh
適合我,謝謝。 – 2010-02-03 19:42:49