Desktop

如何在各種桌面環境下刷新桌面背景?

  • February 25, 2014

在 XFCE 4.10 中,我可以使用xfdesktop --reload.

我想知道如何為盡可能多的其他桌面環境(Unity、KDE、LXDE、Mate、Cinnamon、GNOME2、GNOME3 ……)做同樣的事情。

這是一個程式碼範例,它檢測桌面環境並在檢測到的桌面環境需要時顯式重新載入動態桌面背景。

該程式碼應適用於 GNOME 3、KDE ​​4、Unity 和 XFCE。歡迎使用針對其他桌面環境的解決方案進行測試的答案,並將獲得投票。

if [ "$XDG_CURRENT_DESKTOP" = '' ]
then
 DESKTOPENV=$(echo "$XDG_DATA_DIRS" | sed 's/.*\(xfce\|kde\|gnome\).*/\1/')
else
 DESKTOPENV=$XDG_CURRENT_DESKTOP
fi
DESKTOPENV=${DESKTOPENV,,}  # convert to lower case

case $DESKTOPENV in
 'gnome') {
   gsettings set org.gnome.desktop.background picture-uri file:///tmp/wallpaper.png'  # GNOME 3 only
   };;
 'kde') {
   :
   };;
 'unity') {
   :
   };;
 'xfce') {
   xfdesktop --reload
   };;
esac

引用自:https://unix.stackexchange.com/questions/116541