让 Ubuntu 桌面自动更换壁纸
引言
让我们的桌面系统自动更换壁纸是一个很常见的美化需求,而且确实也存在着不少这方面的小软件可以实现这个功能。事实上,在基于 Gnome 的桌面系统中,我们可以不需要借助任何第三方软件的帮助来让我们的桌面自动更换壁纸。我这里所写的方法,适用于基于 Gnome 的 Linux 桌面系统,换句话说,就是在 Ubuntu 和 Fedora 中都可以。其实这一篇应该放在 Linux 桌面系统美化中一起论述,单独成篇有点小题大做了。雕虫小技,放到博客园首页希望大家不要介意。
一、下载自己喜欢的壁纸
刚安装完成的 ubuntu 系统,其桌面是非常单调的,如下图:

所以我们需要自己去网上下载一些自己喜欢的壁纸,美女也好,动漫也好,游戏电影 CG 也好,自己喜欢就行。当然是要高清无码的。刚下载后的图片都在主目录下的下载目录中,而我们系统自带的壁纸都在/usr/share/backgrounds/目录下,我们要把下载的壁纸也移动到这个目录中去。因为访问权限的原因,需要使用sudo mv命令,如下图:

二、自动切换壁纸功能主要由两个 XML 文件控制
前面已经说过,Gnome 自带自动切换壁纸的功能,而要使用这个功能,只需要编写和修改两个 XML 文件即可。首先,到/usr/share/backgrounds/目录中看一下,发现其中不仅只有图片,还有一个contest目录,如下图:

在contest目录中,有一个系统自带的xenial.xml文件,这就是一个自动切换壁纸的配置文件。我们可以把该文件当做范本,来编写我们自己的配置文件。将该配置文件打开看一下,发现其格式非常简单,如下图:

从该配置文件可以看出,只需要根据壁纸所在的路径,设定好每一张图片先保留多少秒,然后切换到另外一张图片,切换过程经过几秒。其内容非常简单,一下子就看懂了。但是要写一个这样的配置文件就有点难度了,特别是图片比较多的情况下,一个一个的输入图片的路径会累死人的,所以我们可以写一个 Bash 脚本来自动生成一个这样的配置文件。怎么写 Bash 脚本,后面会讲到。
另外一个 XML 文件位于/usr/share/gnome-background-properties/目录下,如下两图:


只有在这里的 XML 配置文件中提到壁纸,才能在 Ubuntu 的系统设置界面中看到。所以等会儿我们生成了自动切换壁纸的 XML 配置文件后,只需要把那个配置文件的路径加到这里就行了。下图是系统设置中关于壁纸设置的界面,可以看到,既可以选择单独的壁纸图片,也可以选择某个自动切换壁纸的配置:

三、编写 Bash 脚本自动生成第一个 XML 配置文件
前面说过,如果自己写配置文件,光输入每个图片的路径这件事就可以让人发疯。好在我们有 Bash 脚本可以干这件事儿,这个 Bash 脚本非常简单,使用ls命令自动获得所有图片的路径后,然后用一个循环自动生成 XML 文件的内容即可,如下图:

然后,使用下图中的几个命令,生成mywallpapers.xml文件,并把它转移到/usr/share/backgrounds/contest/目录下,如下图:

四、手动修改第二个 XML 配置文件
对于前面提到的第二个配置文件,只需要添加或者修改一行即可,所以可以手动进行。很简单,我们只需要把刚刚生成的/usr/share/backgrounds/contest/mywallpapers.xml添加进去即可,如下图:

五、在系统设置中设置壁纸
这一步太简单了,在系统设置中找到我们编写的那个可以自动切换的配置即可,如下图:

大功告成。从上面的图片可以看出,我的壁纸切换比较快,每 5 分钟就换一张。然后,就可以打开一个半透明的控制台,一边编程,一边享受背景的自动切换了。干完自动切换壁纸的事,我接着就去尝试最新的 .Net Core 1.0 了。给个桌面大家欣赏一下,如下图:

(京山游侠于2016-07-10发布于博客园,转载请注明出处。)
让 Ubuntu 桌面自动更换壁纸的更多相关文章
- linux设置自动更换壁纸
#!/bin/bash let n=0 files=($HOME/wallpapers/*.jpg) count=${#files[@]} while [ 1 ] do let "n=n%$ ...
- 【壁纸自动换】自动下载、更换壁纸(Bing壁纸)--XinBSBingWallPaper[2.7更新]
XinBSBingWallPaper主要功能: 1.支持自动下载Bing壁纸.Netbian壁纸.美国国家地理杂志图片. 2.自动搜索.下载多国Bing首页壁纸. 3.支持定时自动更换桌面壁纸. 4. ...
- Win10家庭版设置桌面右键更换桌面壁纸
Win10家庭版设置桌面右键更换桌面壁纸.. ------------------------- 这是设置之前的右键快捷菜单.. ------------------------- 开始设置:右键桌面 ...
- ubuntu桌面安装常用软件&及常见问题
自己从windows转向ubuntu桌面开发,根据需求安装以下文件: ubuntu 桌面版下载:http://www.ubuntu.org.cn/download/desktop 有的公司设置静态ip ...
- Zedboard学习(一):移植Ubuntu桌面操作系统 标签: ubuntu移植zedboardFPGA 2017-07-04 21:53 26人阅读
环境准备: 首先,需要的肯定是Ubuntu操作系统.可以在自己的电脑上安装物理机,也可以是虚拟机下运行的.我的是在Vmware下运行的Ubuntu14.04 32位操作系统. 由于zedboard上的 ...
- Ubuntu启动自动登录并启动程序
最近在研究Ubuntu,需要在系统启动之后自动登录,并且启动某个程序. 手上拿到的系统只有一个空桌面,其他嘛也没有,鼠标右键也不管用.于是借助自己的虚拟机研究发现,自动启动程序配置文件在: /home ...
- Manjaro18+kde 更换壁纸重启失效
更换壁纸 在kde的桌面右键->配置桌面 壁纸里更换壁纸,我不能直接添加图像并应用.我的系统在这样操作后重启就会发现一切都被重置了.刚刚添加的图片也不见了. 于是,我就模范原本存在壁纸文 ...
- Ubuntu 桌面版使用总结
最近拿出了大学时买的性(游)能(戏)本(机),其实从直观来看,硬件基础还是不错的,但是跑 WIN10, 清了各种广告,关了各种无效进城之后,用起来仍然还是很不爽.可能是已经用惯 mac 了吧,mac给 ...
- 【转】ubuntu vpn自动切换路由
需要的工作有以下三項 Ubuntu Network Manager Client (nmcli)用來建立VPN連線的工具其實在UBUNTU在桌面上就有VPN連線可以用, 為什麼我們還要這麼大費周章的用 ...
随机推荐
- ASP.NET Aries 入门开发教程7:DataGrid的行操作(主键操作区)
前言: 抓紧勤奋,再接再励,预计共10篇来结束这个系列. 上一篇介绍:ASP.NET Aries 入门开发教程6:列表数据表格的格式化处理及行内编辑 本篇介绍主键操作区相关内容. 1:什么时候有默认的 ...
- salesforce 零基础学习(六十二)获取sObject中类型为Picklist的field values(含record type)
本篇引用以下三个链接: http://www.tgerm.com/2012/01/recordtype-specific-picklist-values.html?m=1 https://github ...
- CRL快速开发框架系列教程十二(MongoDB支持)
本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...
- 使用 Android Studio 检测内存泄漏与解决内存泄漏问题
本文在腾讯技术推文上 修改 发布. http://wetest.qq.com/lab/view/63.html?from=ads_test2_qqtips&sessionUserType=BF ...
- node中的Stream-Readable和Writeable解读
在node中,只要涉及到文件IO的场景一般都会涉及到一个类-Stream.Stream是对IO设备的抽象表示,其在JAVA中也有涉及,主要体现在四个类-InputStream.Reader.Outpu ...
- 【需求设计1】VIP积分系统无聊YY
RT,想到什么就写什么呗,这是最简单的方式,顺便给自己做一个记录,反正自己记忆力也不太好.本文是仿陆金所的积分系统,自己YY的一套东西. 首先我想做一个VIP兑换投资卷的功能: 我们先来确定一些我知道 ...
- C++ 拷贝构造函数和赋值运算符
本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数.什么情况下调用赋值运算符.最后,简单的分析了下深拷贝和浅拷贝的问题. 拷贝构造函数和赋值运算符 在默认情况下(用户没有定义 ...
- 模仿Linux内核kfifo实现的循环缓存
想实现个循环缓冲区(Circular Buffer),搜了些资料多数是基于循环队列的实现方式.使用一个变量存放缓冲区中的数据长度或者空出来一个空间来判断缓冲区是否满了.偶然间看到分析Linux内核的循 ...
- 2013 Asia Changsha Regional Contest---Josephina and RPG(DP)
题目链接 http://acm.hdu.edu.cn/showproblem.php?pid=4800 Problem Description A role-playing game (RPG and ...
- CSS常见技巧
一.CSS Sprite(雪碧图|精灵图)指什么? 有什么作用? CSS雪碧 即CSS Sprite,也有人叫它CSS精灵,是一种CSS图像合并技术,该方法是将小图像和背景图片合并到一张图片上,然后利 ...