2015-12-14 34 views
3

我想从shell/bash脚本更改Linux上的壁纸(使用其完整路径)。如何在shell/bash脚本中更改linux上的桌面壁纸

我已经找到了几种方法来做到这一点 - 但那些方法不适用于所有的桌面环境。

一)使用GNOME的设置守护/ gsettings:

gsettings set org.gnome.desktop.background picture-uri file://$fullPathToMyImage 
使用gconftool-2

gconftool-2 --type=string --set /desktop/gnome/background/picture_filename $fullPathToMyImage 

Ç

B))使用FEH

feh --bg-scale $fullPathToMyImage 

我现在搜索用于其他方法(而Gnome似乎覆盖了a,b和c) - 适用于所有桌面环境(以及所有Linux发行版)。

到目前为止,我对KDE4/5和XFCE

类似的帖子至少缺少方法:Shell script changing desktop wallpaper

+1

我假设你意识到这一点,但对于所有桌面环境都没有任何单一方法(尽管你当然可以覆盖大部分主要环境)。 – forkrul

+0

@forkrul:是的,我认为已经 - 但是谢谢指出它)。我只希望收集/知道/找到所有主要的在我的脚本 – dufte

回答

0

至于XFCE你可以使用这个命令:

xfconf-query -c xfce4-desktop -p $xfce_desktop_prop_prefix/workspace1/last-image -s /path/to/file 

而且也很有一套图像放大为例

xfconf-query -c xfce4-desktop -p $xfce_desktop_prop_prefix/workspace1/image-style -s 5 

你可以看到如何我在我的脚本中做过 - https://github.com/yatsenko-ihor/himawari8-wallaper/blob/master/himawari8_wallaper.sh

+0

感谢您的输入在某种情况下提供一个良好的解决方案。以下输出中的结果为:属性“/ workspace1/last-image”在通道“xfce4-desktop”上不存在。如果应创建一个新属性,请使用--create选项。 – dufte