我创建的壁纸幻灯片出现了问题(我在 Oneiric Ocelot 上使用 GNOME 3 经典界面)。
我按照新的“标准程序”在 Ubuntu 11.10 上创建了一个新的幻灯片背景,正如我在其他一些主题中读到的那样(即,我为背景幻灯片创建了一个新的 .xml 文件,其中包含我想要在其中显示的图片的位置;然后,我编辑了 usr/share/gnome-background-settings 中的 background-1.xml 文件,添加了我的新背景文件位置,使其出现在“外观”菜单中,我从中选择了它)。
我现在遇到的问题是我的幻灯片表现得很奇怪:图片完全随机地变化(我在时间字段中设置了600,代表10分钟,但它们每2-3分钟变化一次);甚至,图片旋转实际上只有我原来在.xml文件中设置的几张图片,并且它们是以随机顺序旋转的!
我以为问题可能出在 .xml 文件中的语法错误,但我删除并创建了新的 .xml 文件(文件位置也发生了变化),重复了 3-4 次,仍然出现相同的错误!也许文件的第一个版本仍然以某种方式被记忆在某个地方,导致文件的新版本出现所有这些问题?
感谢所有能帮助我的人!:)
(编辑)这是我使用的 XML 文件,我将位置更改为随机 /Location/,无论如何,原始文件中的位置是正确的,因为它在定位图片方面没有问题:
<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>
答案1
解决方案
- 将脚本放在下面的
/usr/share/backgrounds
目录中。 - 以 root 身份运行一次。
- 每当您向此目录添加图片时,请确保重新运行该脚本。
/bin/bash #!/bin/bash # -------- # 文件名 fix.sh,作者:Dean Smith # 运行此脚本一次。然后将您最好的背景保存在 /usr/share/backgrounds 目录中。 # 每次只需运行此脚本即可让 Ubuntu 知道您有新的图片...... # 并且,如果您选择第二张带有时钟的图片,您可以让它们自动旋转!! # -------- NewXML=/usr/share/gnome-background-properties/ubuntu-wallpapers.xml NewCnt=/usr/share/backgrounds/contest/background-1.xml BGFileDir=/usr/share/backgrounds # -------- 如果 [ “$(id -u)” != “0” ]; 然后 echo“此脚本必须以root身份运行”1>&2 出口 1 菲 echo 以 root 身份运行 # -------- cd $BG文件目录 光盘 .. chmod -R 777 背景 chown -R 根背景 echo '目录设置,以便您可以将背景以 jpg 格式添加到 '$BGFileDir'' # -------- cd $BG文件目录 重命名“s/*//g”*.jpg echo ‘删除文件名中的所有空格’ # -------- myn=1 对于 $BGFileDir/*.jpg 中的文件 做 fname=$(基本名称 $FILE) fbname=${fname%.*} ftwo=${fbname:0:2} 如果 [ $ftwo != "确定" ] 然后 NEWNAME="OK$myn.jpg" while [ -f $NEWNAME ] 做 #echo $NEWNAME 存在,正在尝试一个数字 让 myn=myn+1 NEWNAME="OK$myn.jpg" 完毕 #echo $FILE 将变成 $NEWNAME mv $文件$新名称 让 myn=myn+1 菲 完毕 让 myn=myn-1 echo ‘已将‘$myn’个新文件添加到列表’ # ----------------------------------------------------------------- 回显''> $NewXML 回显''>>$NewXML 回显''>>$NewXML # ----- myn=1 对于 $BGFileDir/*.jpg 中的文件 做 如果 [ $myn = 2 ] 然后 回显''>>$NewXML echo '竞赛' >> $NewXML 回显' '$FILE'' >> $NewXML 回显‘缩放’>>$NewXML 回显''>>$NewXML 别的 回显''>>$NewXML 回显' '$myn'' >> $NewXML 回显' '$FILE'' >> $NewXML 回显‘缩放’>>$NewXML 回显'#2c001e'>>$NewXML 回显'#2c001e'>>$NewXML 回显‘固体’>>$NewXML 回显''>>$NewXML 菲 让 myn=myn+1 完毕 回显''>>$NewXML echo ‘Ubuntu 壁纸列表重置并更新’ # ----------------------------------------------------------------- 回显''> $NewCnt 回显' '>>$NewCnt 回显‘2009’>>$NewCnt 回显‘08’>>$NewCnt 回显‘04’>>$NewCnt 回显‘00’>>$NewCnt 回显‘00’>>$NewCnt 回显‘00’>>$NewCnt 回显' '>>$NewCnt # ----- myn=1 对于 $BGFileDir/*.jpg 中的文件 做 如果 [ $myn = 1 ] 然后 LoopBackFile=$文件 别的 回显' '$FILE'' >> $NewCnt 回显''>>$NewCnt 菲 回显''>>$NewCnt echo ' 600 ' >> $NewCnt 回显' '$FILE'' >> $NewCnt 回显''>>$NewCnt 回显''>>$NewCnt echo ' 5.0' >> $NewCnt 回显' '$FILE'' >> $NewCnt 让 myn=myn+1 完毕 回显' '$LoopBackFile'' >> $NewCnt 回显' '>>$NewCnt 回显''>>$NewCnt echo ‘Ubuntu 定时壁纸列表重置并更新’ # -----