youdial 发表于 2013-4-9 09:32:06

Ubuntu 12.04 自动切换桌面背景

以前在gnome2时使用gconftool可以改变ubuntu的桌面背景的,装了12.04后,发现不行了,研究了一下,原来改用gsettings这个工具了.我卸载了unity,装的是gnome-panel桌面.脚本如下:



[*]#!/bin/bash
confFile=".switchbg.conf"
cd $(dirname $0)
filepath=$PWD
find $filepath | grep -E ".jpg$|.png$|.JPG$|.PNG$" > $confFile
cnt=`cat $confFile | wc -l`

while true
do
line=$(($RANDOM % $cnt + 1))
bgfile=$(head -n $line $confFile | tail -n 1)
bgfile="'file://$bgfile'"
bkfile=$(gsettings get org.gnome.desktop.background picture-uri)
echo $bkfile
echo $bgfile
if [ $bkfile != $bgfile ]
then
break
fi
done
gsettings set org.gnome.desktop.background picture-uri $bgfile
rm -f $confFile

保存后加到crontab里发现脚本的gsettings set不起作用.所以只能改一下了:



[*]#!/bin/bash
confFile=".switchbg.conf"
changedtime=600
cd $(dirname $0)
filepath=$PWD
find $filepath | grep -E ".jpg$|.png$|.JPG$|.PNG$" > $confFile
cnt=`cat $confFile | wc -l`
while true
do
while true
do
line=$(($RANDOM % $cnt + 1))
bgfile=$(head -n $line $confFile | tail -n 1)
bgfile="'file://$bgfile'"
bkfile=$(gsettings get org.gnome.desktop.background picture-uri)
if [ $bkfile != $bgfile ]
then
break
fi
done
gsettings set org.gnome.desktop.background picture-uri $bgfile >> tmp.log
sleep $changedtime
done
rm -f $confFile

让脚本在启动时自动加载就好了.间隔时间修改changedtime的值就行了,单位为秒.

艾辉 发表于 2013-4-9 09:41:03

过来看看的

359025439 发表于 2013-5-16 12:03:46

男人在结婚前觉得适合自己的女人很少,结婚后觉得适合自己的女人很多。

yxsailing 发表于 2013-5-17 07:46:43

老天,你让夏天和冬天同房了吧?生出这鬼天气!

359025439 发表于 2013-5-17 21:41:56

我抢、我抢、我抢沙发~

ab168 发表于 2013-5-18 10:52:16

找到好贴不容易,我顶你了,谢了

jxdiscuz 发表于 2013-5-19 04:07:32

人生自古谁无死,啊个拉屎不用纸!
页: [1]
查看完整版本: Ubuntu 12.04 自动切换桌面背景