概述
linux 到底是根据什么来自动切换壁纸的
答案就是根据一个配置文件的内容来自动切换的
首先 提权
sudo -s
然后打开 /usr/share/backgrounds/contest/xenial.xml
看一下.xml 的结构
<background>
<starttime>
......
//看来这一块是开始的时间
</starttime>
<static>
<duration>295.0</duration>// 过多少秒 切换到下一个图片
<file>/home/gintama/图片/myWallPapers/672182.jpg</file>
</static>
<transition>
<duration>5.0</duration>//切换过程用多少秒 怎么切换
<from>/home/gintama/图片/myWallPapers/672182.jpg</from>
<to>/home/gintama/图片/myWallPapers/thumb-1920-672737.jpg</to>
</transition>
</background>
OK 既然大致理解了配置xml文件了那么接下来就是如何生成这个.xml文件了
当然要使用脚本来生成了
path=//修改为自己的壁纸文件夹 的地址 可以先进入然后 pwd 来获得当前地址
files=`ls -U $path`
last_file='empty'
echo '<background>'
echo ' <starttime>'
echo ' <year>2018</year>'
echo ' <month>05</month>'
echo ' <day>08</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
echo ' <static>'
echo ' <duration>297.0</duration>'
echo " <file>$path/$last_file</file>"
echo ' </static>'
else
echo ' <transition>'
echo ' <duration>3.0</duration>'
echo " <from>$path/$last_file</from>"
echo " <to>$path/$current_file</to>"
echo ' </transition>'
echo ' <static>'
echo ' <duration>297.0</duration>'
echo " <file>$path/$current_file</file>"
echo ' </static>'
last_file=$current_file
fi
done
echo '</background>'
大佬写的代码 就学习一下了
接下来就是运行脚本生产 .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>mybackground</name>
<filename>/usr/share/backgrounds/contest/mybackground.xml</filename>
<options>zoom</options>
</wallpaper>
OK 至此就完成了配置操作
如何选择呢
直接选择其中右下角有个小表图标的图片
就完成自动切换壁纸的设置了
最后
以上就是大胆航空为你收集整理的Ubuntu 18.04 通过shell实现自动切换桌面壁纸-含原理的全部内容,希望文章能够帮你解决Ubuntu 18.04 通过shell实现自动切换桌面壁纸-含原理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复