ubuntu 下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加相关的知识,希望对你有一定的参考价值。
是如何通过代码实现调用这个xml,打字打成“如果”去来
参考技术A sudo mkdir /usr/share/backgrounds/mybackground-imgssudo cd /usr/share/backgrounds/mybackground-imgs
sudo cp /home/你的背景图片所在目录/* .
sudo ./backgroud.py
其中backgroud.py:
#!/usr/bin/env python
#coding=utf-8
import glob, os
import shutil
import time
import Image
filelist=[]
def filelie(path):
if os.path.isfile(path):
wenjian=os.path.splitext(path)[1][1:]
if wenjian=="jpg" or wenjian=="png" or wenjian=="gif":
try:
kuan,gao = Image.open(path).size
if kuan>=1024 and gao>=768:
filelist.append(path)
except IOError:
pass
elif os.path.isdir(path):
for item in os.listdir(path):
itemsrc = os.path.join(path, item)
filelie(itemsrc)
curdir = os.getcwd()
filelie(curdir)
currentImageFiles = filelist
#print filelist
if os.path.isfile('backgroundslide.xml'):
os.remove('backgroundslide.xml')
currentTime = time.localtime()
length = len(currentImageFiles)
f = file('backgroundslide.xml', 'w')
f.write('<background>\n')
f.write('\t<starttime>\n')
f.write('\t\t<year>' + str(currentTime.tm_year) + '</year>\n')
f.write('\t\t<month>' + str(currentTime.tm_mon) + '</month>\n')
f.write('\t\t<day>' + str(currentTime.tm_mday) + '</day>\n')
f.write('\t\t<hour>' + str(currentTime.tm_hour) + '</hour>\n')
f.write('\t\t<minute>' + str(currentTime.tm_min) + '</minute>\n')
f.write('\t\t<second>' + str(currentTime.tm_sec) + '</second>\n')
f.write('\t</starttime>\n')
f.write('<!--This animation will start at the time it created-->\n')
for i in currentImageFiles:
length = length - 1
f.write('\t<static>\n')
f.write('\t\t<duration>550.0</duration>\n')
f.write('\t\t<file>' + currentImageFiles[length] +'</file>\n')
f.write('\t</static>\n')
f.write('\t<transition>\n')
f.write('\t\t<duration>25.0</duration>\n')
f.write('\t\t<from>' + currentImageFiles[length] + '</from>\n')
if length >= 1:
f.write('\t\t<to>' + currentImageFiles[length-1] + '</to>\n')
if length <1:
f.write('\t\t<to>' + currentImageFiles[len(currentImageFiles)-1] + '</to>\n')
f.write('\t</transition>\n')
f.write('</background>\n')
f.close()追问
你这个只是生成xml而已,还不是要通过右键-》视图-》添加 选中xml
参考技术B 好像是需要配置gconf,看看有没有可以配置gconf的python库吧.gconf就像是gnome下的注册表. 参考技术C 将xml文件拷贝到 /usr/share/backgrounds/cosmos/追问
显然不行撒,xml这个文件肯定是被某个配置文件引用了,关键是我现在找不到这个配置文件,find命令貌似没成功
追答去ubuntu论坛看看
ubuntu18.04桌面美化之动态壁纸(视频)
参考技术A 动态壁纸即把循环播放的一段视频设为桌面背景,VLC播放器即可实现效果,但是无法切换窗口,不可用。借助动态壁纸工具实现。动态桌面资源,有很多唯美的视频: 火萤视频桌面资源区
这个工具我尝试不成功,会遮挡托盘工具,有兴趣可以
参考: 设置 Linux 动态桌面的几种办法
启动Komoreb后,在桌面右击,点击右键菜单进入设置,操作简单,所见即所得。
启动Wallpaper Creator,在如下窗口分别填入壁纸名称、选择“A video”、选择作为壁纸的视频路径及缩略图路径(不可省略,否则设置壁纸时看不到),然后下一步。
下一步设置桌面时钟的显示样式,可开关时钟、设置字体、显示位置等等,完成后下一步。
在终端执行文件移动操作,操作命令根据上一步提示。
愤怒的小鸟:
腊梅:
以上是关于ubuntu 下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加的主要内容,如果未能解决你的问题,请参考以下文章
桌面太单调?一起用Python做个自定义动态壁纸,竟然还可以放视频!
我在windows下用QT写了个程序,把这个源代码直接在linux下编译可以吗?
Ubuntu下用命令行运行QT程序的显示效果为啥跟双击程序的效果不一样?