引言

  让我们的桌面系统自动更换壁纸是一个很常见的美化需求,而且确实也存在着不少这方面的小软件可以实现这个功能。事实上,在基于 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. ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之目录导航

    ASP.NET MVC with Entity Framework and CSS是2016年出版的一本比较新的.关于ASP.NET MVC.EF以及CSS技术的图书,我将尝试着翻译本书以供日后查阅. ...

  2. Android带加减的edittext

    看了网上这样自带加减的edittext写得好复杂,还有各种监听事件,我觉得没有必有.于是我自己写了一个. 我这个edittext仅仅限制整数,每次加减1. public class TestEditT ...

  3. pt-heartbeat

    pt-heartbeat是用来监测主从延迟的情况的,众所周知,传统的通过show slave status\G命令中的Seconds_Behind_Master值来判断主从延迟并不靠谱. pt-hea ...

  4. 内存映射文件MemoryMappedFile使用

    参考资料: http://blog.csdn.net/bitfan/article/details/4438458 所谓内存映射文件,其实就是在内存中开辟出一块存放数据的专用区域,这区域往往与硬盘上特 ...

  5. WPF中Grid实现网格,表格样式通用类

    /// <summary> /// 给Grid添加边框线 /// </summary> /// <param name="grid"></ ...

  6. Canvas讲解

    1.Canvas是什么? 简单地说canvas是画布,可以进行画任何的线.图形.填充等一系列的操作,而且操作的画图就是js, 提供简单的二维矢量绘图. 2.步骤: <canvas id=&quo ...

  7. Ubuntu 16.04 安装 arm-linux-gcc 嵌入式交叉编译环境 问题汇总

    闲扯: 实习了将近半年一直在做硬件以及底层的驱动,最近要找工作了发现了对linux普遍要求很高,而且工作岗位也非常多,所以最近一些时间在时不时地接触linux. 正文:(我一时兴起开始写博客,准备不充 ...

  8. Forward+ Rendering Framework

    近几天啃各种新技术时又一个蛋疼的副产品...额,算是把AMD的Forward+ Sample抄了一遍吧. 其实个人感觉这个AMD大肆宣传的Forward+跟Intel很早之前提的Tiled-Based ...

  9. 多用多学之Java中的Set,List,Map

            很长时间以来一直代码中用的比较多的数据列表主要是List,而且都是ArrayList,感觉有这个玩意就够了.ArrayList是用于实现动态数组的包装工具类,这样写代码的时候就可以拉进 ...

  10. XSS 前端防火墙 —— 可疑模块拦截

    上一篇介绍的系统,已能预警现实中的大多数 XSS 攻击,但想绕过还是很容易的. 由于是在前端防护,策略配置都能在源代码里找到,因此很快就能试出破解方案.并且攻击者可以屏蔽日志接口,在自己电脑上永不发出 ...