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


11

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

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


1
あなたのDEは何ですか?
デイジー2012

@ warl0ck-Cinnamon 1.6
aggregate116​​6877

回答:


19

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

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

4
説明がなければ、これはほとんど役に立たない。
フォンブランド2014年

8
これはクエリに対する正解です。なぜ説明が必要なのですか?これは、Cinnamonデスクトップの壁紙を変更する正しい方法です。
ランブリンマン

1
..そしてうまくいく唯一の答え。+1
aggregate116​​6877

10

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}

2

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

私は、ツールを好むhsetrootオーバーxsetroot。どちらのツールもコマンドラインから使用する必要があります。

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


hsetrootはまさに私が欲しいもののようですが、それは私のデスクトップの背景を設定していません。代わりに、ホットコーナーにカーソルを合わせると、ワークスペース選択の背景が設定されます。何か案は?
aggregate116​​6877

2

これを試して:

xsetbg /path/to/wallpaper.jpg

ありがとう、しかしそれは壁紙に影響を与えません。ただし、ログアウト時に表示される画面は変更されます。Cinnamonは他の環境とは異なる方法でx11設定を処理すると考え始めています。
aggregate116​​6877

@ user1166877:おかしい、それは私のために働く。私はウィンドウマネージャーとしてMetacityとOpenboxを使用しましたが、これはその「下」にあると思います。それが何が違うのかについての手掛かりを提供することができるなら、私が何を使うか正確にチェックしてください。
エマニュエルバーグ

2

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.