[Lubuntu] 壁纸自动换

来源:互联网 发布:淘宝优惠券首发平台app 编辑:程序博客网 时间:2024/04/30 00:12

想在Lubuntu下实现自动更换壁纸,普通的那些软件都不行,关键的问题就在于Lubuntu的桌面其实不是真正的桌面,它只是用一个窗口来模拟而已

于是动手自己制作一个更换工具,在自己的电脑上跑得很好,不知道在其他机子上如何,但我是基于Lubuntu 12.04官方发行版的,没有做什么改动,所以这个解决方案还是比较通用的


这个工具的特点:
1. 指定文件夹路径,其内所有图片都会作为候选壁纸
2. 在指定时间间隔后随机从壁纸文件夹中选取壁纸并更换
3. 不设监控,节省资源

4. 即使不设监控,最新放进文件夹里的壁纸也能即时生效,不用重新登录


这个工具的缺点:
会干掉Lubuntu的伪桌面,造成的现象是桌面上所有图标都会消失(conky没事);但停止此工具并重新登录后旧桌面内容还会恢复,不用担心。


环境:Lubuntu 12.04
会话:LXDE + OpenBox + LxPanel + PCManFM
步骤:
0. 下载“feh”并安装(用系统自带的新立得就行)
1. 将以下内容复制到文本文件中并命名为“WallPaper.sh”,修改前面两个参数
#!/bin/bash#############################################################picpath="你的壁纸图片存放路径"update="隔多长时间换一幅壁纸(秒)"##############################################################procCount=`ps -ef | grep "/bin/bash" | grep "$(cd "$(dirname "$0")"; pwd)/${0##*/}" | wc -l`if [ "${procCount}" -gt "2" ] ; then  exitficd "${picpath}"while [ 1 ]do  count=`ls | wc -l`  cto=`expr ${RANDOM} % ${count}`  cto=`expr ${cto} + 1`  filename=`ls -w1 *.* | head -${cto} | tail -1`  lastpic=`cat current`  while [ ! -f "${filename}" ] || [ "${lastpic}" = "${filename}" ]  do    cto=`expr ${RANDOM} % ${count}`    cto=`expr ${cto} + 1`    filename=`ls -w1 *.* | head -${cto} | tail -1`  done  kill -9 `ps -ef | grep "pcmanfm --desktop --profile lubuntu" | awk '{print $2}' | head -1`  feh --bg-max "${picpath}/${filename}"  echo ${filename} > current  sleep ${update}done


2. 将“WallPaper.sh”保存到某个将来也不会变动的路径

3. 将以下内容复制到文本文件中并命名为“WallPaperChanger.desktop”, 修改相应参数(Exec)
[Desktop Entry]Type=ApplicationExec="WallPaper.sh文件的绝对路径"Hidden=falseNoDisplay=falseX-GNOME-Autostart-enabled=trueName[zh_CN]=WallPaperChangerName=WallPaperChanger


4. 将“WallPaperChanger.desktop”放到"~/.config/autostart"目录下即可

5. 重新登录看效果

原创粉丝点击