亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Ubuntu > 正文

Ubuntu 設定壁紙自動切換的shell腳本

2024-06-28 13:24:01
字體:
來源:轉載
供稿:網友
Ubuntu 設定壁紙自動切換的shell腳本

升級到Ubuntu14.04后,感覺bug的確比12.04少多了。頂部任務欄支持半透明效果,所以整個桌面也看上去漂亮了很多。這樣的桌面也是值得瞎搗鼓一下的,想到換壁紙,但是沒找到設定動態更換壁紙的選項,但手動修改配置文件的方法總是有的,本文的目的也在于此。(以下過程在Ubuntu14上進行,未測試其他版本?。?/p>原理

右鍵桌面->更改桌面背景,如下圖所示,在右側縮略圖中帶有小鐘表圖標的就表示為動態切換的壁紙:

系統是通過讀取這個文件來進行動態壁紙切換的:

/usr/share/backgrounds/contest/trusty.xml

文件主要內容如下:

<background>    <starttime>        <year>2014</year>        <month>09</month>        <day>21</day>        <hour>00</hour>        <minute>00</minute>        <second>00</second>    </starttime>    <static>        <duration>300</duration>        <file>/home/kyy/Wallpaper/1019236,106.jpg</file>    </static>    <transition>        <duration>3</duration>        <from>/home/kyy/Wallpaper/1019236,106.jpg</from>        <to>/home/kyy/Wallpaper/1019306,106.jpg</to>    </transition>    <static>        <duration>300</duration>        <file>/home/kyy/Wallpaper/1019306,106.jpg</file>    </static>    <transition>        <duration>3</duration>        <from>/home/kyy/Wallpaper/1019306,106.jpg</from>        <to>/home/kyy/Wallpaper/1082502,106.jpg</to>    </transition>        <static>......        </static>         <transition>......        </transition>        ......</background>

其中static標簽內file表示當前圖像,duration表示當前圖像顯示的持續時間

transition標簽內from和to分別表示不下一步在那兩個圖片之間切換,duration表示過渡時間

so,系統就是根據這個來進行桌面壁紙動態切換的。不過沒切換一次圖像就需要寫大量代碼,我們肯定不會腦殘到自己手動去寫的,那么的,既然實在linux下,用shell腳本代替人工自然是最合適不過了

shell腳本實現
  1 #!/bin/bash  2   3 #可用文件后綴名列表  4 readonly PRefixs=("jpg" "jpeg" "png" "bmp")  5   6 #動態背景文件地址  7 #/usr/share/backgrounds/contest/trusty.xml  8 readonly animate_background_file_path="/usr/share/backgrounds/contest/trusty.xml"  9   10 #文件列表索引 11 index=0 12  13 #獲取圖像文件列表 14 get_image_files(){ 15      16     #獲取文件所在目錄名稱 17     base_dir="`dirname $1`/`basename $1`/" 18      19     for f in `ls $1` 20     do     21         #檢查文件后綴 22         for p in "${prefixs[@]}" 23         do 24             len_before=${#f} 25             f_after=${f%"$p"} 26             len_after=${#f_after} 27              28             #名稱發生改變,說明后綴名稱符合條件 29             if [ $len_before -ne $len_after ] 30             then 31                 file_list[$index]="$base_dir$f" 32                 echo "獲取圖像:$base_dir$f" 33                 let index=$index+1 34                 break 35             fi 36         done 37     done 38  39 } 40   41  42 #寫入文件 43 replae_file(){ 44  45     #創建臨時文件 46     animate_back="animate_back.xml" 47     #清空文本內容 48     cat /dev/null > $animate_back 49      50     echo -e  "<background>" >> $animate_back 51     echo -e  "/t<starttime>" >> $animate_back 52     echo -e  "/t/t<year>$(date +%Y)</year>" >> $animate_back 53     echo -e  "/t/t<month>$(date +%m)</month>" >> $animate_back 54     echo -e  "/t/t<day>$(date +%d)</day>" >> $animate_back 55     echo -e  "/t/t<hour>00</hour>" >> $animate_back 56     echo -e  "/t/t<minute>00</minute>" >> $animate_back 57     echo -e  "/t/t<second>00</second>" >> $animate_back 58     echo -e  "/t</starttime>" >> $animate_back 59  60     #寫入文件名稱 61     index_=0 62     len=${#file_list[@]} 63     for f in "${file_list[@]}" 64     do     65         if [ $index_ -eq $((len-1)) ] 66         then 67             fn=${file_list[0]} 68         else 69             fn=${file_list[$index_+1]} 70         fi 71  72         echo -e  "/t<static>" >> $animate_back 73         echo -e  "/t/t<duration>${STAY:=300}</duration>" >> $animate_back 74         echo -e  "/t/t<file>$f</file>" >> $animate_back 75         echo -e  "/t</static>" >> $animate_back         76         echo -e  "/t<transition>" >> $animate_back 77         echo -e  "/t/t<duration>${DURATION:=3}</duration>" >> $animate_back 78         echo -e  "/t/t<from>$f</from>" >> $animate_back 79         echo -e  "/t/t<to>$fn</to>" >> $animate_back 80         echo -e  "/t</transition>" >> $animate_back 81          82         let index_=$index_+1 83     done 84          85     echo -e  "</background>" >> $animate_back 86      87     #移動文件 88     mv $animate_back $animate_background_file_path 89     if [ $? -eq 0 ]         90     then  91         echo -e  "已經設定好文件" 92     fi 93  94 } 95  96 help(){ 97     echo 98     echo "命令格式:`basename $0` [OPTION] -f Filepath" 99     echo "指定圖片目錄,目錄下的圖片將作為動態更換的壁紙"100     echo101     echo -e "-f[Filepath]/t 圖像文件目錄"102     echo -e "-d[Duration]/t 圖像切換時長,默認3s"103     echo -e "-s[StayTime]/t 圖像停留時長,默認300s"104     echo105     exit 1106 }107 108 109 #處理參數110 while getopts f:s:d: OPTION111 do112     case "$OPTION" in113     f)114         FILE_PATH="$OPTARG"115         ;;116     s)117         STAY="$OPTARG"118         ;;119     d)120         DURATION="$OPTARG"121         ;;122     *)123         help124         ;;125     esac126 done127 128 if [ -z "$FILE_PATH" ]129 then  130     help    131 fi132 133 134  135 #判斷目錄是是否存在136 if [ -d $FILE_PATH ]137 then     138     #獲取到文件列表139     get_image_files $FILE_PATH140     141     #獲取文件數目142     file_count=${#file_list[@]}143     144     if [ $file_count -gt 0 ]        145     then146         #替換原有動態背景文件147         echo "共獲取到$file_count個圖像文件"148         replae_file     149     else150         echo "目錄$FILE_PATH下不存在符合要求的圖像文件:${prefixs[*]}"151     fi152     153 154 else155     echo "不存在目錄:$FILE_PATH"            156 fi                     157  158 159 exit 0


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美wwwxxxx| 欧美性猛交xxxx乱大交极品| 国产精品综合久久久| 97人洗澡人人免费公开视频碰碰碰| 欧美激情按摩在线| 2024亚洲男人天堂| 欧美在线视频一二三| 欧美视频中文字幕在线| 国产视频久久网| 97免费视频在线| 欧美一区第一页| 91久久久久久久一区二区| 国产不卡视频在线| 久久久免费观看视频| 在线观看国产精品91| 疯狂欧美牲乱大交777| 国内精品一区二区三区四区| 欧美性猛交xxxx乱大交极品| 久99九色视频在线观看| 大荫蒂欧美视频另类xxxx| 中文字幕v亚洲ⅴv天堂| 欧美极品少妇xxxxⅹ裸体艺术| 日韩欧美精品网址| 欧美国产极速在线| 国语自产精品视频在线看| 7777kkkk成人观看| 欧美日韩性视频| 亚洲第一精品自拍| 国产日产久久高清欧美一区| 亚洲乱码一区av黑人高潮| 91最新在线免费观看| 亚洲人成电影在线播放| 国产网站欧美日韩免费精品在线观看| 色综合久久久久久中文网| 欧美特黄级在线| 狠狠爱在线视频一区| 日韩欧美国产网站| 国产精品久久久久久久久久新婚| 中文字幕免费国产精品| 91av视频在线免费观看| www欧美日韩| 亚洲天堂成人在线| 亚洲美腿欧美激情另类| 国产欧美韩国高清| www.亚洲成人| 狠狠色狠色综合曰曰| 日韩高清欧美高清| 97超级碰碰人国产在线观看| 日韩电影免费观看在线| 欧美国产视频日韩| 欧美最猛性xxxx| 中文字幕日本欧美| 上原亚衣av一区二区三区| 成人欧美一区二区三区在线| 欧美性猛交xxxx免费看久久久| 国产欧美欧洲在线观看| 亚洲tv在线观看| 欧美激情国产高清| 国产精品久久久久久亚洲影视| 亚洲欧美资源在线| 欧美www在线| 日韩激情在线视频| 精品亚洲永久免费精品| 在线免费观看羞羞视频一区二区| 欧美日韩精品在线播放| 97在线精品视频| 国产不卡视频在线| 亚洲第一福利网| 色综合影院在线| 国产精品久久视频| 久久久久久午夜| 岛国视频午夜一区免费在线观看| 欧美黄色小视频| 国产婷婷色综合av蜜臀av| 成人精品在线观看| 美女扒开尿口让男人操亚洲视频网站| 亚洲成人av中文字幕| 伊人青青综合网站| 91精品啪在线观看麻豆免费| 91成人福利在线| 美女精品视频一区| 国产免费一区二区三区在线观看| 国产精品极品美女粉嫩高清在线| 亚洲欧美日韩久久久久久| 国产精品情侣自拍| 亚洲国产高清福利视频| 欧美成人免费大片| 国产精品亚洲欧美导航| 亚洲精品日产aⅴ| 一本一道久久a久久精品逆3p| 国产综合久久久久| 国产精品视频区| 黑人精品xxx一区| 国产激情综合五月久久| 亚洲一区二区国产| 欧美性猛交xxxx乱大交蜜桃| 欧美午夜影院在线视频| 成人精品在线观看| 亚洲级视频在线观看免费1级| 欧美日韩一二三四五区| 91精品国产91久久| 精品国产乱码久久久久久虫虫漫画| 久久99精品久久久久久青青91| 亚洲欧美制服丝袜| 日韩国产一区三区| 亚洲视频网站在线观看| 亚洲视频777| 国产精品夜色7777狼人| 亚洲欧美中文字幕在线一区| 欧美激情视频一区二区| 国产精品视频区| 亚洲综合色激情五月| 91精品国产沙发| 久久精品亚洲国产| 日韩国产在线播放| 色婷婷av一区二区三区在线观看| 国产精品高清在线观看| 日韩欧美亚洲范冰冰与中字| 欧美重口另类videos人妖| 久久免费在线观看| 日韩欧美福利视频| 国产成人福利网站| 日韩激情视频在线| 欧美成人精品h版在线观看| 亚洲一区二区三区毛片| 亚洲人成电影在线播放| 欧美俄罗斯乱妇| 日韩在线中文视频| 国产精品极品美女粉嫩高清在线| 日韩在线播放视频| 成人av资源在线播放| 国产精品一香蕉国产线看观看| 久久综合色88| 91极品女神在线| 欧美激情在线观看| 色综合伊人色综合网站| 日本欧美黄网站| 亚洲欧美日韩精品久久| 国产精品一区二区三区毛片淫片| 性色av一区二区三区在线观看| 亚洲日韩中文字幕在线播放| 国产精品三级在线| 另类美女黄大片| 国产精品女主播视频| 欧美日本黄视频| 久久亚洲精品一区二区| 久久99久国产精品黄毛片入口| 欧美日韩午夜视频在线观看| 日韩高清电影免费观看完整| 91精品视频网站| 欧美日韩一区二区在线| www.日韩视频| 7m精品福利视频导航| 裸体女人亚洲精品一区| 欧美成人合集magnet| 国模私拍视频一区| 日韩在线视频国产| 成人性生交大片免费看小说| 91精品在线一区| 97精品久久久| 国产精品自拍小视频| 久久精品免费播放| 一本大道久久加勒比香蕉| 国产在线视频一区|