ubuntu14.04自动更换桌面背景

作为一名同时喜欢windows 8.1和 ubuntu的用户,转入ubuntu系统后自然会觉得ubuntu的界面太过简陋,所有就在网上找到了一些自动更换壁纸的脚本命令来美化桌面,在此记录与分享。

以下是所用代码:

  1 #!/bin/bash
  2
  3 #可用文件后缀名列表
  4 readonly prefixs=("jpg" "jpeg" "png" "bmp")
  5
  6 #动态背景文件地址
  7 #/usr/share/backgrounds/contest/trusty.xml
  8 readonly animate_background_file_path="/usr/share/backgrounds/contest/trusty.xml"
  9
 10 #文件列表索引
 11 index=0
 12
 13 #获取图像文件列表
 14 get_image_files(){
 15
 16     #获取文件所在目录名称
 17     base_dir="`dirname $1`/`basename $1`/"
 18
 19     for f in `ls $1`
 20     do
 21         #检查文件后缀
 22         for p in "${prefixs[@]}"
 23         do
 24             len_before=${#f}
 25             f_after=${f%"$p"}
 26             len_after=${#f_after}
 27
 28             #名称发生改变,说明后缀名称符合条件
 29             if [ $len_before -ne $len_after ]
 30             then
 31                 file_list[$index]="$base_dir$f"
 32                 echo "获取图像:$base_dir$f"
 33                 let index=$index+1
 34                 break
 35             fi
 36         done
 37     done
 38
 39 }
 40
 41
 42 #写入文件
 43 replae_file(){
 44
 45     #创建临时文件
 46     animate_back="animate_back.xml"
 47     #清空文本内容
 48     cat /dev/null > $animate_back
 49
 50     echo -e  "<background>" >> $animate_back
 51     echo -e  "\t<starttime>" >> $animate_back
 52     echo -e  "\t\t<year>$(date +%Y)</year>" >> $animate_back
 53     echo -e  "\t\t<month>$(date +%m)</month>" >> $animate_back
 54     echo -e  "\t\t<day>$(date +%d)</day>" >> $animate_back
 55     echo -e  "\t\t<hour>00</hour>" >> $animate_back
 56     echo -e  "\t\t<minute>00</minute>" >> $animate_back
 57     echo -e  "\t\t<second>00</second>" >> $animate_back
 58     echo -e  "\t</starttime>" >> $animate_back
 59
 60     #写入文件名称
 61     index_=0
 62     len=${#file_list[@]}
 63     for f in "${file_list[@]}"
 64     do
 65         if [ $index_ -eq $((len-1)) ]
 66         then
 67             fn=${file_list[0]}
 68         else
 69             fn=${file_list[$index_+1]}
 70         fi
 71
 72         echo -e  "\t<static>" >> $animate_back
 73         echo -e  "\t\t<duration>${STAY:=300}</duration>" >> $animate_back
 74         echo -e  "\t\t<file>$f</file>" >> $animate_back
 75         echo -e  "\t</static>" >> $animate_back
 76         echo -e  "\t<transition>" >> $animate_back
 77         echo -e  "\t\t<duration>${DURATION:=3}</duration>" >> $animate_back
 78         echo -e  "\t\t<from>$f</from>" >> $animate_back
 79         echo -e  "\t\t<to>$fn</to>" >> $animate_back
 80         echo -e  "\t</transition>" >> $animate_back
 81
 82         let index_=$index_+1
 83     done
 84
 85     echo -e  "</background>" >> $animate_back
 86
 87     #移动文件
 88     mv $animate_back $animate_background_file_path
 89     if [ $? -eq 0 ]
 90     then
 91         echo -e  "已经设定好文件"
 92     fi
 93
 94 }
 95
 96 help(){
 97     echo
 98     echo "命令格式:`basename $0` [OPTION] -f Filepath"
 99     echo "指定图片目录,目录下的图片将作为动态更换的壁纸,如果在根目录,注意文件访问权限设置"
100     echo
101     echo -e "-f[Filepath]\t 图像文件目录"
102     echo -e "-d[Duration]\t 图像切换时长,默认3s"
103     echo -e "-s[StayTime]\t 图像停留时长,默认300s"
104     echo
105     exit 1
106 }
107
108
109 #处理参数
110 while getopts f:s:d: OPTION
111 do
112     case "$OPTION" in
113     f)
114         FILE_PATH="$OPTARG"
115         ;;
116     s)
117         STAY="$OPTARG"
118         ;;
119     d)
120         DURATION="$OPTARG"
121         ;;
122     *)
123         help
124         ;;
125     esac
126 done
127
128 if [ -z "$FILE_PATH" ]
129 then
130     help
131 fi
132
133
134
135 #判断目录是是否存在
136 if [ -d $FILE_PATH ]
137 then
138     #获取到文件列表
139     get_image_files $FILE_PATH
140
141     #获取文件数目
142     file_count=${#file_list[@]}
143
144     if [ $file_count -gt 0 ]
145     then
146         #替换原有动态背景文件
147         echo "共获取到$file_count个图像文件"
148         replae_file
149     else
150         echo "目录$FILE_PATH下不存在符合要求的图像文件:${prefixs[*]}"
151     fi
152
153
154 else
155     echo "不存在目录:$FILE_PATH"
156 fi
157
158
159 exit 0

新建一个shell脚本文件,假设命为setbackground.sh

touch setbackground.sh

或gedit setbackground.sh 粘贴后保存

使用命令

1 sudo bash setbackground.sh -d 3 -s 300 -f yourfilepath

这里Option 有三个选项,其中

f(filepath) 为你提供的图像文件目录

d (duration)为图像切换时长,默认为3s,太短可能无幻灯片效果,

s(staytime)图像停留时长,默认为300s,即5分钟。

注意修改对应的访问文件权限(如果有必要),我第一次使用时忽略这个问题,尝试了很久才发现了原因。

成功后的截图

代码来源:http://www.cnblogs.com/iwtwiioi/p/3857510.html

http://blog.csdn.net/leomon_1993/article/details/30291283

时间: 2024-11-06 06:14:16

ubuntu14.04自动更换桌面背景的相关文章

Windows7获取、更换桌面背景,C#

使用的API原型是 BOOL SystemParametersinfo(UINT uiAction,UINT uiParam,PVOID pvParam,UINT fWinlni); 在C#中定义如下: 1 /// <summary> 2 /// 查询或设置系统级参数 3 /// </summary> 4 /// <param name="uAction"></param> 5 /// <param name="uPara

Ubuntu14.04中更换软件包更新源服务器地址

默认使用Ubuntu14.04时,安装软件包的话都是从us.archive.ubuntu.com这个美国的服务器上更新的,但是国内的网连接这个服务器时更新会很慢,所以可以考虑替换成以下的一些源: 方式: 1. 打开文件 sudo vim /etc/apt/sources.list 2. 在VIM编辑器内使用如下全局替换命令,更改软件包更新的服务器地址 :%s/us.archive.ubuntu/[mirrors.163 | mirrors.sohu | mirrors.aliyun]/g:%s/

[C#源码]自动更改桌面背景

操作代码:ChangeDesktop.cs using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using System.IO;using System.Runtime.InteropServices;using System.Text

ubuntu14.04安装bodhi桌面系统后,unity启动界面改变,如何还原

按一下 ctrl + alt + f1 # 出現 tty11. sudo service lxdm stop或sudo /etc/init.d/lxdm stop如果出現錯誤訊息 不理它 繼續2. sudo apt-get install --reinstall ubuntu-desktop3. sudo dpkg-reconfigure lightdm選擇 lightdm4. sudo reboot看看 有沒有 改善

Ubuntu14.04安装GNOME3桌面

安装方法: sudo add-apt-repository ppa:gnome3-team/gnome3 sudo apt-get update sudo apt-get dist-upgrade sudo apt-get install gnome-themes-standard ubuntu-desktop gnome-shell 卸载方法:(升级系统之前需卸载GNOME3) sudo apt-get install ppa-purge sudo ppa-purge ppa:gnome3-t

ubuntu14.04美化

首先我美化grub启动菜单背景和开关机背景,还有自动换壁纸.其它的美化日后再写博文. Grub启动菜单背景更换: 这个很简单,比以前的ubuntu和grub版本简单多了,直接将图片文件放到/boot/grub中即可,最后更新一下,注意权限是root的就行了 sudo cp ./a.jpg /boot/grub/a.jpg 开关机背景替换: 现在ubuntu的开关机画面都是由plymouth来控制的,你可以装plymouth管理器,在网上下载主题来装,但这里我只要开关机背景就行了,管理器什么的我都

Ubuntu14.04配置VIM与GVIM 高亮、跳转与自动补齐

一.环境:刚安装好的Ubuntu14.04,本文只能保证 在Ubuntu下能达到效果. 二.安装GVim. sudo apt-get update sudo apt-get install vim-gtk 三.自定义vim与Gim语法高亮. 控制语法高亮的文件叫做 语言名.vim,例如,你想自定义C语言的语法高亮,那么叫做c.vim. 你可以在自己的根目录下新建目录,然后在这里面配置,这样仅针对你一个用户有效 ~/.vim/plugin 插件目录 ~/.vim/doc 文档目录 ~/.vim/s

PXE+kickstart自动安装ubuntu14.04

本文参考了诸多文章,先感谢这些文章的作者. 使用pxe安装系统需要安装dhcp,tftp,http等服务(当然也可以使用其他文件共享方式比如nfs,ftp). 实验环境: 1. vmware 12 2.网段 10.0.0.0/8, PXE服务器IP:10.0.0.100 一.安装dhcp服务 可以选择安装isc-dhcp-Server 或者 dnsmasq(这个在openstack中使用较多,而且它也包含tftp服务,配置也非常方便,我因为已经安装dhcp和tftp就懒得换了). 我选择安装了i

windows下远程访问ubuntu14.04桌面

其实在ubuntu下开启远程桌面很简单,只需要在remote desktop share 里面开启就行了,并不需要安装额外的vnc 服务器.在window上,我们只需要下载一个vnc客户端便可以连接.如图: 在ubuntu13.10的时候这样子就可以了,很是方便,但是我升级到14.04的时候,死活连接不上,提示安全不匹配,查了很多资料,终于找到了解决方法 gsettings set org.gnome.Vino require-encryption false windows下远程访问ubunt