2015-12-14 31 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