引言

  让我们的桌面系统自动更换壁纸是一个很常见的美化需求,而且确实也存在着不少这方面的小软件可以实现这个功能。事实上,在基于 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 桌面自动更换壁纸的更多相关文章

  1. linux设置自动更换壁纸

    #!/bin/bash let n=0 files=($HOME/wallpapers/*.jpg) count=${#files[@]} while [ 1 ] do let "n=n%$ ...

  2. 【壁纸自动换】自动下载、更换壁纸(Bing壁纸)--XinBSBingWallPaper[2.7更新]

    XinBSBingWallPaper主要功能: 1.支持自动下载Bing壁纸.Netbian壁纸.美国国家地理杂志图片. 2.自动搜索.下载多国Bing首页壁纸. 3.支持定时自动更换桌面壁纸. 4. ...

  3. Win10家庭版设置桌面右键更换桌面壁纸

    Win10家庭版设置桌面右键更换桌面壁纸.. ------------------------- 这是设置之前的右键快捷菜单.. ------------------------- 开始设置:右键桌面 ...

  4. ubuntu桌面安装常用软件&及常见问题

    自己从windows转向ubuntu桌面开发,根据需求安装以下文件: ubuntu 桌面版下载:http://www.ubuntu.org.cn/download/desktop 有的公司设置静态ip ...

  5. Zedboard学习(一):移植Ubuntu桌面操作系统 标签: ubuntu移植zedboardFPGA 2017-07-04 21:53 26人阅读

    环境准备: 首先,需要的肯定是Ubuntu操作系统.可以在自己的电脑上安装物理机,也可以是虚拟机下运行的.我的是在Vmware下运行的Ubuntu14.04 32位操作系统. 由于zedboard上的 ...

  6. Ubuntu启动自动登录并启动程序

    最近在研究Ubuntu,需要在系统启动之后自动登录,并且启动某个程序. 手上拿到的系统只有一个空桌面,其他嘛也没有,鼠标右键也不管用.于是借助自己的虚拟机研究发现,自动启动程序配置文件在: /home ...

  7. Manjaro18+kde 更换壁纸重启失效

    更换壁纸 ​ 在kde的桌面右键->配置桌面 壁纸里更换壁纸,我不能直接添加图像并应用.我的系统在这样操作后重启就会发现一切都被重置了.刚刚添加的图片也不见了. ​ 于是,我就模范原本存在壁纸文 ...

  8. Ubuntu 桌面版使用总结

    最近拿出了大学时买的性(游)能(戏)本(机),其实从直观来看,硬件基础还是不错的,但是跑 WIN10, 清了各种广告,关了各种无效进城之后,用起来仍然还是很不爽.可能是已经用惯 mac 了吧,mac给 ...

  9. 【转】ubuntu vpn自动切换路由

    需要的工作有以下三項 Ubuntu Network Manager Client (nmcli)用來建立VPN連線的工具其實在UBUNTU在桌面上就有VPN連線可以用, 為什麼我們還要這麼大費周章的用 ...

随机推荐

  1. Http状态码之:301、302重定向

    概念 301 Moved Permanently 被请求的资源已永久移动到新位置,并且将来任何对此资源的引用都应该使用本响应返回的若干个URI之一.如果可能,拥有链接编辑功能的客户端应当自动把请求的地 ...

  2. 关于 devbridge-autocomplete 插件多选操作的实现方法

    目前据我所知最好用的 autocomplete 插件就是 jquery-ui 的 autocomplete 以及 devbridge 的 autocomplete 插件. 我最终选择了 devbrid ...

  3. javascript之Object.defineProperty的奥妙

    直切主题 今天遇到一个这样的功能: 写一个函数,该函数传递两个参数,第一个参数为返回对象的总数据量,第二个参数为初始化对象的数据.如: var o = obj (4, {name: 'xu', age ...

  4. dubbox微服务实例及引发的“血案”

    Dubbo 是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成. 主要核心部件: Remoting: 网络通信框架 ...

  5. 为IEnumerable<T>添加RemoveAll<IEnumerable<T>>扩展方法--高性能篇

    最近写代码,遇到一个问题,微软基于List<T>自带的方法是public bool Remove(T item);,可是有时候我们可能会用到诸如RemoveAll<IEnumerab ...

  6. JS图片上传预览插件制作(兼容到IE6)

    其实,图片预览功能非常地常见.很意外,之前遇到上传图片的时候都不需要预览,也一直没有去实现过.现在手上的项目又需要有图片预览功能,所以就动手做了一个小插件.在此分享一下思路. 一.实现图片预览的一些方 ...

  7. C++ 拷贝构造函数和赋值运算符

    本文主要介绍了拷贝构造函数和赋值运算符的区别,以及在什么时候调用拷贝构造函数.什么情况下调用赋值运算符.最后,简单的分析了下深拷贝和浅拷贝的问题. 拷贝构造函数和赋值运算符 在默认情况下(用户没有定义 ...

  8. maven依赖查询地址

    http://search.maven.org/#search%7Cga%7C1%7C

  9. Android系统默认对话框添加图片

    开发工具Android Studio 今天公司UI要求软件对话框改成加图片的,以前没有做过,所以就学习了一下,废话不多说, 看效果: 创建XML文件dialog_lsit_item.xml <L ...

  10. 驱动01.LED

    1.写出leds_open,leds_write函数2.1告诉内核这几个函数的存在?定义一个结构体file_operations2.2把这个结构体告诉内核?用register_chrdev(major ...