Ubuntu 18.04 通过shell实现自动切换桌面壁纸-含原理

linux 到底是根据什么来自动切换壁纸的

答案就是根据一个配置文件的内容来自动切换的
首先 提权

sudo -s

然后打开 /usr/share/backgrounds/contest/xenial.xml
看一下.xml 的结构

<background>
<starttime>
......
//看来这一块是开始的时间
starttime>
<static>
   <duration>295.0duration>// 过多少秒 切换到下一个图片
   <file>/home/gintama/图片/myWallPapers/672182.jpgfile>
 static>
 <transition>
    <duration>5.0duration>//切换过程用多少秒 怎么切换
    <from>/home/gintama/图片/myWallPapers/672182.jpgfrom>
    <to>/home/gintama/图片/myWallPapers/thumb-1920-672737.jpgto>
 transition>
background>

OK 既然大致理解了配置xml文件了那么接下来就是如何生成这个.xml文件了
当然要使用脚本来生成了

path=//修改为自己的壁纸文件夹 的地址 可以先进入然后 pwd 来获得当前地址
files=`ls -U $path`
last_file='empty'

echo ''
echo ' '
echo '   2018'
echo '   05'
echo '   08'
echo '   00'
echo '   00'
echo '   00'
echo ' '

for current_file in $files
do
    if [[ $last_file == 'empty' ]] 
    then
        last_file=$current_file
        echo ' '
        echo '   297.0'
        echo "   $path/$last_file"
        echo ' '
    else 
        echo ' '
        echo '    3.0'
        echo "    $path/$last_file"
        echo "    $path/$current_file"
        echo ' '
        echo ' '
        echo '   297.0'
        echo "   $path/$current_file"
        echo ' '
        last_file=$current_file 
    fi
done

echo ''

大佬写的代码 就学习一下了
接下来就是运行脚本生产 .xml 配置文件

// 提权
chmod 755 background.sh 
// 使用输出重定向 生成 .xml
./ background.sh > background.xml

第二步

告诉系统你自定义的壁纸配置

然后用root权限打开 /usr/share/gnome-background-properties/bionic-wallpapers.xml
写入一个节点
其中filename 的内容为你的background.xml的地址

 <wallpaper deleted="false">
   <name>mybackgroundname>
   <filename>/usr/share/backgrounds/contest/mybackground.xmlfilename>
   <options>zoomoptions>
 wallpaper>

OK 至此就完成了配置操作

如何选择呢

直接选择其中右下角有个小表图标的图片
就完成自动切换壁纸的设置了

你可能感兴趣的:(Ubuntu18.04)