zoukankan      html  css  js  c++  java
  • [教程]Ubuntu下完整配置自动壁纸切换

    来源:http://www.linuxidc.com/Linux/2016-09/135350.html

    更原始的来源就不去找了,如果有找到的同学可以回复我我到时改过来www

    来源的教程是有效的,但是打脚本的过程有点麻烦并且本身有点小错误(不知道是我看错了还是怎样),这里整理一下发上来

    第一步:将壁纸拖入/usr/share/backgrounds/文件夹内

    你可以选择删除原先自带的系统壁纸,并将其换为自己的壁纸。

    想方便配置的话,在终端中使用命令:

    sudo nautilus

    来打开管理员权限下的文件管理器,将自己盘里的壁纸拖到这个文件夹里面~

    第二步:用bash脚本生成mywallpapers.xml

    可以使用vim,emacs,gedit等编辑器进行配置。

    你需要将如下代码命名为script.sh并存入任意一个位置。

    files=`ls  -u /usr/share/backgrounds | grep -v contest`
    last_file='empty'
    
    echo '<background>'
    echo '  <starttime>'
    echo '    <year>2017</year>'
    echo '    <month>9</month>'
    echo '    <day>11</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
            first_file=$last_file
            echo '  <static>'
            echo '    <duration>600.0</duration>'
            echo "    <file>/usr/share/backgrounds/$last_file</file>"
            echo '  </static>'
        else
            echo '  <transition>'
            echo '    <duration>3.0</duration>'
            echo "    <from>/usr/share/backgrounds/$last_file</from>"
            echo "    <to>/usr/share/backgrounds/$current_file</to>"
            echo '  </transition>'
            echo '  <static>'
            echo '    <duration>600.0</duration>'
            echo "    <file>/usr/share/backgrounds/$current_file</file>"
            echo '  </static>'
            last_file=$current_file
        fi
    done
    
    echo '  <transition>'
    echo '    <duration>3.0</duration>'
    echo "    <from>/usr/share/backgrounds/$last_file</from>"
    echo "    <to>/usr/share/backgrounds/$first_file</to>"
    echo '  </transition>'
    echo '</background>'

    两个transition里的duration是指过渡时所用的时间,两个static里的duration则是指每张壁纸的播放时间,以秒为单位。上方的过渡时间默认为3秒,播放时间为10分钟,可以根据自己喜好更改。

    接着使用如下命令生成xml文件:

    sh script.sh > mywallpapers.xml

    将生成好的文件移动到/usr/share/backgrounds/contest/目录中。

    sudo mv mywallpapers.xml /usr/share/backgrounds/contest

    第三步:编辑/usr/share/gnome-background-properties/xenial-wallpapers.xml

    不同版本下文件名可能会有不同,所以(一般)请选择文件夹下文件名不带ubuntu的那个。这里是16.04版本下的情况。

    使用编辑器打开该文件(记得加上sudo),这里以gedit为例,你也可以使用vim或emacs:

    sudo gedit /usr/share/gnome-background-properties/xenial-wallpapers.xml

    对该文件进行如下的编辑:

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
    <wallpapers>
     <wallpaper deleted="false">
       <name>Ubuntu 16.04 Community Wallpapers</name>
       <filename>/usr/share/backgrounds/contest/xenial.xml</filename>
       <options>zoom</options>
     </wallpaper>
    //从这里开始插入
     <wallpaper deleted="false">
        <name>My Wallpapers</name>
        <filename>/usr/share/backgrounds/contest/mywallpapers.xml</filename>
        <options>zoom</options>
     </wallpaper>
    //到这里结束
    ...
    //下面不要动

    保存,退出。

    第四步:更改桌面壁纸。

    回到桌面,右键,选择更改桌面背景:

    在右侧的选项栏中,选择“壁纸”一栏,你会发现这一栏下面有两种壁纸——

    当然是选择名为My Wallpapers的那个。

    大功告成。

    实现的原理和细节可以参考一开始的来源。

  • 相关阅读:
    【转】Android应用开发allowBackup敏感信息泄露的一点反思
    【转】YUV420P的格式以及转换为RGB565的代码(Android摄像头的输出一般为YUV420P)
    Android存储访问及目录
    【转】Android仿QQ截图应用测试
    【转】[Android编程心得] Camera(OpenCV)自动对焦和触摸对焦的实现
    关于RGB转换YUV的探讨与实现
    Android Butterknife框架配置
    【转】android错误 aapt.exe已停止工作的解决方法
    如何屏蔽Button setClickable与setEnabled
    Cocos2d-x 3.2 大富翁游戏项目开发-第七部分 获取角色路径_3
  • 原文地址:https://www.cnblogs.com/acxblog/p/7520893.html
Copyright © 2011-2022 走看看