来源: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. 试着用React写项目-利用Webpack搭环境

    转载请注明出处:王亟亟的大牛之路 最近都蛋疼,然后前些天开了个会就是关于"不加班就得死"的死命令,作为抵制加班的先头兵,我感觉我时日无多是时候加快武装自己的速度不然吃土都不配了,就 ...

  2. 简单实现Ubuntu16.04 + caffe2 + CUDA9.0 + cuDNN8.0

    在Ubuntu16.04 CUDA9.0 cuDNN8.0的环境下安装caffe2 本博客比较简单,cuda9.0 cudnn8.0部分请看上一篇博客,其中详细讲了: 如何安装驱动 安装cuda 安装 ...

  3. HDU 1712 ACboy needs your help(分组背包入门题)

    http://acm.hdu.edu.cn/showproblem.php?pid=1712 题意: 有个人学习n门课程,a[i][j]表示用j分钟学习第i门课程所能获得的价值,背包容量为一共有m时间 ...

  4. python assert 断言详细用法格式

    使用assert断言是学习python一个非常好的习惯,python assert 断言句语格式及用法很简单.在没完善一个程序之前,我们不知道程序在哪里会出错,与其让它在运行最崩溃,不如在出现错误条件 ...

  5. hdu 2444 The Accomodation of Students 判断二分图+二分匹配

    The Accomodation of Students Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K ( ...

  6. hdu 3792 Twin Prime Conjecture 前缀和+欧拉打表

    Twin Prime Conjecture Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Ot ...

  7. java(Android)跨Module调用对应类方法需求解决方案

    在开发组件化项目中,遇到一个这样的问题,两个不同的Module相互之间没有任何直接依赖关系,现在需求是需要在Module_A中调用Module_B中的某个类的方法,以下为解决此问题的方法: 采用的核心 ...

  8. JAVA异常处理分析(中)

    在使用java异常处理机制时候我们会发现有些异常抛出后可以不需要进行抓取处理,而有些异常必须要进行抓取处理,这是个什么情况呢? 设计理念猜想:      有一些场景的异常,是可以不需要处理或是经常不会 ...

  9. org.springframework.transaction 包改成 spring-tx

    org.springframework.transaction 包改成 spring-tx org.springframework.transaction  3.2.2以后的版本,全改到 spring ...

  10. [POI2012]ROZ-Fibonacci Representation (数学)

    大意:给定n, 求至少要多少个斐波那契数相加减后能得到n  (可以重复, 重复的算多次) 假设$dp(x)$为$x$的最小划分, 有$dp(x)=dp(x-F_k)+1$, 其中$F_k$为最接近$x ...