Desktop
如何在各種桌面環境下刷新桌面背景?
在 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