Board logo

主題: [分享]gnome心得:更換桌布 [打印本頁]

發表人: aeolus0829    時間: 2008-5-12 10:15 AM     主題: [分享]gnome心得:更換桌布

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 一樣,把這個很單純的功能包含進去
好在,有需求,就有人開發好用的工具程式




歡迎光臨 TWed2k (http://twed2k.org/) Powered by Discuz! 4.1.0