[分享] 自動換桌布腳本,支援 Unity/Gnome3 [論壇 - Ubuntu 與 GNOME]
正在瀏覽:
1 名遊客
[分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2009/8/27 21:33 所屬群組:
已註冊使用者 等級: 13
HP : 0 / 312
![]() |
各位好,最近小弟將這份腳本程式放到 GitHub 上面了
目前設定的授權方式是 GPL 2 並且還更新了程式內容(實際上是整個翻修過) 設法支援各種發行版的自動設定 目前小弟測過確實支援的發行版有: Ubuntu 10.04, 10.10, 12.04, 14.04, 15.04 Debian 8 Linux Mint 17.1, Linux Mint Debian Edition 2 Fedora 22 在這些發行版上的 Gnome, Cinnamon, Mate 三種桌面環境上 都能自動完成定時換桌布的設定 如果你使用其他發行版 在這三種桌環境上仍然可以用這個程式產生的 XML 檔 只是要手動設定 想要試試看的人可以到小弟的 GitHub 帳號下載: robertmodesty/make-slideshow-wallpaper - GitHub (話說 Git 的編修歷史好完整啊!小弟大改的過程都查得到!) 底下是這篇文章在 2013/4/16 23:32 首次張貼的原文: ========================================== 小弟幾年前寫的一個腳本程式(請見此), 在 Ubuntu 改用 Unity 以及 Gnome 第三版變得不能用 這一陣子小弟換新版了,增加了自動設定的功能並且支援符號連結 在 Ubuntu 12.04.2 中以 Unity 和 Gnome Classic 測試 結果都可以使用! 現在將程式貼在這裡,請大家也來試用看看 只要將蒐集來的圖檔放在某個目錄中(需要兩個以上,子目錄、連結之中的也包含在內) 並且在同一個目錄下放一個文字檔(內容在最下面) 檔案的屬性設定為可執行 然後滑鼠點兩下要求執行它就可以了 產生的 XML 檔案會在自己的家目錄中 .config 子目錄裡面, 並且會將桌布自動設定完成。 注意一下內容的前幾行 Outfil 設定檔案名稱; Statc 設定每張圖片顯示的秒數; Trans 則是畫面變換的秒數; SortFil 決定圖檔排列的順序: Filtyp 可以設定支援的檔案類型; Dpth 可以設定最多要深入多少層目錄, 這些都可以自己直接改。 如果 statc + trans 剛好等於 3600 的因數或倍數, 就會在某些或每個整點換桌布。 另外,設定 "Trans=0" (注意!一個字元都不能錯!) 可以省掉淡入淡出的命令, 產生的檔案會比較小。 其他設定請自行研究。 bkgndxml - - - - 8< - - - - - - - - - - 請自本虛線下方剪下 - - - - - - - - - - - - - - - #!/bin/bash OutFil=background.xml Statc=595.0 Trns=5.0 FilTyp="gif|jpg|png|bmp" # SortFil=Alphabetic SortFil=Random Dpth=30 # at most levels of directories been include # The line under here helps to setup the wallpaper automaticlly, # comment it with octothorpe if you want do that yourself. Autoset=on ; XmlFilPath=$HOME/.config ImgFils=$( find -L $PWD -maxdepth $Dpth -regextype posix-extended \ -iregex ".*\.($FilTyp)" 2> /dev/null ) if [ "$SortFil" == "Random" ] ; then ImgFils=$( echo -e "$ImgFils" | sort -R ) elif [ "$SortFil" == "Alphabetic" ] ; then ImgFils=$( echo -e "$ImgFils" | sort ) fi filtol=$(echo -e "$ImgFils" | wc -l | cut -d " " -f1) if [ $filtol -gt 1 ] ; then Yer=$(date +%Y) Mnth=$(date +%m) Day=$(date +%d) Head=" <static>\n <duration>$Statc</duration>\n <file>" Tail="</file>\n </static>" FrmHead=" <transition>\n <duration>$Trns</duration>\n <from>" FrmTail="</from>" ToHead=" <to>" ToTail="</to>\n </transition>" ( echo "<background>" echo " <starttime>" echo " <year>$Yer</year>" echo " <month>$Mnth</month>" echo " <day>$Day</day>" echo " <hour>00</hour>" echo " <minute>00</minute>" echo " <second>00</second>" echo " </starttime>" echo "<!-- This animation starts at $Yer/$Mnth/$Day 00:00. -->" if [ "$Trns" == "0" ] ; then echo -e "$ImgFils" | sed "s|^\(.*\)$|$Head\0$Tail|" else FstFil=$( echo -e "$ImgFils" | head -n 1 ) echo -e "${Head}${FstFil}${Tail}" echo -e "${FrmHead}${FstFil}${FrmTail}" echo -e "$ImgFils" | tail -n +2 \ | sed "s|^\(.*\)$|$ToHead\0$ToTail\n$Head\0$Tail\n$FrmHead\0$FrmTail|" echo -e "${ToHead}${FstFil}${ToTail}" fi echo "</background>" ) > "$OutFil" if [ "$Autoset" == "on" ] ; then if [ -z "$XmlFilPath" ] ; then XmlFilPath="$PWD" else mkdir -p "$XmlFilPath" mv -f "$OutFil" "$XmlFilPath/$OutFil" fi x=$(gnome-session --version) x=${x#* } if [ "${x%%.*}" == "3" ] ; then gsettings set org.gnome.desktop.background picture-uri "file://$XmlFilPath/$OutFil" elif [ "${x%%.*}" == "2" ] ; then gconftool --set --type=string /desktop/gnome/background/picture_filename "$XmlFilPath/$OutFil" fi fi else /usr/bin/zenity --warning --title='Error!' \ --text='Need two image files at least!' > /dev/null 2>&1 echo -e '\nError!\nNeed two image files at least!\n' exit 1 fi
2013/4/16 23:32
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2011/3/11 6:32 所屬群組:
討論區管理群 等級: 44
HP : 216 / 1084
![]() |
也可以使用 Variety 軟體
2013/4/17 0:01
|
||||||||||
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW http://creativecommons.org/licenses/by/3.0/tw/ 「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」 by Allen Own 出處 http://www.plurk.com/p/i4uogm 自由知識創作平台介紹 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE 如何建立新的自由知識創作平台文件 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA |
|||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
1970/1/1 8:00 來自 台北
所屬群組:
已註冊使用者 等級: 23
HP : 0 / 573
![]() |
我在Linux Mint下用您之前寫的程式(命名為go1)可以正常使用,
現在改用這個新的(命名為go2)反而會把background.xml吃掉,無法使用. 請您協助.感謝 建議可以加入版本註記
2013/4/17 22:27
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2008/12/21 19:48 所屬群組:
已註冊使用者 等級: 14
HP : 0 / 326
![]() |
Gnome 3.6以下可以直接用BackSlide這個擴充套件
到gnome shell extension就可以找到了 另外還有wallch,用起來也不錯 http://wall-changer.sourceforge.net/
2013/4/17 22:41
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2009/8/27 21:33 所屬群組:
已註冊使用者 等級: 13
HP : 0 / 312
![]() |
Egret 寫到: 新版本會覆蓋原有的 background.xml,這跟舊版的是一樣的 不同的是新版會在檔案寫完之後,將他搬到使用者家目錄底下的隱藏目錄 .config 中 所以您看不到 同時新版會自動將桌布設定為 $HOME/.config/background.xml 不需要再手動設定(新的 Ubuntu 桌布設定比較不方便,所以小弟這樣改了) 你可以注意一下你的桌布是不是被重新設定過了 想要恢復舊版的設計,可以把這行註解掉 Autoset=on ; XmlFilPath=$HOME/.config 也許小弟應該再改一下,讓檔案直接生成在目標位置上 版本註記?是啥啊?有需要嗎?
2013/4/18 0:07
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員五級
![]() ![]() 註冊日期:
1970/1/1 8:00 來自 台北
所屬群組:
已註冊使用者 等級: 23
HP : 0 / 573
![]() |
自由車自由人 寫到: 我在Linux Mint 13 下跑新版,桌面變黑,我想應該是不同發行版桌面設定不同所致. 我把 Autoset=on ; XmlFilPath=$HOME/.config 這行註解掉,再手動設定桌面 background.xml 就回復正常. 以上回報
2013/4/18 7:31
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2008/4/25 9:32 所屬群組:
已註冊使用者 等級: 9
HP : 0 / 219
![]() |
上面的腳本,我在13.04就無法以點擊兩次執行,一直用gedit開啟,不知是什麼原因?
2013/6/5 11:04
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
管理員
![]() ![]() 註冊日期:
2011/3/11 6:32 所屬群組:
討論區管理群 等級: 44
HP : 216 / 1084
![]() |
K.W. 寫到: script 請添加可執行檔案屬性後方可執行
2013/6/5 11:07
|
||||||||||
本篇發表文章以「創用CC BY 3.0 或更新之台灣地區版本」授權條款釋出,如何使用敬請參考
Creative Commons — 姓名標示 3.0 台灣 — CC BY 3.0 TW http://creativecommons.org/licenses/by/3.0/tw/ 「你不懂的東西就不要亂講,被懂得人看破手腳就算了,騙不懂的人誤導別人,還要別人把你當成大師,這就真的是說不過去了。」 by Allen Own 出處 http://www.plurk.com/p/i4uogm 自由知識創作平台介紹 https://docs.google.com/document/d/1MGG6lW_0qCgH4U785R-IwSc_INdoBGej1l-JxiA4gPE 如何建立新的自由知識創作平台文件 https://docs.google.com/document/d/11NdzOW2lGYksfyQIcPMPye5tlmj1J0QTkgPTmQvIvKA |
|||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() 註冊日期:
2009/12/6 10:32 所屬群組:
已註冊使用者 等級: 71
HP : 1053 / 1756
![]() |
上面的腳本,我在13.04就無法以點擊兩次執行,一直用gedit開啟,不知是什麼原因? 如果你已經給予 可執行屬性 還不行 可能跟你 預設的 執行指令或執行程式 有關 比較簡單的方法 先從終端機 cd 你存放該腳本的檔案 腳本檔案名稱全名 或 sh 腳本檔案名稱全名 如果出現權限不足 在前面 加 sudo 如果你喜歡 點擊兩次執行 先試試 點擊右鍵 看看出現的開啓程式 有沒有你希望的開啓程式 是不是 第一優先 如果答案是 否 你要修改開啓程式的設定
2013/6/5 11:24
|
||||||||||
![]() |
回覆: [分享] 自動換桌布腳本,支援 Unity/Gnome3 |
|||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
會員三級
![]() ![]() 註冊日期:
2009/8/27 21:33 所屬群組:
已註冊使用者 等級: 13
HP : 0 / 312
![]() |
K.W. 寫到: 您沒注意到這一行對不對: 自由車自由人 寫到: 設定屬性為可執行的命令為: chmod +x 檔案名稱
2013/6/11 0:01
|
||||||||||
![]() |
您可以查看帖子.
您不可發帖.
您不可回覆.
您不可編輯自己的帖子.
您不可刪除自己的帖子.
您不可發起投票調查.
您不可在投票調查中投票.
您不可上傳附件.
您不可不經審核直接發帖.