web-dev-qa-db-ja.com

端末からデスクトップの壁紙を変更する

Mint 13をCinnamon 1.6で実行しています。デスクトップの壁紙を時間帯に応じて自動的に変更したいのですが。したがって、最初に頭に浮かぶのは、cronジョブを設定してそれを実行することです。問題は、スクリプト/ターミナルから壁紙を変更する方法がわかりません。

私が知りたいこと:
1)端末から背景をどのように変更しますか?
2)これを行う組み込みの方法はすでにありますか?

11

これが質問に対する正解です。それ以外はハックにすぎません

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

Linux Mint 16(他のバージョンについては不明)では、gsettingsを使用して、現在の壁紙に関するget情報とset情報の両方に使用できます。

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}
10
Tigger

Xウィンドウシステムに関しては、ルートウィンドウの背景を変更します。このウィンドウの設定を変更するための「組み込み」ツールはxsetrootです。残念ながら、それは少し時代遅れです、例えば、それはbackground-imageのためにビットマップを選ぶことをサポートするだけです。

私はhsetrootよりもxsetrootというツールを好みます。どちらのツールもコマンドラインから使用する必要があります。

さらに、xリソースデータベースを介してルートウィンドウの設定を調整できると想像できますが、今のところ関連情報を見つけることができません。

2
user1146332

これを試して:

xsetbg /path/to/wallpaper.jpg
2
Emanuel Berg

Linuxmint 13とCinnamon 1.4で動作します。

  • cinnamon-settings desktop#ターミナル>「ファイルマネージャーでデスクトップを処理できるようにする」のチェックを外します
  • feh で壁紙を変更します
    feh --bg-fill〜/ Images/my_wallpaper.png
2
Lo G2G

DesktopNova と呼ばれるものがあります。

1
elwc