Я использовал gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
, чтобы установить изображение в качестве обоев, как предложено в этого ответа . Это не делает работу должным образом. Для сегодняшнего изображения bing сценарий здесь меняет мой фон следующим образом
Это происходит случайным образом, а иногда и правильно устанавливает обои. Использование графического интерфейса, установка изображения в качестве обоев, щелкнув правой кнопкой мыши по нему, работает правильно каждый раз. Любые возможные причины этой проблемы?
Правка 1: загрузка в порядке. Как я уже упоминал, я могу установить фотографию в качестве обоев, щелкнув правой кнопкой мыши по фотографии и выбрав «установить в качестве обоев» в меню.
Вы упомянули
Скачивание отлично. Как я уже упоминал, я могу установить фотографию в качестве обоев, щелкнув правой кнопкой мыши по фотографии и выбрав «установить в качестве обоев» в меню.
blockquote>Поскольку вы можете вручную установить обои, проблема может быть в кеше, который генерируется до того, как загрузчик полностью запишет данные в файл. Поэтому восстановление кеша в этом случае необходимо.
Так что удалите кеш обоев
rm /home/$USER/.cache/wallpaper/*
. Добавьте этот код в конец скрипта после некоторогоsleep
.Давайте сделаем тест
- Найдите и откройте кэш изображений текущих обоев из
/home/$USER/.cache/wallpaper/
- Отредактируйте изображение (например, поверните по часовой стрелке. Вы можете сделать это с помощью imageg viwer по умолчанию (программа просмотра изображений GNOME) с использованием Ctrl + R (или из edit -> rotate))
- Выйти из системы и войти в систему ubuntu (или перезапустить)
Вот и все, теперь вы можете видеть изменения на обоях рабочего стола (если вы повернули изображение, обои также будут повернуты)
Следующая команда верна и должна работать при любых обстоятельствах:
gsettings set org.gnome.desktop.background picture-uri 'file://PathToImage'
Итак, я предполагаю, что главная причина, по которой это происходит, заключается в том, что, как заметил @ d3vid в своем комментарии : загрузка не удалась (загрузка только частичного файла) или фон отображается до завершения загрузки .
Чтобы решить вашу проблему, убедитесь, что у вас есть лучшее интернет-соединение, когда вы запустите сценарий из вашего вопроса или попробуйте использовать curl
вместо wget
, как в сценарий из моего ответа здесь .
Возможно, в сценарии вы должны сначала загрузить новую картинку во временный файл, например:
wget --no-proxy --output-document=dwallpaper.temp (...)
И только после выполнения команды wget
выполните:
cp dwallpaper.temp dwallpaper
Таким образом, gsettings
всегда указывает на файл, загруженный на 100%, что может решить проблему, которую вы наблюдали.