RSS   



  可打印版本 | 推薦給朋友 | 訂閱主題 | 收藏主題 | 純文字版  


 


 
主題: [分享]gnome心得:更換桌布   字型大小:||| 
aeolus0829
銅驢友〔高級〕
等級: 10等級: 10等級: 10


 . 積分: 161
 . 文章: 308
 . 收花: 926 支
 . 送花: 1630 支
 . 比例: 1.76
 . 在線: 2116 小時
 . 瀏覽: 39716 頁
 . 註冊: 7451
 . 失蹤: 898
#1 : 2008-5-12 10:15 AM     只看本作者 引言回覆

版主 jazzblue : 原創內容

評分:+2   
ubuntu 7.10 的 gnome 中,想要找個定時換桌布的工具,一開始,還滿無所適從的~

一開始我到 系統/偏好設定/外觀設定 去找,只有手動換桌布的選項
這對我這個擁有數千張桌布、而又喜歡嘗鮮的人來說(好吧,對我這個懶人來說),實在是件麻煩事

我對換桌布的工具要求很簡單

    * 容易定義桌布路徑,不要讓我一個一個加路徑;最好是指定了一個頂層路徑,程式可以自動把次目錄給加進來
    * 可以做簡單的桌布管理;可以刪除不想要的桌布,可以一個按鍵讓我換桌布


後來在網路上尋尋覓覓,先後找到了幾個工具

1. wallpapoz
由於年代久遠、很久沒用、不好用的狀況下,我已經不知道要寫什麼了 ~~ :p
所以這項先跳過
update: 不好用的原因是,我指定頂層目錄,它不會自動搜尋次目錄,所以很麻煩
其實很多人都推這一個工具程式,所以稍微爬文一下,可以找到很多文章

2. 寫個 script ,用 crontab 自動換桌布

    #!/usr/bin/env python
    # -*- coding: UTF-8 -*-
    import glob
    import random
    import os

    # 設定存放圖檔的路徑
    path = '/usr/share/backgrounds/'
    # 使用此路徑底下 *.png 來用
    files = glob.glob(os.path.join(path,'*.png'))
    files.extend(glob.glob(os.path.join(path,'*.jpg')))
    files.extend(glob.glob(os.path.join(path,'*.tif')))
    # 從 files 裡面隨機選一張
    picture = files[random.randrange(len(files))]
    # 使用 gconftool-2 設定為桌面
    os.system("gconftool-2 -t str --set /desktop/gnome/background/picture_filename %s"%picture)

檔案名稱隨便取(chgwp.py),記得要給予 "執行" 的權限;需要有安裝 python 才可以執行
ps. 這段程式我忘記在哪看到的,好像是 ubuntu 正體中文站的討論區,若不希望我擺上來,請來信告知~

update: 有個缺點,只能讀取某一層目錄中所有的桌布,子目錄下的就讀不到了

3. wallpaper tray
這是目前在用,還滿方便的程式
完全符合我的要求
可以用 synaptic 用上述的英文關鍵字找到,安裝後,會出現在 應用程式/美工繪圖 中

有用過 wallpaper changer ,wallpaper master pro 的人,應該會覺的還滿習慣的(當然功能沒那麼多啦)

使用方法:

    * 執行後,現有桌布的小型圖示會出現在工具列上
    * 先指定一個頂層路徑,它會自動搜尋次目錄
    * 設定多久更換一次桌布
    * 也可以直接在工作列的小圖示上按一下強制更換桌布
    * 在小圖示上按右鍵,有 刪除目前桌布(Delete Current Wallpaper) 的選項

更新:
由於 wallpaper-tray 經常會出現 "程式記憶區段錯誤" ,無法正常運作
只好再找一個 shell script 來代替
重新修正為可以讀取所有子目錄,更新如下

    #!/bin/bash
    WALLPAPERS="/home/aeolus/doc/wallpapers" #change this path for your system
    ALIST=( `find $WALLPAPERS -type f` )
    RANGE=${#ALIST[@]}
    let "number = $RANDOM"
    let LASTNUM="`cat $WALLPAPERS/.last` + $number"
    let "number = $LASTNUM % $RANGE"
    echo $number > $WALLPAPERS/.last
    gconftool-2 -t string -s /desktop/gnome/background/picture_filename ${ALIST[$number]}

缺點:分不出來檔案是不是圖形檔

同樣,寫好後排進 crontab ,讓它每分鐘執行一次

*/1 * * * * username /home/username/sh/chwp.sh

後記
其實換桌布是一個很普遍的行為,不曉得為什麼 gnome 不能像 kde 或 mac os X 一樣,把這個很單純的功能包含進去
好在,有需求,就有人開發好用的工具程式



[如果你喜歡本文章,就按本文章之鮮花~送花給作者吧,你的支持就是別人的動力來源]
本文連接  
檢閱個人資料  發私人訊息  Blog  快速回覆 新增/修改 爬文標記

   

快速回覆
表情符號

更多 Smilies

字型大小 : |||      [完成後可按 Ctrl+Enter 發佈]        

溫馨提示:本區開放遊客瀏覽。
選項:
關閉 URL 識別    關閉 表情符號    關閉 Discuz! 代碼    使用個人簽名    接收新回覆信件通知
發表時自動複製內容   [立即複製] (IE only)


 



所在時區為 GMT+8, 現在時間是 2024-11-25 04:45 AM
清除 Cookies - 連絡我們 - TWed2k © 2001-2046 - 純文字版 - 說明
Discuz! 0.1 | Processed in 4.304092 second(s), 9 queries , Qzip disabled