web-dev-qa-db-fra.com

Problème avec le diaporama de papier peint de bureau

J'ai un problème avec un diaporama de fond d'écran que j'ai créé (j'utilise l'interface classique GNOME 3 sur Oneiric Ocelot).

J'ai suivi la nouvelle "procédure standard" pour créer un nouveau fond de diaporama sur Ubuntu 11.10, comme je l'ai lu dans d'autres rubriques ici (c'est-à-dire que j'ai créé un nouveau fichier .xml pour les diaporamas d'arrière-plan, contenant les emplacements des images dans lesquelles je voulais montrer ensuite, j'ai édité le fichier background-1.xml dans usr/share/gnome-background-settings en ajoutant mon nouvel emplacement de fichier d'arrière-plan pour le faire apparaître dans le menu "Apparence", à partir duquel je l'ai sélectionné).

Le problème que j'ai maintenant, c'est que mon diaporama se comporte de manière étrange: les images changent de manière totalement aléatoire (j'ai mis 600 dans le champ de temps, qui représente 10 minutes, mais à la place, elles changent toutes les 2-3 minutes) ; encore plus, les images en rotation ne sont en fait que quelques-unes des images originales que j'ai définies dans le fichier .xml, et elles tournent dans un ordre aléatoire!

Je pensais que le problème était peut-être dû à une erreur de syntaxe que j'avais commise dans le fichier .xml, mais j'ai supprimé et créé un nouveau fichier .xml (avec un nouvel emplacement de fichier aussi) pendant 3-4 fois et j'obtiens toujours les mêmes erreurs ! Peut-être que la première version du fichier est en quelque sorte toujours mémorisée quelque part, et que les nouvelles versions du fichier ont tous ces problèmes?

Merci à tous ceux qui ont réussi à m'aider! :)

(Modifier) ​​Voici le fichier XML que j'ai utilisé, j'ai changé l'emplacement en aléatoire/Emplacement /, de toute façon l'emplacement dans le fichier d'origine est correct, car il n'a aucun problème à localiser les images:

<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
plodjine

Solution

  1. Placez le script ci-dessous dans le /usr/share/backgrounds répertoire.
  2. Exécutez-le une fois en tant que root.
  3. Chaque fois que vous ajoutez des images à ce répertoire, assurez-vous de réexécuter le script.
 #!/bin/bash 
 # -------- 
 # Nom de fichier fix.sh, par Dean Smith 
 # Exécutez ce script une fois. Ensuite, enregistrez vos meilleurs arrière-plans dans le répertoire/usr/share/backgrounds. 
 # Chaque fois, exécutez simplement ce script pour faire savoir à Ubuntu que vous avez les nouvelles images ... 
 # ET vous pouvez les avoir rotation automatique si vous sélectionnez la deuxième image avec l'horloge dessus! 
 # -------- 
 NewXML =/usr/share/gnome-background-properties/ubuntu- wallpapers.xml 
 NewCnt =/usr/share/backgrounds/contest/background-1.xml 
 BGFileDir =/usr/share/backgrounds 
 # ------- - 
 si ["$ (id -u)"! = "0"]; puis 
 echo "Ce script doit être exécuté en tant que root" 1> & 2 
 exit 1 
 fi 
 echo Exécution en tant que root 
 # --- ----- 
 cd $ BGFileDir 
 cd .. 
 chmod -R 777 arrière-plans 
 chown -R arrière-plans racine 
 echo 'répertoires définis afin que vous puissiez ajouter vos arrière-plans à '$ BGFileDir' en jpg '
 # -------- 
 cd $ BGFileDir 
 renommer "s/* // g" * .jpg 
 echo 'Supprimé tous les espaces du nom de fichier' 
 # -------- 
 myn = 1 
 pour FILE dans $ BGFileDir /*.jpg[.____.[dodo ..____.] fname = $ (nom de base $ FILE) 
 fbname = $ {fname%. *} 
 ftwo = $ {fbname: 0: 2} 
 Si [$ ftwo! = "OK"] 
 Alors 
 NEWNAME = "OK $ myn.jpg" 
 Tandis que [-f $ NEWNAME] 
 existe 
 #echo $ NEWNAME existe, en essayant un nombre jusqu'à 
 laissez myn = myn + 1 
 NEWNAME = "OK $ myn.jpg" 
 done 
 #echo $ FILE deviendra $ NEWNAME 
 mv $ FILE $ NEWNAME 
 let myn = myn + 1 
 fi 
 done 
 laissez myn = myn-1 
 echo 'Ajout de' $ myn 'nouveaux fichiers à la liste' 
 # ---------------------------- ------------------------------------- 
 echo ''> $ NewXML 
 echo '' >> $ NewXML 
 echo '' >> $ NewXML 
 # ----- 
 myn = 1 
 pour FILE en $ BGFileDir/*. Jpg 
 Faire 
 Si [$ myn = 2] 
 Alors 
 Echo '' >> $ NewXML 
 Echo 'Contest' >> $ NewXML 
 Echo '' $ FILE '' >> $ NewXML 
 Echo 'zoom' >> $ NewXML 
 Echo '' >> $ NewXML 
 sinon 
 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 'Liste des fonds d'écran pour réinitialiser Ubuntu et mise à jour' 
 # --------------------------------- -------------------------------- 
 ech o ''> $ 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 
 pour FILE dans $ BGFileDir/*. jpg 
 do 
 si [$ myn = 1] 
 alors 
 LoopBackFile = $ FILE 
 sinon 
 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 
 Laissez myn = myn + 1 
 Fait 
 Echo '' $ LoopBackFile '' >> $ NewCnt 
 Echo ''> > $ NewCnt 
 Echo '' >> $ NewCnt 
 Echo 'Liste des fonds d'écran chronométrés pour la réinitialisation et la mise à jour d'Ubuntu' 
 # ----- 
2
Dean Smith