bash - shell脚本换桌面壁纸

标签 bash shell gnome wallpaper

您能否编写最简单的 shell 脚本来定期(例如 1 分钟)更改桌面墙纸(在 Ubuntu 中)。

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

1) 从$HOME/wallpapers
中选择随机壁纸 2) 设置为桌面壁纸
3) 设置 cron 每分钟运行一次脚本(不是问题的一部分)。

最佳答案

#!/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"

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

*/1     *     *     *     *         /bin/bash /path/to/script.sh

编辑:我假设您使用的是 gnome。如果不是,您需要编辑最后一行,因为我的示例使用了 Gnome Conftool。 ;)

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

echo -e “# xfce backdrop list\n$randompic”>$HOME/.config/xfce4/desktop/backdrops.list    
killall -USR1 xfdesktop

关于bash - shell脚本换桌面壁纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5550895/

相关文章:

bash - 如何在没有交互式编辑器的情况下自动使用 Bash 创建一个 cron 作业?

java - 如何将 Java JFrame 部分移出我的 Linux 桌面?

linux - 如何在 Linux 中按名称获取文件的完整路径

bash - 改进 bash 中的 sleep 排序

bash - Curl bash 无需字符串操作即可获得 header 和正文

regex - 当第二个模式不匹配时,以逗号分隔的模式地址执行 sed 命令

ruby-on-rails - 我可以在Ruby中显示系统调用日志吗?

linux - 使用 TCL 驱动 linux shell

linux - wmctrl 打开没有焦点的窗口

linux - 使用 'import' 拍摄的黑色屏幕截图 (ImageMagick)