Shell脚本更改桌面壁纸

xra*_*alf 11 bash shell gnome wallpaper

你能编写最简单的shell脚本,它会定期(例如1分钟)更改桌面壁纸(在Ubuntu中).

壁纸将保存在特定目录中(例如$ HOME/wallpapers).我只需要基本功能.

1)选择随机壁纸$HOME/wallpapers
2)将其设置为桌面上的壁纸
3)设置cron以每分钟运行脚本(不是问题的一部分).

tam*_*gal 10

#!/bin/bash
wallpaperdir='$HOME/wallpaper'

files=($wallpaperdir/*)
randompic=`printf "%s\n" "${files[RANDOM % ${#files[@]}]}"`

gconftool-2 -t str --set /desktop/gnome/background/picture_filename "$randompic"
Run Code Online (Sandbox Code Playgroud)

保存此脚本并使用命令"crontab -e"编辑您的脚本(它会启动一个编辑器,您将此行放在文件的末尾):

*/1     *     *     *     *         /bin/bash /path/to/script.sh
Run Code Online (Sandbox Code Playgroud)

编辑:我以为你正在使用gnome.如果不是,则需要编辑最后一行,因为我的示例使用Gnome Conftool.;)

要更改XFCE中的背景,您应该将gconftool-2的行更改为:

echo -e “# xfce backdrop list\n$randompic”>$HOME/.config/xfce4/desktop/backdrops.list    
killall -USR1 xfdesktop
Run Code Online (Sandbox Code Playgroud)