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

6

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

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

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

    
задан nitishch 20.12.2013 в 06:08
источник

3 ответа

4

Вы упомянули

The download is perfectly fine. As I have mentioned, I can set the photo as wallpaper by right clicking the photo and chosing 'set as wallpaper' from the menu.

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

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

Давайте проведем тест

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

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

    
ответ дан totti 09.01.2014 в 10:30
2

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

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

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

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

    
ответ дан Radu Rădeanu 06.01.2014 в 15:45
0

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

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

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

cp dwallpaper.temp dwallpaper

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

    
ответ дан oscar 10.10.2015 в 18:09