Проблема с настройкой обоев с помощью gsettings

Я использовал gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage', чтобы установить изображение в качестве обоев, как предложено в этого ответа . Это не делает работу должным образом. Для сегодняшнего изображения bing сценарий здесь меняет мой фон следующим образом

Image of my desktop

Это происходит случайным образом, а иногда и правильно устанавливает обои. Использование графического интерфейса, установка изображения в качестве обоев, щелкнув правой кнопкой мыши по нему, работает правильно каждый раз. Любые возможные причины этой проблемы?

Правка 1: загрузка в порядке. Как я уже упоминал, я могу установить фотографию в качестве обоев, щелкнув правой кнопкой мыши по фотографии и выбрав «установить в качестве обоев» в меню.

6
задан 13 April 2017 в 15:23

3 ответа

Вы упомянули

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

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

Так что удалите кеш обоев rm /home/$USER/.cache/wallpaper/*. Добавьте этот код в конец скрипта после некоторого sleep.

Давайте сделаем тест

  1. Найдите и откройте кэш изображений текущих обоев из /home/$USER/.cache/wallpaper/
  2. Отредактируйте изображение (например, поверните по часовой стрелке. Вы можете сделать это с помощью imageg viwer по умолчанию (программа просмотра изображений GNOME) с использованием Ctrl + R (или из edit -> rotate))
  3. Выйти из системы и войти в систему ubuntu (или перезапустить)

Вот и все, теперь вы можете видеть изменения на обоях рабочего стола (если вы повернули изображение, обои также будут повернуты)

0
ответ дан 13 April 2017 в 15:23

Следующая команда верна и должна работать при любых обстоятельствах:

gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'

Итак, я предполагаю, что главная причина, по которой это происходит, заключается в том, что, как заметил @ d3vid в своем комментарии : загрузка не удалась (загрузка только частичного файла) или фон отображается до завершения загрузки .

Чтобы решить вашу проблему, убедитесь, что у вас есть лучшее интернет-соединение, когда вы запустите сценарий из вашего вопроса или попробуйте использовать curl вместо wget, как в сценарий из моего ответа здесь .

0
ответ дан 13 April 2017 в 15:23

Возможно, в сценарии вы должны сначала загрузить новую картинку во временный файл, например:

wget --no-proxy --output-document=dwallpaper.temp (...)

И только после выполнения команды wget выполните:

cp dwallpaper.temp dwallpaper

Таким образом, gsettings всегда указывает на файл, загруженный на 100%, что может решить проблему, которую вы наблюдали.

0
ответ дан 13 April 2017 в 15:23

Другие вопросы по тегам:

Похожие вопросы: