Google検索を行うと、コマンドが明らかになります
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s <image-path>
このコマンドを初めて実行すると、プロパティ/ backdrop / screen0 / monitor0 / image-pathがチャネルxfce4-desktopに存在しないというメッセージが表示されました。
そこで、このプロパティを作成しました。
xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -n -t string -s <image-path>
しかし、それでも背景は変わりませんでした。
次に、XUbuntuのデスクトップ設定アプリケーションから、背景をspace-03.jpgからspace-04.jpgに変更しました。次に実行します:
$ xfconf-query -c xfce4-desktop -p /backdrop -lv
/backdrop/screen0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor0/image-show true
/backdrop/screen0/monitor1/image-path /usr/share/backgrounds/space-03.jpg
/backdrop/screen0/monitor1/image-show true
/backdrop/screen0/monitorLVDS1/workspace0/color-style 0
/backdrop/screen0/monitorLVDS1/workspace0/image-style 5
/backdrop/screen0/monitorLVDS1/workspace0/last-image /usr/share/backgrounds/space-04.jpg
ご覧のとおり、プロパティ/backdrop/screen0/monitorLVDS1/workspace0/last-image
が変更されました(!)。
このプロパティを変更すると問題なく機能しますが、問題は、プログラムにそれを実装するための一般的な方法を見つける必要があることです(Wallch)。
でもVariety
(これは非常に素晴らしいプログラムですが)私のマシンでは正しく動作せず、/backdrop/screen0/monitor0/image-path
何もしないプロパティを変更することを選択します。
1つの方法は、可能なプロパティをすべて作成し、必要に応じてそれらをすべて同時に変更することです。次の2つの理由により、このソリューションが好きではありません。
- 必要になるいくつかのシステムコール
- ある時点で、現在の画像のパスを取得する必要があります(フォルダを開いて、パスをコピーし、削除し、プログラムが提供するその他の機能を使用するため)。プログラムで使用できるようにするために、真に設定されたイメージのパスを保持しているプロパティはわかりません。
また、なぜXFCEがそれほど複雑なのか理解していません。gsettingsのように1つのプロパティで十分ではないのはなぜですか?