ubuntu 下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 下用python写了个生成动态壁纸的脚本,如果通过代码实现使用这个xml,而不是通过桌面->背景->添加相关的知识,希望对你有一定的参考价值。

是如何通过代码实现调用这个xml,打字打成“如果”去来

参考技术A sudo mkdir /usr/share/backgrounds/mybackground-imgs
sudo 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下编译可以吗?

ubuntu18.04桌面美化之动态壁纸(视频)

Ubuntu下用命令行运行QT程序的显示效果为啥跟双击程序的效果不一样?

Ubuntu写python脚本实现自定义壁纸幻灯片:Vue法字符串拼接法minidom法

ubunu下用命令设置壁纸