Ubuntu下设置轮换背景

来源:互联网 发布:斗鱼抢鱼丸软件 编辑:程序博客网 时间:2024/06/07 00:50

Windows7环境下,很多主题的桌面背景都是自动更换的。同样Ubuntu环境下,也可以完成此功能。但网络上Ubuntu的桌面背景多以单张的形式为主,想要拥有一组自动更换的背景,需要用户自己动手。现在结合我自己做的一组轮换背景hackers,跟大家分享一下通过修改相应配置文件实现Ubuntu轮换背景功能的方法。

Ubuntu桌面背景的配置主要涉及两个目录下的文件,分别是/usr/share/backgrounds/usr/share/gnome-background-properties/。首先,在/usr/share/backgrounds目录下以轮换背景名为文件名新建一个目录,如hackers。再把想要设置为背景的图片统统拷贝到新建的目录下。之后,要为这组轮换背景编写一个xml

文件来设置各图像的先后顺序、每副图像的保持时间和每次转换的时间。一般Ubuntu会自带一两个轮换背景,可以参照其xml文件编写。这个xml文件的主要内容类似于

<background>

……

……

……

<static>

<duration>595.0</duration>

<file>/usr/share/backgrounds/hackers/104247-1440x900-Hackaholic.jpg

</file>

</static>

<transition>

<duration>5.0</duration>

<from>/usr/share/backgrounds/hackers/104247-1440x900-Hackaholic.jpg</from>

<to>/usr/share/backgrounds/hackers/136778-1440x900-aircondition.jpg

</to>

</transition>

<static>

<duration>595.0</duration>

<file>/usr/share/backgrounds/hackers/136778-1440x900-aircondition.jpg</file>

</static>

<transition>

<duration>5.0</duration>

<from>/usr/share/backgrounds/hackers/136778-1440x900-aircondition.jpg</from>

<to>/usr/share/backgrounds/hackers/15017-1440x900-6093Virus3D1024768.jpg

</to>

</transition>

……

……

……

</background>


其中主要包含两类信息,一类是静态背景<static></static>,另一类是背景转换<transition></transition>

statictransition中用duration分别描述一副背景的保持时间和一次转换的完成时间,都以秒为单位。例如,上面的代码中,一副背景保持955秒,两幅背景的转换需要5秒,总的来说就是每10分钟更换一次背景。其他出现的标签中,file指明背景采用的图片,from指明转换前的背景,to指明转换后的背景。需要注意的是,最后一个transitionto要指向第一个static的背景文件,否则就不能循环轮换了。再就是每个图片文件都要以绝对路径给出完整文件名,xml文件中有一个标签引用错误的文件都有可能会造成黑屏。

按照上面的步骤,一个轮换背景就做好了,但是要想在系统中应用它,还要让Ubuntu知道这组背景的存在。

这就需要修改/usr/share/gnome-background-properties/ubuntu-wallpapers.xml文件。这个文件的主要内容大致如下:

<wallpapers>

<wallpaper>

<name>Ubuntu</name>

<filename>/usr/share/backgrounds/warty-final-ubuntu.png</filename>

<options>zoom</options>

<pcolor>#2c001e</pcolor>

<scolor>#2c001e</scolor>

<shade_type>solid</shade_type>

</wallpaper>

……

<wallpaper deleted="false">

<name>Hackers</name>

<filename>/usr/share/backgrounds/hackers/background-1.xml</filename>

<options>zoom</options>

</wallpaper>

……

<wallpaper>

<name>Buck Off!</name>

<filename>/usr/share/backgrounds/Buck_off!_by_SirPecanGum.jpg</filename>

<options>zoom</options>

<pcolor>#000000</pcolor>

<scolor>#000000</scolor>

<shade_type>solid</shade_type>

</wallpaper>

……

</wallpapers>

可以看出,这个文件里是各式各样的的<wallpaper></wallpaper>。每个wallpaper需要指明名字、文件路径和伸缩方式等属性。从上面的例子中可以看出,wallpaper里的文件可以是.png.jpg这样的图片格式,也可能是xml文件。我们想要的轮换背景就可以向上面的第二部分代码那样在/usr/share/gnome-background-properties/ubuntu-wallpapers.xml中声明。其中<filename>/usr/share/backgrounds/hackers/background-1.xml</filename>中的文件就是之前编写的配置各背景顺序和时间的文件。


这样,一个轮换背景就可以应用在Ubuntu中了。在Ubuntu11.10Background设置窗口中,图像右下角带有对号标记的就是轮换背景。