Как программно обновить обои?

Как программно обновить обои?

Я хочу иметь возможность выбрать один файл изображения в качестве обоев, а затем перезаписать этот файл, чтобы изменить изображение, отображаемое на фоне рабочего стола.

В настоящее время отображаемые обои не отражают изменения в выбранном файле, пока я не выберу его снова в Системных настройках. Как заставить его обновиться программно, скажем, с помощью скрипта оболочки?


Когда я выбираю изображение в качестве обоев, оно как будто копируется в новое место, а затем эта копия устанавливается в качестве обоев; сразу после выбора изображения отображается его исходное имя файла:

До

но когда я закрываю и снова открываю экран настроек внешнего вида, имя заменяется на бессмыслицу:

После

Интересно, поможет ли отключение этого поведения?

решение1

Код Wallch может дать вам подсказки:

http://sourceforge.net/projects/wall-changer/

решение2

Я бы посоветовал посмотреть /usr/share/backgrounds/contest/background-1.xmlилиhttp://git.gnome.org/browse/gnome-themes-standard/tree/themes/Adwaita/backgrounds/adwaita-timed.xml.in

Связанный контент