Linux-Mint
從終端更改桌面桌面
我正在使用 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}