我编写了一个小型 Python 脚本,可以下载当天的随机天文图片,然后将其设置为桌面壁纸。
当我在安装了 gnome 的 Ubuntu 13.10 上时,这个脚本运行良好,并且我每隔几个小时通过 cronjob 更改我的背景,并且运行良好。
但是,现在我已经安装了 Ubuntu Gnome 13.10,它的行为非常奇怪。下载工作正常,每次运行脚本时都会下载一张新图片。但是,它只会在重新启动/重新登录后第一次更改壁纸。从第二次执行开始,桌面上会出现一个“动画”(变成蓝色),但壁纸保持不变,即使我的壁纸目录中保存了不同的图片。当我注销并再次登录时,新图片会显示为壁纸。
有人知道是什么原因造成的吗?我发现这并实施了它,但什么都没改变。另外我认为这与 crontab 无关,因为它手动执行也会失败。
设置壁纸的命令如下
gsettings set org.gnome.desktop.background picture-uri file:///path/to/file.jpg
编辑:上面的命令是唯一相关的部分,因为直接通过终端执行它会产生相同的行为。
答案1
经过一些尝试并阅读有关该错误的信息后,我找到了一个非常简单的解决方法。
您必须将“picture-url”命令禁用并再次启用 draw-background 条目。基本上,您的行应该如下所示:
gsettings set org.gnome.desktop.background draw-background false && gsettings set org.gnome.desktop.background picture-uri file:///home/$USER/Imágenes/pic.jpg && gsettings set org.gnome.desktop.background draw-background true
我刚刚做了一个单行代码来gsettings set org.gnome.desktop.background draw-background false
改变墙壁,然后再次激活入口。:)
效果非常好!谢谢你的提问!^_^
答案2
我也遇到了这个问题,就我的情况而言,结果是 X 文件句柄泄漏并最终用完了(我每 15 分钟更换一次壁纸)。
解决方案是:
gsettings set org.gnome.desktop.background picture-uri ""
wget https://path/to/image.jpg -O ~/wp.jpg
gsettings set org.gnome.desktop.background picture-uri "file:///home/me/wp.jpg"
取消设置然后设置壁纸解决了该问题。