ubuntu 12.04LTS 动态壁纸

前题:感觉一张壁纸挺单一的,就想弄个可以隔几分钟就能切换的壁纸效果,于是去下载了win8的壁纸,放在了某个文件目录下。

===============================================================================================

sudo mkdir /usr/share/backgrounds/win8

然后将下载的win8的壁纸放入路径 /usr/share/backgrounds/win8 下面<当然,其他样式的壁纸也可以啦>

然后在  /usr/share/backgrounds/win8  这个目录下创建一个  python脚本程序 backgroun.py.并写入下面的代码:

 1 #!/usr/bin/env python

 2 #coding=utf-8

 3 import glob, os

 4 import shutil

 5 import time

 6 import Image

 7 

 8 filelist=[]

 9 def filelie(path):

10     if os.path.isfile(path):

11        wenjian=os.path.splitext(path)[1][1:]

12        if wenjian=="jpg" or wenjian=="png" or wenjian=="gif":

13         try:

14           kuan,gao = Image.open(path).size

15           if kuan>=1024 and gao>=768:

16             filelist.append(path)

17         except IOError:

18          pass

19     elif os.path.isdir(path):

20         for item in os.listdir(path):

21             itemsrc = os.path.join(path, item)

22             filelie(itemsrc)

23 

24 curdir = os.getcwd()

25 filelie(curdir)

26 currentImageFiles = filelist

27 #print filelist

28 if os.path.isfile('backgroundslide.xml'):

29  os.remove('backgroundslide.xml')

30 

31 

32 currentTime = time.localtime()

33 length = len(currentImageFiles)

34 

35 f = file('backgroundslide.xml', 'w')

36 

37 f.write('<background>\n')

38 f.write('\t<starttime>\n')

39 f.write('\t\t<year>' + str(currentTime.tm_year) + '</year>\n')

40 f.write('\t\t<month>' + str(currentTime.tm_mon) + '</month>\n')

41 f.write('\t\t<day>' + str(currentTime.tm_mday) + '</day>\n')

42 f.write('\t\t<hour>' + str(currentTime.tm_hour) + '</hour>\n')

43 f.write('\t\t<minute>' + str(currentTime.tm_min) + '</minute>\n')

44 f.write('\t\t<second>' + str(currentTime.tm_sec) + '</second>\n')

45 f.write('\t</starttime>\n')

46 f.write('<!--This animation will start at the time it created-->\n')

47 

48 for i in currentImageFiles:

49  length = length - 1

50  f.write('\t<static>\n')

51  f.write('\t\t<duration>550.0</duration>\n')

52  f.write('\t\t<file>' + currentImageFiles[length] +'</file>\n')

53  f.write('\t</static>\n')

54  f.write('\t<transition>\n')

55  f.write('\t\t<duration>5.0</duration>\n')

56  f.write('\t\t<from>' + currentImageFiles[length] + '</from>\n')

57  if length >= 1:

58   f.write('\t\t<to>' + currentImageFiles[length-1] + '</to>\n')

59  if length <1:

60   f.write('\t\t<to>' + currentImageFiles[len(currentImageFiles)-1] + '</to>\n')

61  f.write('\t</transition>\n')

62 

63 f.write('</background>\n')

64 f.close()

保存,退出,给予可执行的权限,然后执行,会生成一个 backgroundslide.xml文件,这个文件是我们后面要用到的,读者也可以自己打开,其中 <static>  </static>之间有个数字时间,代表的是隔多少秒就切换下一张壁纸,根据自己的爱好可以进行修改。

backgroundslide.xml文件生成后,就修改另外一处文件,如下:

1 sudo cp /usr/share/gnome-background-properties/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/ubuntu-wallpapers.xml.bak
1 sudo vim /usr/share/gnome-background-properties/ubuntu-wallpapers.xml
 1 <?xml version="1.0" encoding="UTF-8"?>

 2 <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">

 3 <wallpapers>

 4   <wallpaper>

 5     <name>Ubuntu</name>

 6     <filename>/usr/share/backgrounds/contest/precise.xml</filename>

 7     <options>zoom</options>

 8     <pcolor>#2c001e</pcolor>

 9     <scolor>#2c001e</scolor>

10     <shade_type>solid</shade_type>

11   </wallpaper>

12 </wallpapers>

将其中的<filename> </filename>之间的路径修改成backgroundslide.xml所放的路径,也就是

1 <filename>/usr/share/backgrounds/win8/backgroundslide.xml</filename>

然后,然后就OK了!

 

本文非原创,属于本人参考网络资源进行整合,链接如下,同时非常感谢前人的共享!

http://forum.ubuntu.com.cn/viewtopic.php?f=86&t=351410
http://www.startos.com/ubuntu/tips/2010122116687.html

 

 

你可能感兴趣的:(ubuntu 12.04)