Linux-Mint

從終端更改桌面桌面

  • March 13, 2014

我正在使用 Cinnamon 1.6 執行 Mint 13。我希望我的桌面牆紙根據一天中的時間自動更改。所以,首先想到的是設置一個 cron 工作來為我做這件事。問題是,我不知道如何從腳本/終端更改桌面。

我想知道的是:

1)如何從終端更改背景?

2)是否已經有內置的方法來做到這一點?

這是問題的正確答案。其他任何事情都只是一個黑客

gsettings set org.cinnamon.desktop.background picture-uri  "file:///filename"

使用 Linux Mint 16(不確定其他版本),您可以使用它gsettings獲取有關目前桌面的資訊以及設置它。

man gsettings有點薄,但 TAB 完成將在以下命令中的大多數步驟中起作用。

獲取資訊:

gsettings get org.cinnamon.desktop.background picture-uri
gsettings get org.cinnamon.desktop.background picture-opacity
gsettings get org.cinnamon.desktop.background picture-options

要更改任何選項,只需將“get”更改為“set”並將新值添加到末尾。

這是一個快速腳本,它將遍歷已知的桌面列表:

#!/bin/sh
#
# Set the wallpaper from a list
#
# The list, all can be found in $BASE
BASE="file:///home/tigger/.wallpapers/"
LIST="shot1.png another.png just_no_space_in_name.png keep_adding.png"

# The current wallpaper
current=`gsettings get org.cinnamon.desktop.background picture-uri`
opacity=`gsettings get org.cinnamon.desktop.background picture-opacity`
options=`gsettings get org.cinnamon.desktop.background picture-options`

# loop over the list until we find a match
matched=0
new=""
for wp in $LIST
do
   if [ $matched -eq 1 ]
   then
       new="${BASE}${wp}"
       break
   elif [ "'${BASE}${wp}'" = "${current}" ]
   then
       matched=1
   fi
done

# if "$new" is blank, then we show the first shot
if [ "$new" = "" ]
then
   new=${BASE}${LIST%% *}
fi

# set the wallpaper
gsettings set org.cinnamon.desktop.background picture-uri \'${new}\'
gsettings set org.cinnamon.desktop.background picture-opacity ${opacity}
gsettings set org.cinnamon.desktop.background picture-options ${options}

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