谷歌搜索显示命令
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
第一次运行此命令时,我收到一条消息,指出通道xfce4-desktop中不存在/ backdrop / screen0 / monitor0 / image-path属性。
因此,我创建了此属性:
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
但是背景仍然没有改变。
然后,我通常通过XUbuntu的“桌面设置”应用程序将背景从space-03.jpg更改为space-04.jpg。然后我运行:
$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show true
/backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show true
/backdrop/screen0/monitorLVDS1/workspace0/color-style 0
/backdrop/screen0/monitorLVDS1/workspace0/image-style 5
/backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg
如您所见,该属性/backdrop/screen0/monitorLVDS1/workspace0/last-image
已更改(!)。
如果更改此属性,则它可以正常工作,但问题是我需要找到一种通用方法来在程序中实现它(Wallch)。
甚至Variety
(顺便说一句,这是一个非常不错的程序)在我的机器上也无法正常工作,因此选择更改/backdrop/screen0/monitor0/image-path
什么都不做的属性。
一种方法是创建所有可能的属性,并在需要时同时更改所有属性。我不喜欢这种解决方案,原因有两个:
- 需要几个系统调用
- 某一时刻,我将需要获取当前图像的路径(为了打开它的文件夹,复制它的路径,删除它以及程序提供的一些其他功能)。我不知道哪个属性保存真正设置的图像的路径以使其可用于程序。
我也不明白为什么XFCE如此复杂。为什么一个属性在gsettings中还不够?