如何在Ubuntu 11.10中设置新的循环壁纸?

可能重复:
如何创建桌面壁纸幻灯片? 循环壁纸是指每隔一段时间自动更换图像的壁纸。在Ubuntu 11.10中,默认只有一个(你可以在缩略图上看到一个白色时钟),但我不知道如何添加我的图片来创建新的循环壁纸。

3可能是重复问题:http://askubuntu.com/q/134/18612 - Knowledge Cube
5个回答

我相信你需要编写脚本...我查看了/usr/share/backgrounds文件夹,这是默认背景的文件夹,里面有一个名为contest的文件夹。
在里面有一个xml文件(使用gedit打开以查看或编辑)。 它似乎包含了图片显示时间和过渡到哪张图片的信息。
所以我很确定你只需要在xml文件中交换文件名和路径,并调整持续时间,就可以实现了。 不过我自己没有尝试过。
xml文件的确切位置是/usr/share/backgrounds/contest/background-1.xml
编辑:糟糕,刚刚看了其他帖子,似乎已经有了你需要的答案 如何创建桌面壁纸幻灯片?

是的,丹尼尔的答案(在顶部)准确地指出了有一些应用程序可以完成创建XML脚本的工作,例如CreBS和WallCH。一旦你掌握了正确的语法,甚至可以手动完成。他提供的链接指导了安装这些应用程序的过程。
问题是,在我个人的情况下,例如CreBS并没有起作用,因为存在某种权限违规,导致下载包时出现“文件未找到”的消息。
丹尼尔建议使用原始目录“contest”和原始脚本文件background-1.xml是我在自定义Ubuntu 11.10 Live CD时唯一能使其正常工作的方法。
我猜想,如果你有一个安装USB,你可能可以安装CreBS、Wallch等应用程序,但如果你想自定义安装CD或USB,你将需要按照诸如https://help.ubuntu.com/community/LiveCDCustomization中所述的步骤来自定义*.img(PC)或*.dmg(Mac)映像。
最后这个过程可以让你创建额外的目录,比如“contest”,并且可以让你在该目录中使用除background-1.xml之外的其他名称。

我使用DesktopNova。它非常容易配置和使用。你可以在软件中心找到它。

我为此编写了一个脚本,可能有更好的方法,但我有点想发布它。
#! /bin/bash


#Directory where Pictures are stored
PicturesDir="$HOME/Pictures"

#Time in seconds to wait between background switches
WaitTime=20

#list of files
database="$PicturesDir/list.dat"

#because it is a very low priority job sleep for two minutes at startup
#sleep 120

#reload database of pictures
touch $database
rm $database
find $HOME/Pictures -iregex '.*\(.jpg\|.gif\|.png\|.jpeg\)' > $database

while [ true ]
do
    #get a random line number
    lineNum=$RANDOM
    let "lineNum %= $(cat $database | wc -l ) "

    #get a random picture from the list
    Pic=`sed $lineNum'q;d' $database`
    echo $Pic
    gsettings set org.gnome.desktop.background picture-uri "file://$Pic"
    sleep $WaitTime
done

我研究过这个,但从来没有试过。在10.10和11.04版本中,我们可以选择其中一种背景幻灯片。以下是操作步骤,你可以复制这个方法。
前往/usr/share/backgrounds目录,你会找到11.10版本的背景图片以及一个名为contest的文件夹。在contest文件夹中有一个名为background-1.xml的文档,它是运行背景幻灯片的脚本。以下是一个示例:
<!-- This animation will start at midnight. -->
  <static>
<duration>1795.0</duration>
<file>/usr/share/backgrounds/Stalking_Ocelot_by_Sayantan_Chaudhuri.jpg</file>
  </static>
  <transition>
<duration>5.0</duration>
<from>/usr/share/backgrounds/Stalking_Ocelot_by_Sayantan_Chaudhuri.jpg</from>
<to>/usr/share/backgrounds/Small_flowers_by_Dariusz_Duma.jpg</to>
  </transition>
  <static>
<duration>1795.0</duration>
<file>/usr/share/backgrounds/Small_flowers_by_Dariusz_Duma.jpg</file>
  </static>
  <transition>

剩下的脚本是这些行的重复,但指向并来自背景文件夹中的不同图像。
现在你需要:
1)在背景文件夹中创建一个以你自己选择的名称命名的另一个文件夹。
2)将你选择的背景图像复制到新文件夹中。
3)将文档background-1.xml复制到该新文件夹中。
4)编辑/修改background-1.xml文档,将其指向位于同一新文件夹中的背景图像。因此,图像的路径将不同。而不是

/usr/share/backgrounds/imagename.jpg

它将会是

/usr/share/backgrounds/newfoldername/imagename.jpg

然后在外观工具中,您应该会得到另一个背景幻灯片选项。
我已经保存了来自10.10和11.04的背景和脚本,所以我知道这是官方的做法。
您需要管理员权限才能复制和编辑这些脚本。因此,您需要运行
gksudo gedit /usr/share/backgrounds/contest/background-1.xml

那将以管理员权限在Gedit中打开文档,使您能够编辑并保存到新文件夹中。
gksudo nautilus

给文件管理器授予管理员权限,以便您可以创建新文件夹。
编辑:进一步的研究显示还涉及另一个脚本。它位于/usr/share/gnome-background-properties,并且被称为ubuntu-wallpapers.xml。这个脚本告诉外观工具在其左侧面板中放置哪些图像,并在哪个文件夹中查找background-1.xml脚本作为幻灯片播放。需要按照模式编辑该脚本。
您可能会发现,就像我一样,左侧面板上出现了重复的图像或文件夹。这是因为在编辑原始文档时会创建一个重复的ubuntu-wallpapers.xml文档。只需将重复的ubuntu-wallpapers.xml文档从gnome-background-properties文件夹移动到垃圾箱即可。
祝好。