Проблема со слайд-шоу обоев рабочего стола

У меня проблема с созданным мной слайд-шоу обоев (я использую классический интерфейс GNOME 3 в Oneiric Ocelot).

Я следовал новой «стандартной процедуре», чтобы создать новый фон для слайд-шоу в Ubuntu 11.10, как я читал в некоторых других темах здесь (т. Е. Я создал новый XML-файл для фоновых слайд-шоу, содержащий расположение картинки, которые я хотел показать в нем, затем я отредактировал файл background-1.xml в файле usr / share / gnome-background-settings, добавив мое новое местоположение фонового файла, чтобы оно появилось в меню «Внешний вид», из которого я выбрал она).

Проблема, с которой я столкнулся сейчас, заключается в том, что мое слайд-шоу ведет себя странным образом: картинки меняются совершенно случайным образом (я установил 600 в поле времени, которое стоит 10 минут, но вместо этого они меняются каждые 2- 3 минуты); Более того, изображения, вращающиеся на самом деле, - это всего лишь несколько оригинальных изображений, которые я установил в XML-файле, и они вращаются в случайном порядке!

Я подумал, что, возможно, проблема в некоторой синтаксической ошибке, которую я сделал в файле .xml, но я удалил и создал новый файл .xml (с новым расположением файла тоже) 3-4 раза и Я все еще получаю те же ошибки! Может быть, первая версия файла каким-то образом еще где-то запомнена, и это приводит к тому, что у более новых версий файла возникают все эти проблемы?

Спасибо всем, кто сможет мне помочь с этим! :)

(Правка) Вот XML-файл, который я использовал, я изменил местоположение на случайное / Location /, в любом случае, местоположение в исходном файле правильное, потому что у него нет проблем с поиском картинок: [ 116]

<background>
  <starttime>
    <year>2009</year>
    <month>08</month>
    <day>04</day>
    <hour>00</hour>
    <minute>00</minute>
    <second>00</second>
  </starttime>
  <static>
    <duration>600.0</duration>
    <file>/Location/1.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/1.jpg</from>
    <to>/Location/2.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/2.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/2.jpg</from>
    <to>/Location/3.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/3.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/3.jpg</from>
    <to>/Location/4.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/4.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/4.jpg</from>
    <to>/Location/5.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/5.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/5.jpg</from>
    <to>/Location/6.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/6.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/6.jpg</from>
    <to>/Location/7.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/7.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/7.jpg</from>
    <to>/Location/8.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/8.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/8.jpg</from>
    <to>/Location/9.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/9.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/9.jpg</from>
    <to>/Location/10.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/10.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/10.jpg</from>
    <to>/Location/11.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/11.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/11.jpg</from>
    <to>/Location/12.jpg</to>
  </transition>
  <static>
    <duration>600.0</duration>
    <file>/Location/12.jpg</file>
  </static>
  <transition>
    <duration>5.0</duration>
    <from>/Location/12.jpg</from>
    <to>/Location/1.jpg</to>
  </transition>
</background>
2
задан 5 December 2011 в 23:21

1 ответ

Решение

  1. Поместите скрипт ниже в каталог /usr/share/backgrounds.
  2. Запустите его один раз как root.
  3. Всякий раз, когда вы добавляете изображения в этот каталог, убедитесь, что вы повторно запускаете скрипт.
#!/bin/bash
# --------
# Filename fix.sh, by Dean Smith
# Run this script once. Thereafter save your best backgrounds in the /usr/share/backgrounds directory.
# Each time just run this script to let Ubuntu know you have the new pictures...
# AND you can have them auto-rotate if you select the second picture with the clock on it !!
# --------
NewXML=/usr/share/gnome-background-properties/ubuntu-wallpapers.xml
NewCnt=/usr/share/backgrounds/contest/background-1.xml
BGFileDir=/usr/share/backgrounds
# --------
if [ "$(id -u)" != "0" ]; then
   echo "This script must be run as root" 1>&2
   exit 1
fi
echo Running as root
# --------
cd $BGFileDir
cd ..
chmod -R 777 backgrounds
chown -R root backgrounds
echo 'directories set so you can add your backgrounds to '$BGFileDir' as jpg'
# --------
cd $BGFileDir
rename "s/ *//g" *.jpg
echo 'Stripped any spaces in the file name'
# --------
myn=1
for FILE in $BGFileDir/*.jpg
do
  fname=$(basename $FILE)
  fbname=${fname%.*}
  ftwo=${fbname:0:2}
  if [ $ftwo != "OK" ]
  then
    NEWNAME="OK$myn.jpg"
    while [ -f $NEWNAME ]
    do
      #echo $NEWNAME exists, trying a number up
      let myn=myn+1
      NEWNAME="OK$myn.jpg"
    done
    #echo $FILE will become $NEWNAME
    mv $FILE $NEWNAME
    let myn=myn+1
  fi
done
let myn=myn-1
echo 'Added '$myn' new files to list'
# -----------------------------------------------------------------
echo '' > $NewXML
echo '' >> $NewXML
echo '' >> $NewXML
# -----
myn=1
for FILE in $BGFileDir/*.jpg
do
  if [ $myn = 2 ]
  then
    echo '' >> $NewXML
    echo '  Contest' >> $NewXML
    echo '  '$FILE'' >> $NewXML
    echo '  zoom' >> $NewXML
    echo '' >> $NewXML
  else
    echo '' >> $NewXML
    echo '  '$myn'' >> $NewXML
    echo '  '$FILE'' >> $NewXML
    echo '  zoom' >> $NewXML
    echo '  #2c001e' >> $NewXML
    echo '  #2c001e' >> $NewXML
    echo '  solid' >> $NewXML
    echo '' >> $NewXML
  fi
let myn=myn+1
done
echo '' >> $NewXML
echo 'Wallpaper list for Ubuntu reset and updated'
# -----------------------------------------------------------------
echo '' > $NewCnt
echo '  ' >> $NewCnt
echo '    2009' >> $NewCnt
echo '    08' >> $NewCnt
echo '    04' >> $NewCnt
echo '    00' >> $NewCnt
echo '    00' >> $NewCnt
echo '    00' >> $NewCnt
echo '  ' >> $NewCnt
# -----
myn=1
for FILE in $BGFileDir/*.jpg
do
  if [ $myn = 1 ]
  then
    LoopBackFile=$FILE
  else
    echo '  '$FILE'' >> $NewCnt
    echo '' >> $NewCnt
  fi
  echo '' >> $NewCnt
  echo '  600' >> $NewCnt
  echo '  '$FILE'' >> $NewCnt
  echo '' >> $NewCnt
  echo '' >> $NewCnt
  echo '  5.0' >> $NewCnt
  echo '  '$FILE'' >> $NewCnt
  let myn=myn+1
done
echo '    '$LoopBackFile'' >> $NewCnt
echo '  ' >> $NewCnt
echo '' >> $NewCnt
echo 'Timed Wallpaper list for Ubuntu reset and updated'
# -----
0
ответ дан 5 December 2011 в 23:21

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

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