2005年2月16日

[PDA] Zaurus C760 新手筆記 (31) - photostorage

Sharp 推出新的圖片瀏覽程式 - photostorage,不過只能用在 C3000 上。(消息來源)

不過我的偽 SL-C860,在小小的 patch 過原來的 ipk 檔後,也可以正常使用了。

其實只要把 ipk 檔用 tar zxvf 的方式解開後,再把其中的 preinst 及 photostorage 兩個檔的 SL-C3000 及 SL-C3100 兩個字串改成 SL-C760 及 SL-C860,最後再用 tar zcvf 重組回去,就可以在 CX60 上安裝及執行了。


閱讀全文 ...

2005年2月11日

[PDA] Zaurus C760 新手筆記 (30) - running a script ...

script 愈積愈多,每次都要開 terminal 來執行有點麻煩;如果不開 terminal,建一個獨立的 icon 也很麻煩。

後來在 Script To Launch Console Apps 看到一個簡單的方法:
  1. 先確定 /home/QtPalmtop/etc/mime.types 當中有下列這行:(我的機器上原即有此項)
    application/x-sh sh
  2. 在慣用的 terminal 程式的 desktop 檔 (依該程式所在 tab 而定,應該在 /home/QtPalmtop/apps/ 的下一層目錄中) 加入下列兩行:
    MimeType = application/x-sh
    MimeTypeIcons = konsole/Terminal <= 圖示檔名,可以自己選擇想要的
  3. 重開機後,就可以直接在 "檔案" 的 tab 下,瀏覽檔案目錄時,點選 .sh 後,啟動 terminal 程式而執行。

不過對於要 root 權限的 script,此法行不通。


閱讀全文 ...

[PDA] Zaurus C760 新手筆記 (29) - ZSI 搬家了

這應該是算舊聞,不過我到前幾天才發現。

ZSI: Zaurus Software Index,全新改版,而且搬家後變身成 ELSI: Embedded Linux Software Index

ZUG 也把網域從 .com 換成 .org。

詳情請看 http://www.oesf.org/forums/index.php?showtopic=10058


閱讀全文 ...

2005年2月3日

[PDA] Zaurus C760 新手筆記 (28) - zaif

裝上了 zaif,準備用來替代在 Palm 上的 PMT xl。

不過已經習慣 PMT xl 的記帳方式,把帳戶區分為 "Asset/Liability/Income/Expense",而 zaif 的作法比較像是單純地計流水帳。所以想了個變通的方法,讓在 zaif 上計帳,也能適當地區分出資金的流動。
  • 把在 PMT 上的 Asset account,都轉登錄在 zaif 上的 account。但在帳戶名前面加上個 "+",來標示這是個 asset

  • 把在 PMT 上的 Liability account,都轉登錄在 zaif 上的 account。但在帳戶名前面加上個 "-",來標示這是個 liability。另外在 zaif 上標註這些 account 為 "credit"。

  • 把在 PMT 上的 Income account,都轉登錄在 zaif 上的 account。但在帳戶名前面加上個 ">",來標示這是個 income

  • 把在 PMT 上的 Expense account,都轉登錄在 zaif 上的 categoryroot 項。但在帳戶名前面加上個 "<",來標示這是個 expense。另外把 PMT xl 上的 description,都依類別登錄到 zaif 的 category 的 child 項。

  • 在 zaif 上也額外地建一個 Equity 的 account,依 PMT xl 上各帳戶的最終金額及 asset/liability 不同,在 zaif 上把資金從 Equity 轉入或轉出至 asset/liability。

  • 當帳戶間有資金流動時,就利用 zaif 的 move 功能。這與 PMT xl 上的作法是一樣的。

  • 當有花費時,就用 zaif 的標準作法。這與 PMT xl 上的用法也類似。

  • 當 有收入時,用 income 的帳戶來記錄;並額外多個動作,把資金由 income 的帳戶轉至 asset 的帳戶。(為何要這樣呢?因為如果把收入直接轉入 asset,那除了用 memo 欄位來記錄收入來源外,別無它法。可是 memo 只能用輸入的,無法點選,所以分兩段記錄,這樣就可以單用單選的方式,仍能分辨出收入的來源。)

  • 要查看統計的結果,就用 zaif 的 summary 功能。大致上 PMT xl 所能提供的統計結果,都可以在其中找到。
差不多就是這樣。用了幾天,大概各種狀況都能適用。不過,zaif 的清單功能不夠完全,只能單純地以流水帳的方式來查看。


閱讀全文 ...

[PDA] Zaurus C760 新手筆記 (27) - special kernel

PIL 上看到的。Zaurus 可以更新 kernel,也跑去下載換裝了。整個過程其實就與之前升級 Sharp 原廠更新檔的做法一樣。不過有幾點小小的不同:
  1. sharp 的更新檔有四個:

    • initrd.bin: 這是 root file system。
    • zImage.bin: 這是 kernel。
    • updater.sh: 升級程式,會把 initrd.bin 及 zImage.bin 寫入 ROM 中。
    • mversion.bin: 大概是版本描述之類的。

    至於這次換裝 special kernel 的作法,也是可以有四個檔 (實際只有三個):

    • initrd.bin: 相當於 sharp 的同名檔案。(這次換裝不含這個檔)
    • zImage: 相當於 sharp 的 zImage.bin。(一個沒有附檔名,一個有)
    • updater.sh: 相當於 sharp 的同名檔案。
    • consolescroll: 大概是螢幕的驅動程式之類的。(猜的)

  2. sharp 原廠的更新程式,會在升級後自動進行重開機的程序;但這次的不會,要自行進行 reset。

還沒發現換裝 special kernel 後的明顯不同 (除了開機過程變酷了,一看就知道是 Linux)。可能要再試試。


閱讀全文 ...

[PDA] Zaurus C760 新手筆記 (26) - 批次轉影音檔給 Zaurus

之前在 [PDA] Zaurus C760 新手筆記 (22) - kino2 + rmvb,提到轉 rmvb 檔給 Zaurus 看的作法。可是一個個轉太累了。後來在 Microsoft 的網站看到有批次轉檔的方式,所以把當中的 wmcmd.vbs 叫出來看,其中有一個 loadprofile 的參數,可以把設定載入。實驗了一下,我目前是用下列的方式轉檔:

  1. 先隨便找一個影音檔,依之前的作法,設定想要的各項參數。

  2. 在做完 "Custom Encoding Settings" 的畫面時,有一個 "Export" 的按鍵,按下後可以把設定存下來,假設檔案就在預設的位置,檔名是 "zaurus.prx"。

  3. 把下面的檔案存成批次檔:
    set WME="C:\Program Files\Windows Media Components\Encoder"

    :start

    if %1 == "" goto end

    cscript.exe %WME%\WMCmd.vbs -input %1 -output %1.wmv -loadprofile %WME%\Profiles\zaurus.prx
    shift

    goto start

    :end
    其中的 WME 變數,要依實際 Windows Meida Encoder 的安裝路徑而定。

  4. 把影音檔 (可以一次抓很多個,抓目錄也可以) 直接抓到批次檔的圖示上,就會開始自動轉檔了。轉出來的檔案會在原來的位置上。

  5. 如果進去看 wmcmd.vbs 檔,找到第 3399 行。其中列了很多的副檔名,如果直接抓取目錄時,wmcmd 只會篩選符合的檔案進來轉檔,所以可以在該行最後加上 ", rmvb",這樣當抓取整個目錄給批次檔時,才不會漏掉 rmvb 檔。


閱讀全文 ...

2005年2月1日

[PDA] Zaurus C760 新手筆記 (25) - "qinstall" 與 "ipkg install"

今天在 MPlayer for Zaurus 看到一段話:
ipkのpostinstにこの操作を書いているんですが、Qtopiaからインストールしても実行されていないようです。ipkg install ...でインストールすると正しく実行されます。
我當然是看不懂日文。不過在 Babel Fish 的協助下,把上面這段話翻成英文:
This operation is written on postinst of ipk, it is, but installing from Qtopia, being executed, it seems that is not. Ipkg install.. When so it installs, it is executed just.
大概是說有 "postinst" 功能的 ipk 檔,不能用 "ipkg install" 的方式安裝,一定要用 qtopia 的 "qinstall" (就是 "新增/移除 程式"),postinst 才會發生作用。

難怪之前我在安裝 KDE Pim 時,用 "ipkg install" 的方式,KDE Pim 總是不正常。


閱讀全文 ...

[PDA] Zaurus C760 新手筆記 (24) - kismet

底下是 Zaurus Software Index 對 kismet 的簡介:
Kismet is a 802.11b wireless network sniffer.
簡單說就是偷聽無線網路或掃描 AP 的軟體。我用的是 Asus WL-110 無線網卡,幾乎無須任何設定就可正常使用。

文字界面的 kismet:


GUI 界面的 kismet-qt:


不過這軟體在啟動的順序上有點討厭,所以寫了個 script 來簡化流程。

底下 script 的流程主要是依 PIL 上 Dabinn 的發言內容 而來:
  • 先安裝 kismet。也可選擇性地安裝 kismet-qt

  • 把下面這段 script 轉成 UTF-8/UNIX 格式的文字檔 (假設檔名為 kismet.sh),放到 Zaurus 上,並且給與執行的權限。
    #!/bin/bash

    # 指定 kismet 所監聽的 interface,正常來說應該都是 eth0。
    IFACE="eth0"

    # 指定啟動無線網卡的設定,可以查閱 /etc/pcmcia/network.opts,
    # 比對該檔的 INFO 及其前一行,可以找到相對應的 scheme name。
    # 系統預設的 "指定なし" 連線服務設定為 qpewlan0。
    WLAN="qpewlan0"

    # 在沒有可連接的 AP 時,timeout 的時間。單位;秒。
    DELAY=5

    function start_iface {

      # 先確定有無預先已啟動的 $IFACE。若有,則直接使用。
      IFACE_LINE="`ifconfig | grep -e "$IFACE"`"
      
      if [ "$IFACE_LINE!" == "!" ]; then
      
        # 若沒有預先啟動的 $IFACE,則啟動之。
        cardctl scheme CardResume
        cardctl scheme "$WLAN" &
        WLANPID=$!
        
        # 啟動 $IFACE 後,等待 $DELAY 秒。
        sleep $DELAY
        
        # 若能正確連上 AP,則後續無須再強制啟動 $IFACE。
        ps -p $WLANPID > /dev/null
        if [ $? -eq 0 ]; then
        
          # 無法連上 AP,清除等待中的程序。(光殺掉 cardctl 沒用)
          # 下面這一行有點暴力。
          killall cardctl wlan-ng network dhcpcd
          
          # 強制啟動 $IFACE。
          /etc/pcmcia/wlan-ng start "$IFACE"
        fi    
      fi
    }

    function end_iface {

      IFACE_LINE="`ifconfig | grep -e "$IFACE"`"
      
      if [ "$IFACE_LINE!" != "!" ]; then
        # 如果 $IFACE 還活著,砍掉它。
        cardctl scheme default
      fi  
    }

    # 啟動 $IFACE。
    start_iface

    # 如果使用文字界面的 kismet,保留下面三行。
    kismet_monitor
    kismet
    kismet_unmonitor

    # 如果使用 GUI 界面的 kismet,保留下面一行。
    #kismet_qt

    # 關閉 $IFACE。
    end_iface
  • 執行 kismet:
    sudo kismet.sh
    原則上如果無線網卡符合 kismet 預設的 source 設定值,那這樣就可以開始監測了。

  • 如果不行,就要回頭改 kismet 的設定。設定主要是在 /usr/etc/kismet.conf 檔。找到 source=prism2_legacy,eth0,kismet 這一行,把 prism2_legacy 改成其它的試試看 (可以看 kismet.conf 檔,裏面有說明)。

  • 另外,因 kismet 的 log 檔又多又大,所以可以把 log 檔改移到記憶卡上。一樣是在 kismet.conf 檔上,把 logtemplate=%n-%d-%i.%l,改成 logtemplate=/mnt/card/or/anywhere/%n-%d-%i.%l。


閱讀全文 ...