1. 下载图片放到任意文件夹,如:/home/<yourname>/图片。
  2. 在任意位置创建一个script.run文件,内容为(600指每600秒切换壁纸):
    dir="/home/<yourname>/图片"
    files=`ls -u ${dir} | grep -v contest`
    last_file='empty'echo '<background>'
    echo '  <starttime>'
    echo '    <year>2019</year>'
    echo '    <month>3</month>'
    echo '    <day>5</day>'
    echo '    <hour>00</hour>'
    echo '    <minute>00</minute>'
    echo '    <second>00</second>'
    echo '  </starttime>'for current_file in $files
    doif [ "$last_file" = "empty" ]; thenlast_file=$current_filefirst_file=$last_fileecho '  <static>'echo '    <duration>600.0</duration>'echo "    <file>${dir}/$last_file</file>"echo '  </static>'elseecho '  <transition>'echo '    <duration>3.0</duration>'echo "    <from>${dir}/$last_file</from>"echo "    <to>${dir}/$current_file</to>"echo '  </transition>'echo '  <static>'echo '    <duration>600.0</duration>'echo "    <file>${dir}/$current_file</file>"echo '  </static>'last_file=$current_filefi
    doneecho '  <transition>'
    echo '    <duration>3.0</duration>'
    echo "    <from>${dir}/$last_file</from>"
    echo "    <to>${dir}/$first_file</to>"
    echo '  </transition>'
    echo '</background>'
  3. 运行脚本生成mywallpapers.xml:sh script.sh > mywallpapers.xml。
  4. 把mywallpapers.xml移动到/usr/share/backgrounds/contest。
  5. 向/usr/share/gnome-background-properties/xenial-wallpapers.xml添加内容:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
    <wallpapers><wallpaper deleted="false"><name>Ubuntu 16.04 Community Wallpapers</name><filename>/usr/share/backgrounds/contest/xenial.xml</filename><options>zoom</options></wallpaper><!--添加开始--><wallpaper deleted="false"><name>My Wallpapers</name><filename>/usr/share/backgrounds/contest/mywallpapers.xml</filename><options>zoom</options></wallpaper><!--添加结束-->
    ...
  6. 到系统设置里设置壁纸。
  7. 以后使用新图片做壁纸需要重新执行<3>、<4>步。

[参考1][参考2]


用脚本生成mywallpapers.xml后,壁纸按照固定的顺序切换,添加新图片时还要重新生成。为了灵活,下面使用程序切换。

  1. 图片路径不含中文:

    #命令行执行
    import os
    import randomstr1 = "export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/ && "
    str2 = "gsettings set org.gnome.desktop.background picture-uri "
    str3 = "/home/<yourname>/a/"
    imgs = os.listdir(str3)
    aimg = str3 + str(random.choice(imgs))[0:]
    cmda = str1 + str2 + "\"file:" + aimg +"\""
    os.system(cmda)#crontab执行
    import os
    import randompre1 = "PID=$(pgrep gnome-session) && "
    pre2 = "export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) && "
    str1 = "gsettings set org.gnome.desktop.background picture-uri "
    str2 = "/home/<yourname>/a/"
    imgs = os.listdir(str2)
    aimg = str2 + str(random.choice(imgs))[0:]
    cmda = pre1 + pre2 +  str1 + "\"file:" + aimg +"\""
    os.system(cmda)
  2. 图片路径含中文:
    #命令行执行
    #encoding=utf-8
    import os
    import randomstr1 = "export GIO_EXTRA_MODULES=/usr/lib/x86_64-linux-gnu/gio/modules/ && "
    str2 = "gsettings set org.gnome.desktop.background picture-uri "
    str3 = unicode("/home/<yourname>/图片/","utf-8")
    imgs = os.listdir(str3)
    aimg = str3 + str(random.choice(imgs))[0:]
    cmda = str1 + str2 + "\"file:" + aimg +"\""
    os.system(cmda.encode('utf-8'))#crontab执行
    #encoding=utf-8
    import os
    import randompre1 = "PID=$(pgrep gnome-session) && "
    pre2 = "export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) && "
    str1 = "gsettings set org.gnome.desktop.background picture-uri "
    str2 = unicode("/home/<yourname>/图片/","utf-8")
    imgs = os.listdir(str2)
    aimg = str2 + str(random.choice(imgs))[0:]
    cmda = pre1 + pre2 + str1 + "\"file:" + aimg +"\""
    os.system(cmda.encode('utf-8'))
  3. 注意只要“crontab执行”部分。假设上面创建的文件为/home/<yourname>/wallpaper.py。执行命令:crontab -e,追加:*/5 * * * * python /home/<yourname>/wallpaper.py,ctrl + X保存,Y确认,Enter关闭。执行命令crontab -l查看。其中,5指每隔5分钟换壁纸,选择填充。
  4. 用于中文路径并且通知提示的python文件:
    #encoding=utf-8
    import os
    import randompre1 = "PID=$(pgrep gnome-session) && "
    pre2 = "export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) && "
    str1 = "gsettings set org.gnome.desktop.background picture-uri "
    str2 = unicode("/home/<yourname>/图片/","utf-8")
    imgs = os.listdir(str2)
    aimg = str2 + str(random.choice(imgs))[0:]
    cmda = pre1 + pre2 + str1 + "\"file:" + aimg +"\""
    os.system(cmda.encode('utf-8'))mess = "notify-send -i /home/<yourname>/文档/caffe.png \"现在时间\" \"$(date +%m月%d日\' \'%p%I:%M)\""
    os.system(pre1+pre2+mess)

[参考1][crontab定时任务]

Ubuntu动态壁纸相关推荐

  1. ubuntu动态壁纸 视频 Komorebi

    安装软件 Komorebi 先下载,再安装 https://github.com/cheesecakeufo/komorebi/releases sudo apt install ./-2.1-64- ...

  2. linux如何做动态壁纸实验报告,Ubuntu制作动态壁纸

    我们知道从10.10开始每个Ubuntu版本,都带了一个动态壁纸,即像Win7下的主题里面的壁纸一样,隔一段时间更换一张壁纸.我个人非常喜欢,觉得更换一下,不至于审美疲劳.但是Ubuntu下只有一种, ...

  3. 【Ubuntu】如何在Ubuntu系统上设置好看的动态壁纸(Komorebi)

    前言: 最近闲来无事,装了Ubuntu的双系统玩玩.但是很快就发现了Ubuntu的壁纸实在太过单调了,对于一个重度动态壁纸爱好者来讲简直是令人抓狂.于是很快就想到了Wallpaper Engine,果 ...

  4. ubuntu 设置动态壁纸来美化桌面(Live Wallpaper)

    安利一款在Linux下操作极方便的实现动态壁纸功能的工具--Live Wallpaper 它用由OpenGL驱动的一款动态桌面背景来代替标准的静态桌面背景. 在linxu上费一点点劲搭建一个出色的工作 ...

  5. linux美化桌面,Linux_设置动态壁纸来美化Ubuntu桌面,我们知道你想拥有一个有格调 - phpStudy...

    设置动态壁纸来美化Ubuntu桌面 我们知道你想拥有一个有格调的ubuntu桌面来炫耀一下 :) 在linxu上费一点点劲搭建一个出色的工作环境是很简单的.今天,我们(重新)着重来探讨长驻你脑海中那些 ...

  6. Ubuntu 20.04 设置 动态壁纸

    Ubuntu 20.04动态壁纸 默认你已经下好gnome的主题编辑器tweaks了. 如果没有下载,使用 sudo apt install gnome-tweaks 进行下载 打开/usr/shar ...

  7. linux桌面动态,ubuntu 中设置动态壁纸

    为了开发android 功能,ubuntu系统也使用了好久时间,作为一个经常使用的系统,不捣鼓捣鼓就太平淡,根据网上的一些介绍,搞了一个动态壁纸出来,用来定时更换壁纸. 首先创建一个文件夹,里面三个文 ...

  8. 如何给你的Ubuntu系统桌面换个漂亮的动态壁纸

    前言   经常用Ubuntu系统,天天看着那几张系统桌面壁纸都看腻了,突发奇想之下去网上搜索了下Linux系统下是否有想Windows系统一样的桌面动态壁纸,结果还真让我找到一个:Komorebi.这 ...

  9. linux系统下的动态壁纸,桌面应用|动态壁纸给linux发行版添加活力背景

    我们知道你想拥有一个有格调的ubuntu桌面来炫耀一下 :) 在linxu上费一点点劲搭建一个出色的工作环境是很简单的.今天,我们(重新)着重来探讨长驻你脑海中那些东西 :一款自由,开源,能够给你的截 ...

最新文章

  1. java.io设计模式_Java IO文件过滤器对命令设计模式的使用
  2. NURBS曲线与曲面
  3. VirtualAlloc和VirtualCopy的蕴含知识点
  4. angularjs php 实例下载,AngularJS Eclipse 1.2.0 插件下载
  5. Spring Ioc 源码分析(一)- XML 解析
  6. java实现折半查找_java语言之实现折半查找算法
  7. 密钥怎么存储在数据库中
  8. MySql命令行下导出、导入数据
  9. 如何进行软件需求分析
  10. Java内存模型—JMM详解
  11. WPF 程序加载PGIS性能问题
  12. 入侵html数据库,教你如何暴库(网站入侵)
  13. 求职经历,三轮技术面 +HR 面,面试也不过如此
  14. 【Day4.5】走人行天桥去百丽宫海生馆
  15. 用Matlab把SMAP vegetation optical depth (VOD)数据转换成带投影信息EASE GRID2的tif文件
  16. PHP Yar - 学习/实践
  17. Arduino的控制(一):Arduino步进电机六轴机械手(油管搬)
  18. P1972 [SDOI2009] HH的项链
  19. 层层递进!MySQL性能优化步骤演进,一顿饭的时间我就会了
  20. Cesium|xt3d加载中国地形

热门文章

  1. css3 图片阴影、翘边效果
  2. IPv6邻居发现协议--NDP详解
  3. Gooxi国产化服务器专题介绍之海光服务器
  4. 干货|科技赋能财富硬核直播带货,助力宜信财富逆势增长
  5. C++编写木马全过程
  6. BookXNote使用
  7. 睡不着觉--安卓计数器给我数绵羊
  8. 关于cm5forG1的升级脚本修改
  9. 第一部分:基础篇(一)
  10. 【内网穿透服务器】使用FRP实现内网穿透,远程访问内网服务器