来源:http://www.linuxidc.com/Linux/2016-09/135350.html

更原始的来源就不去找了,如果有找到的同学可以回复我我到时改过来www

来源的教程是有效的,但是打脚本的过程有点麻烦并且本身有点小错误(不知道是我看错了还是怎样),这里整理一下发上来

第一步:将壁纸拖入/usr/share/backgrounds/文件夹内

你可以选择删除原先自带的系统壁纸,并将其换为自己的壁纸。

想方便配置的话,在终端中使用命令:

sudo nautilus

来打开管理员权限下的文件管理器,将自己盘里的壁纸拖到这个文件夹里面~

第二步:用bash脚本生成mywallpapers.xml

可以使用vim,emacs,gedit等编辑器进行配置。

你需要将如下代码命名为script.sh并存入任意一个位置。

files=`ls  -u /usr/share/backgrounds | grep -v contest`
last_file='empty' echo '<background>'
echo ' <starttime>'
echo ' <year>2017</year>'
echo ' <month>9</month>'
echo ' <day>11</day>'
echo ' <hour>00</hour>'
echo ' <minute>00</minute>'
echo ' <second>00</second>'
echo ' </starttime>' for current_file in $files
do
if [ "$last_file" = "empty" ]; then
last_file=$current_file
first_file=$last_file
echo ' <static>'
echo ' <duration>600.0</duration>'
echo " <file>/usr/share/backgrounds/$last_file</file>"
echo ' </static>'
else
echo ' <transition>'
echo ' <duration>3.0</duration>'
echo " <from>/usr/share/backgrounds/$last_file</from>"
echo " <to>/usr/share/backgrounds/$current_file</to>"
echo ' </transition>'
echo ' <static>'
echo ' <duration>600.0</duration>'
echo " <file>/usr/share/backgrounds/$current_file</file>"
echo ' </static>'
last_file=$current_file
fi
done echo ' <transition>'
echo ' <duration>3.0</duration>'
echo " <from>/usr/share/backgrounds/$last_file</from>"
echo " <to>/usr/share/backgrounds/$first_file</to>"
echo ' </transition>'
echo '</background>'

两个transition里的duration是指过渡时所用的时间,两个static里的duration则是指每张壁纸的播放时间,以秒为单位。上方的过渡时间默认为3秒,播放时间为10分钟,可以根据自己喜好更改。

接着使用如下命令生成xml文件:

sh script.sh > mywallpapers.xml

将生成好的文件移动到/usr/share/backgrounds/contest/目录中。

sudo mv mywallpapers.xml /usr/share/backgrounds/contest

第三步:编辑/usr/share/gnome-background-properties/xenial-wallpapers.xml

不同版本下文件名可能会有不同,所以(一般)请选择文件夹下文件名不带ubuntu的那个。这里是16.04版本下的情况。

使用编辑器打开该文件(记得加上sudo),这里以gedit为例,你也可以使用vim或emacs:

sudo gedit /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>
//到这里结束
...
//下面不要动

保存,退出。

第四步:更改桌面壁纸。

回到桌面,右键,选择更改桌面背景:

在右侧的选项栏中,选择“壁纸”一栏,你会发现这一栏下面有两种壁纸——

当然是选择名为My Wallpapers的那个。

大功告成。

实现的原理和细节可以参考一开始的来源。

[教程]Ubuntu下完整配置自动壁纸切换的更多相关文章

  1. Ubuntu下Maven配置与Maven项目创建教程

    一. Ubuntu下Maven配置 windows下Maven配置参考http://www.cnblogs.com/LexMoon/p/JavaMaven.html ubuntu下Maven地址htt ...

  2. Opencv 2.4.9在Ubuntu下的配置与安装

    [原]Opencv 2.4.9在Ubuntu下的配置安装  Opencv 2.4.9在Ubuntu下的配置与安装 surgewong@gmail.com http://blog.csdn.net/su ...

  3. Ubuntu下MySql配置

    Ubuntu下MySql配置 安装MySQL 命令: sudo apt-get install mysql-server MySQL初始配置及管理 启动MySQL mysql start : mysq ...

  4. Ubuntu下HTTPS配置

    Ubuntu下HTTPS配置非常简单,对大部分用户而言,使用普通的自签名证书,只需按照步骤进行就可以了,无需了解密钥.证书的更多知识,更深的背景知识还有RSA算法.DES算法.X509规范.CA机构. ...

  5. 【linux基础】Ubuntu下的终端多标签切换快捷键

    method: 方法一: alt+ alt+ alt+ 方法二: ctrl + pageUp ctrl + pageDown 方法三: Edit--> Keybord Shortcuts 到这里 ...

  6. Ubuntu下Linux配置内核各种常见错误和解决办法

    镜像下载.域名解析.时间同步请点击阿里云开源镜像站 这篇把Ubuntu下Linux配置内核各种常见错误和解决办法给大家讲解一下,希望可以帮助到大家. 一.Ubuntu系统中缺少各种依赖包导致的问题 1 ...

  7. ubuntu下安装配置OpenCV

    Cmake的安装 我用的是ubuntu-software自动下载安装的. Ubuntu 下安装 OpenCV 首先下载安装相关包,然后下载OpenCV 系统:ubuntu16.04 OpenCV:2. ...

  8. ubuntu下nagios配置

    参考文献: http://www.cnblogs.com/mchina/archive/2013/02/20/2883404.html http://my.oschina.net/duangr/blo ...

  9. ubuntu下安装配置minicom(解决默认的端口/dev/tty8,改不过来的问题)

    Minicom是linux下串口通信的软件,下面讲下ubuntu Minicom的安装和配置. 安装: sudo apt-get install minicom 或在新立得软件包管理器中搜索“mini ...

随机推荐

  1. 使用4K显示器遇到的坑

    第一大坑:鼠标移动变慢,有强烈的滞后感 让人怀疑是不是系统因为要支持4K屏而变慢了,或者是鼠标坏了!甚至猜想是不是4K显示器的屏幕,因为分辨率太高,导致鼠标需要移动的点太多,因而耗时,产生了滞后感. ...

  2. Using SQLXML Bulk Load in the .NET Environment

    http://msdn.microsoft.com/en-us/library/ms171878.aspx 1.首先创建一张表 CREATE TABLE Ord ( OrderID ,) PRIMAR ...

  3. poj 2828 Buy Tickets 树状数组

    Buy Tickets Description Railway tickets were difficult to buy around the Lunar New Year in China, so ...

  4. codeforces 256 div2 C. Painting Fence 分治

    C. Painting Fence time limit per test 1 second memory limit per test 512 megabytes input standard in ...

  5. R语言绘制正太分布图,并进行正太分布检验

    正态分布 判断一样本所代表的背景总体与理论正态分布是否没有显著差异的检验.   方法一概率密度曲线比较法 看样本与正太分布概率密度曲线的拟合程度,R代码如下: #画样本概率密度图s-rnorm(100 ...

  6. Coderforce 560B-Gerald is into Art

    题目大意:给了三个矩形的长和宽,问第一个能否把其他两个装在内部,要求内部之间不重叠,不出界(可重边)? 题目分析:这道题...考虑不够全面导致比赛时没有出来...当时,就是觉得自己的代码很完美,不可能 ...

  7. 99. Recover Binary Search Tree -- 找到二叉排序树中交换过位置的两个节点

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  8. Cortex_M3——存储器系统学习笔记

    看完一个章节完全不做学习笔记总结并进行知识转换,看了就会忘记啊~无奈脸. 一.CORTEX_M3总线一览 二.异常 编号为1-15的对应系统异常,大于等于16的则全是外部中断. 系统异常清单如下所示: ...

  9. 学习笔记20151211——AXI4 STREAM DATA FIFO

    AXI4 STREAM DATA FIFO是输入输出接口均为AXIS接口的数据缓存器,和其他fifo一样是先进先出形式.可以在跨时钟域的应用中用于数据缓冲,避免亚稳态出现.支持数据的分割和数据拼接.在 ...

  10. java基础第9天

    抽象 abstract 抽象类和抽象方法必须用abstract关键字修饰 抽象类格式 abstract class 类名{} 抽象方法定义,在返回值钱,或修饰符前加上abstract关键字 方法没有方 ...