Deepin 切换壁纸小工具
Linux Python Deepin 切换壁纸小工具 切换壁纸这种事,找到接口,一行代码就可以解决,本来打算用 bash 脚本,但是考虑到随机选取壁纸等因素,用 python 的 os 模块完成任务。 一、思路 找到切换壁纸的接口 设置壁纸库(文件夹) python 脚本完成功能 半小时触发脚本自动切换壁纸 二、实现过程 1、切换壁纸接口 本脚本只在 Linux 下使用。 在 Linux 下(准确说是 GNOME 桌面),通过 gsettings set 指令完成对特定值(壁纸文件位置)进行修改,即可修改壁纸。 # Ubuntu 下切换指令(注意有个 file) gsettings set org.gnome.desktop.background picture-uri "file:/home/user/Desktop/1.jpg" #Deepin 下切换指令(注意没有 file) gsettings set com.deepin.wrap.gnome.desktop.background picture-uri "/home/user/Desktop/1.jpg" 2、设置壁纸库 这步没什么好说的啊,把喜欢的壁纸放在一个文件夹下,方便之后的存取使用。 3、python 完成功能 直接上代码,看代码注释就好了。 # -*- coding: utf-8 -*- # @Date : 2018-05-21 12:07:17 # @Author : Light (halysl0817@gmail.com) # @Link : ${link} # @Version : $Id$ import os import random """ TODO(halysl0817@gmail.com):Change the wallpaper by changing the time 利用linux下的crontab工具实现半小时切换一次, */30 * * * * python /xxx/changebackground.py """ # 更换壁纸指令,此为deepin更换指令,不代表所有linux发行版更换指令 cmd = "gsettings set com.deepin.wrap.gnome.desktop.background picture-uri " # 图片目录,用户可自主更换 path = "/home/light/Documents/code/spider-on-lol/lolSpider/lolSpider/img/hero_skin_img/full/" # 利用os.listdir()方法获取图片目录下的所有文件名的列表 pic_list = os.listdir(path) # 确切的文件位置,以及确切的更换指令 real_path = path + str(random.choices(pic_list))[2:-2] real_cmd = cmd + "\"" + real_path +"\"" # 执行 os.system(real_cmd) 4、自动切换壁纸 利用 Linux 下的 crontab 完成定时任务。 ...