为什么我只获得半个桌面壁纸?

我创建了一个简洁的小脚本,使用wget下载JPG,然后将其设置为Unity桌面背景

 gsettings set org.gnome.desktop.background picture-uri file:///home/myname/wallpaper.jpg 

运行脚本后, 桌面壁纸不完整,但是当我打开下载的图像时,它很好! 当我手动运行gsettings命令时,同样的事情发生了 – 所以我不认为问题可能是gsettings在图像完全下载之前就开始了。

是什么造成了这个奇怪的问题,我该如何解决?

  • 图表A: 我整洁的小剧本 。
  • 图表B:我的桌面背景图像不完整:
    在此处输入图像描述
  • 图表C: 原始图像url 。 诀窍是这个URL是静态的,但实际的图像文件会不断刷新不同的图像文件。 这就是我制作剧本的原因。
  • 图表D:当桌面坏了时,通过设置GUI(或桌面右键单击)手动设置壁纸会修复它…直到cron的脚本再次运行。
  • 图表E:当桌面坏了,手动运行gsettings set org.gnome.desktop.background picture-uri file:///home/myname/wallpaper.jpg无法修复它。
  • 图表F:当桌面坏了,手动运行gsettings set org.gnome.desktop.background picture-options zoom不能修复它。 似乎什么也没发生。
  • 图表G:当桌面坏了时,缓存的壁纸也会被破坏。 我遇到了这个非常相似的话题 。 在gsettings命令之前添加缓存文件的rm并不能解决我的问题; 新的缓存图像也被破坏了。 几乎看起来gsettings命令被打破了?

如果您的目的是显示当前的地球视图,则可以使用xplanet,它会获得更频繁更新的图像。

安装xplanet –

sudo apt-get install xplanet

然后,在您的脚本中将图像源替换为xplanet输出,如下所示。

xplanet -body earth -num_times 1 -projection mercator -output $wallpaper_name -geometry 1366x768
(用您的屏幕尺寸替换几何参数值)。

现在,您将获得一个不会被切片的更频繁更新的图像。