Krusader 是一個非常好用的檔案管理程式,雖然長的有一點醜,但是功能不是其他檔案管理程式可以比擬的,但是有個小問題:要是多開幾個頁籤處理不同子目錄,但是關掉Krusader時忘了關掉子目錄已不存在的頁籤。下次再開時就會當掉,而且在某些狀況下關掉重開還是不能解決問題。除非你把上次開的子目錄都在系統上準備好等著Krusader他打開,這個問題最常出現在用Krusader打開一個抽取式的儲存裝置,比如說相機的快閃記憶體,用完了在系統上安全快閃記憶體移除沒事,但是下次Krusader 會因為上次開的頁籤找不到上次打開的快閃記憶體,就一直死給你看。
我發現krusader的設定檔放家目錄下的.kde4/share/,主要是.kde4/share/config/krusaderrc 這一個檔,其中有一段[Startup]是控制啟動時要開哪些頁籤。萬一出了問題,把krusaderrc 這一個檔刪掉,他就會自動產生好的基本設定。假如是升級系統,想要保留原有的設定但是只是少部份檔案路徑不對,可以把原krusaderrc 檔案備份在別處,刪掉舊檔然後產生一個新檔,把舊檔的[Startup]這一段換成安全的格式後寫回去就可以了。下面是兩個視窗各開兩個頁籤的示範,其實不算太難懂,有興趣的可以自己改改試試。
[Startup]
Left Active Tab=1
Left Panel Popup=0
Left Side Is Active=false
Left Tab Bar[$e]=$HOME,$HOME/.libreoffice
Left Tab Bar Props=0,0
Left Tab Bar Types=0,0
Right Active Tab=1
Right Panel Popup=0
Right Tab Bar[$e]=$HOME,$HOME/.remmina
Right Tab Bar Props=0,0
Right Tab Bar Types=0,0
Vertical Mode=false
開放世代("Generation Open"),特指以 "Open Content" (開放內容,包括知識,軟體與創作,...)為出發點的一種新的生活型態 但這裡強調的是群體長期的自由,而非個人一時的自由,因為個人一時的任意自由,是可以被有心人不公不義的用來去擷取個人利益而妨礙群體長期的自由,那不是大家所樂見的。
google code-beautifer
星期六, 12月 18, 2010
GUI 的檔案管理跟終端機相互運作
就算有在用GUI 的檔案管理軟體,程式設計師常常會需要在終端機下跳到某個檔案所在的子目錄去工作,krusader 可已有一行工作列輸出入,不過那不好用,emacs 也可以開dird 管理檔案也沒錯,但是用到一些東西管理檔案還是用krusader 或是nautilus 比較直覺。所以我需要一個方法把GUI 的檔案管理程式中的檔案icon 用滑鼠拉到終端機裡,就可以讓終端機裡的shell 跳到對應子目錄的方法。目前還沒看到拖拉icon 支援手勢的用法,。所以得自己來。
一般Linux 系統對桌面支援有設定好的話,不管是gnome 或kde的程式如gnome-commander,nautilus 或krusader,只要把檔案icon 用滑鼠拉到終端機裡,就可以讓終端機顯示該檔的完整路徑名。只要自己設定一個程式,去處理後面跟著拉進來的某個檔案icon對應所在的子目錄,這樣就可以了。bash 下有dirname 這個命命是可以傳回檔案的完整目錄路徑名。但是直接用
alias fu='a=`dirname \$1` ;cd $a'
這樣的方式會出問題,我也不太清楚為何類似的方式不去動到cd $a的方式卻就沒事?可能是Eval 出問題。後來我找到可改用所謂shell function 的方式,其實跟alias 的方式很接近,。但是一般書都沒提這個用法。
fu () {
a=`dirname $1`
cd $a
}
這樣就可以了。但是alias 問題的源頭我一時還時間去追溯 。function 跟變數很像,用set 跟unset 來設定。(其實照上面寫法就好,是不用去管什麼set 跟unset的其他細節)
每次都用的話,可以把這定義寫到 ~/.bash_profile 或 /etc/profile 下。我在想等gnome-shell穩定了,配合某種手勢來作這件事是最好不過的用法。
一般Linux 系統對桌面支援有設定好的話,不管是gnome 或kde的程式如gnome-commander,nautilus 或krusader,只要把檔案icon 用滑鼠拉到終端機裡,就可以讓終端機顯示該檔的完整路徑名。只要自己設定一個程式,去處理後面跟著拉進來的某個檔案icon對應所在的子目錄,這樣就可以了。bash 下有dirname 這個命命是可以傳回檔案的完整目錄路徑名。但是直接用
alias fu='a=`dirname \$1` ;cd $a'
這樣的方式會出問題,我也不太清楚為何類似的方式不去動到cd $a的方式卻就沒事?可能是Eval 出問題。後來我找到可改用所謂shell function 的方式,其實跟alias 的方式很接近,。但是一般書都沒提這個用法。
fu () {
a=`dirname $1`
cd $a
}
這樣就可以了。但是alias 問題的源頭我一時還時間去追溯 。function 跟變數很像,用set 跟unset 來設定。(其實照上面寫法就好,是不用去管什麼set 跟unset的其他細節)
每次都用的話,可以把這定義寫到 ~/.bash_profile 或 /etc/profile 下。我在想等gnome-shell穩定了,配合某種手勢來作這件事是最好不過的用法。
星期六, 8月 14, 2010
Gnome 桌面面板的設定微調
有時候系統預設給面板的程式啟動icon的參數不合我們意,其實在icon上按右鍵,就可以自己改。我有兩個軟體視窗設定一定會改動的:
假如螢幕解析度是1920x1280 :我會改成
gnome-terminal --geometry=128x60
emacs --geometry=128x79
假如是11280x1024的話:我會改成
gnome-terminal --geometry=128x56
emacs --geometry=128x72
面板工作列定制的按鍵設定會放在
~/.gnome2/panel2.d/default/launchers
比如說"終端機"的設定檔是
'gnome-terminal終端機.desktop'
,就算系統升級之後也可以直接備份拷貝到新系統上使用。
http://ubuntuforums.org/showthread.php?t=1066964
或者另一個方式是用別的面板程式,比如
http://ftp.gnome.org/pub/gnome/sources/gnome-panel/2.30/gnome-panel-2.30.2.tar.bz2
可參考
http://aur.archlinux.org/packages.php?ID=39415
而我自己是用AWN "代替" gnome-panel。
但是AWN有幾個問題。一是假如應用程式沒有對應的desktop file,便無法改icon ,解決方法是先開一個gnome-panel,把應用程式加入gnome-panel面板,再從gnome-panel面板把icon 拉到AWN面板裡。假如要改動程式啟動設定,拉之前記得參數要照前面說的在gnome-panel先改好,再拉到AWN面板裡。
再來是有些人偶爾會用root 身份登入時,AWN預設是不准用root 身份來用的。這個可以用這招來繞過:
How To Use Screenlets, VLC and AWN Manager by Logging In As Root
再來是有些applet 在AWN 上還沒有好的代替品,不過有些AWN作的比較好,所以目前我是gnome-panel,AWN 面板各開一個來用
假如螢幕解析度是1920x1280 :我會改成
gnome-terminal --geometry=128x60
emacs --geometry=128x79
假如是11280x1024的話:我會改成
gnome-terminal --geometry=128x56
emacs --geometry=128x72
面板工作列定制的按鍵設定會放在
~/.gnome2/panel2.d/default/launchers
比如說"終端機"的設定檔是
'gnome-terminal終端機.desktop'
,就算系統升級之後也可以直接備份拷貝到新系統上使用。
書籤限制的解決之道
gnome-panel的 Places menu(位置選單) 只要書籤(~/.gtk-bookmarks)捷徑數目超過5個,位置捷徑就會被放到"書籤"sub-menu 去,這實在是很瞎的設計。解決之道一是自己把原始碼那一個限制改掉,重編譯。可參考
http://ubuntuforums.org/showthread.php?t=1066964
或者另一個方式是用別的面板程式,比如
http://ftp.gnome.org/pub/gnome/sources/gnome-panel/2.30/gnome-panel-2.30.2.tar.bz2
可參考
http://aur.archlinux.org/packages.php?ID=39415
而我自己是用AWN "代替" gnome-panel。
Avant Window Navigator(AWN)
AWN 裏面有個叫file Broswer Launcher就沒有位置捷徑數目限制。而且AWN 還有一些其他不錯的特性。
但是AWN有幾個問題。一是假如應用程式沒有對應的desktop file,便無法改icon ,解決方法是先開一個gnome-panel,把應用程式加入gnome-panel面板,再從gnome-panel面板把icon 拉到AWN面板裡。假如要改動程式啟動設定,拉之前記得參數要照前面說的在gnome-panel先改好,再拉到AWN面板裡。
再來是有些人偶爾會用root 身份登入時,AWN預設是不准用root 身份來用的。這個可以用這招來繞過:
How To Use Screenlets, VLC and AWN Manager by Logging In As Root
再來是有些applet 在AWN 上還沒有好的代替品,不過有些AWN作的比較好,所以目前我是gnome-panel,AWN 面板各開一個來用
星期四, 12月 31, 2009
讓Intel CPU 自動依需要調整頻率
請先參考
使用AMD Cool-n-Quiet 省電模式
但是在/etc/modprobe.preload.d/
AMD 系統用的設定是:
powernow-k8
acpi-cpufreq
cpufreq_performance
cpufreq_powersave
cpufreq_conservative
cpufreq_ondemand
Intel CPU把powernow-k8換成acpi-cpufreq就可以了
補充一點:一開始預設是performance,依慣例把他調成ondemand切到自動模式的話用:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
使用AMD Cool-n-Quiet 省電模式
但是在/etc/modprobe.preload.d/
AMD 系統用的設定是:
powernow-k8
acpi-cpufreq
cpufreq_performance
cpufreq_powersave
cpufreq_conservative
cpufreq_ondemand
Intel CPU把powernow-k8換成acpi-cpufreq就可以了
補充一點:一開始預設是performance,依慣例把他調成ondemand切到自動模式的話用:
echo ondemand > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
星期日, 12月 20, 2009
pulseaudio 錄音:針對skype/ intel hda及相關晶片問題
假如你是用snd_hda_intel 而且pulseaudio 錄音有問題,你可以檢查看看是不是alsa設置的問題
很多hda_intel 晶片需要給核心下額外參數,假定你只有一個音效卡,這點可以用下面命令檢查
cat /proc/asound/card0/codec#0 | grep -i codec
請參考
http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt
但是有一些新的codec不在上表,比如Dell vostro 1520/1720或類似用IDT ID 76d5晶片的
在https://bugs.launchpad.net/ubuntu/+source/linux/+bug/386858
討論上說對這個問題ubuntu要升級alsa 1.0.16 ,而且在給核心下參數。可是Mandriva 看來都已經比上面討論的版本要新了,我在一臺裝mandriva 2009.1 (kernel 是2.6.29.6 alsa 是1.0.19-1)的Dell Vostro 1520 上試的結果,換過/etc/modprobe.conf 加入這一行
options snd-hda-intel model=dell-s14
重開就沒問題了(用model=dell-m6參數是不會成功的),雖然內建mic 還是有問題,而且插上耳機內建喇叭也不會靜音,不過至少新版skype現在用外接mic 可以正常工作了。對一般人差不多夠用了。反正Mandriva 2010 出了,用了新版的kernel 跟alsa ,等升級我再試過。Skype 要 2.1.0.47以後的版本才支援pulseaudio,沒有powerpack的人可以到http://mib.pianetalinux.org/mib/fr/home/32-mib-rpms/414-skype-21047.html
下載。
pulseaudio這個問題其實不只出在snd_hda_intel,有很多錄音晶片(包括EMU10k) 有類似問題,此外,有很多音效軟體還不支援pulseaudio,還得給dbus 設定打個洞給特定音效卡只使用alsa錄音,那個搞起來真的就麻煩了,現在我用外接mic是可以給Audacity 錄音,選alsa pulse的話雜訊大到不能接受,選alsa hw(0,0)的話雜訊是可以接受,但CPU 用量飆到100%,錄出來像打嗝一樣不能聽。要並存的話還有一番要修補的。
結論:pulseaudio 也許是未來的主流,但是過渡期還有一段好痛苦的
參考
http://pulseaudio.org/wiki/BrokenSoundDrivers
很多hda_intel 晶片需要給核心下額外參數,假定你只有一個音效卡,這點可以用下面命令檢查
cat /proc/asound/card0/codec#0 | grep -i codec
請參考
http://www.kernel.org/doc/Documentation/sound/alsa/HD-Audio-Models.txt
但是有一些新的codec不在上表,比如Dell vostro 1520/1720或類似用IDT ID 76d5晶片的
在https://bugs.launchpad.net/ubuntu/+source/linux/+bug/386858
討論上說對這個問題ubuntu要升級alsa 1.0.16 ,而且在給核心下參數。可是Mandriva 看來都已經比上面討論的版本要新了,我在一臺裝mandriva 2009.1 (kernel 是2.6.29.6 alsa 是1.0.19-1)的Dell Vostro 1520 上試的結果,換過/etc/modprobe.conf 加入這一行
options snd-hda-intel model=dell-s14
重開就沒問題了(用model=dell-m6參數是不會成功的),雖然內建mic 還是有問題,而且插上耳機內建喇叭也不會靜音,不過至少新版skype現在用外接mic 可以正常工作了。對一般人差不多夠用了。反正Mandriva 2010 出了,用了新版的kernel 跟alsa ,等升級我再試過。Skype 要 2.1.0.47以後的版本才支援pulseaudio,沒有powerpack的人可以到http://mib.pianetalinux.org/mib/fr/home/32-mib-rpms/414-skype-21047.html
下載。
pulseaudio這個問題其實不只出在snd_hda_intel,有很多錄音晶片(包括EMU10k) 有類似問題,此外,有很多音效軟體還不支援pulseaudio,還得給dbus 設定打個洞給特定音效卡只使用alsa錄音,那個搞起來真的就麻煩了,現在我用外接mic是可以給Audacity 錄音,選alsa pulse的話雜訊大到不能接受,選alsa hw(0,0)的話雜訊是可以接受,但CPU 用量飆到100%,錄出來像打嗝一樣不能聽。要並存的話還有一番要修補的。
結論:pulseaudio 也許是未來的主流,但是過渡期還有一段好痛苦的
參考
http://pulseaudio.org/wiki/BrokenSoundDrivers
星期六, 3月 07, 2009
Linux 的perl開發環境
有個朋友問起開發軟體用Python 跟Perl 的比較,從我的觀點來看:
1.作研究的人沒有什麼挑程式語言的條件,往往是事情複雜到需要整合好幾個領域,不可能一個人用一個程式語言從頭搞到底,那樣東西還沒做出來你就被別人發表的成果淘汰了。所以你需要什麼樣的武器(通常是以某個語言寫出來的程式庫)來處理某個次領域的事情,你就用那個語言去做基本的處理及呼叫程式庫。再用其他或相同的語言把中間過程串起來。像我本身,約莫是平均一年需要學一個新的程式語言。
2. 光比較Python 跟Perl :為了處理web 的資料,其實我一開始是從Perl 學起,那時web mining programming還沒多少人知道該怎麼作才好。 Perl 寫短程式實在很精簡,但是可閱讀性實在是太差,我覺得比Lisp 還要差,我看自己以前寫的 perl碼,當時要是沒有詳細註解的話,要花很大的力氣。但是為了精簡程式選perl,卻要花更多的時間去詳細註解的話,實在是自相矛盾的作法,所以現在有的選的話,我會以python 優先。其實不只是對perl 而言如此,對lisp 也是一樣。
下面就是從這樣觀點來看perl 的開發環境
不知道是不是大家比較少用perl 開發大一點的程式,相對於python,perl 的開發介面平台在 inux 上比較少。
我現在只知道emacs ,跟Eclipse 。另外有一個在winodws 下用Pascal 寫的Open Perl IDE,也許可以用Lzaurus/free pascal 來在Linux 下編過,不過我還沒時間試。
Eclipse 的壞處就是笨重,用這麼肥的IDE 想來開發輕薄短小的perl實在不太有道理。連在AMD雙核心 4GB Ram 的機器下跑都有點小遲鈍,而且Eclipse 的笨重不只是Eclipse 本身體積肥而已,連寫個小程式都很麻煩:
首先要開一個計劃,然後加上計劃下的程式。假如你之前在外頭寫好了幾個部份片斷程式,恭喜你,片斷程式要匯進去計劃有夠麻煩的,開個不同檔名再剪貼文字過去可能還比較方便。不過在emacs 上的ECB 也有那邊的問題,有時得忍受一下交互使用。要是覺得連去巷口市場買菜都得騎隻恐龍不是什麼大不了的事的話,那Eclipse 這隻大恐龍倒是上天下海無所不包。
Eclipse 的介面,可參考我後續的介紹,
Eclipse 的perl 外掛叫ERIC,目前有兩大版本:0.5 穩定版跟0.6的測試版,我是用0.6版,沒什麼問題。
安裝EPIC這個外掛的步驟在不同版本會有稍許不同,在mandriva 下的eclipse3.4 版是這樣:
啟動Eclipse後在主選單的Help的下拉式選單,選擇Software Updates,然後在Available software的分頁下選擇Add site,在Location 的URL視窗鍵入:
http://e-p-i-c.sf.net/updates/testing
選Find and Updates後,建一個新的名稱(如Eric)給EPIC,然後按下finish後再去勾選這個 Pac外掛做update
把EPIC 外掛裝上後。在主選單file ->new->other
下就會看到Perl型別的選項。先開新一個計劃之後,再依需要慢慢把程式檔加進去。
我試過了Eclipse 的EPIC ,發現所有的變數都要用my 宣告成當地變數,不然eclispe會給你一堆紅色錯誤警告。但要是這樣作的話,在Emacs 下就沒辦法被ECB辨識成變數來顯示,IDE效果就打了折扣。
我最喜歡的一點是在Eclipse 下,只要把游標指到某行的某變數下,在其他行的該變數也會用不同顏色顯示出來,這點在除蟲時很方便。不過這好像是透過全文檢索,所以連不是變數的像標點或字串也行,這讓我懷疑是不是了Eclipse 反應遲鈍的原因之一。
ECB 來寫C/html 是很棒的IDE 。可是對於那些semantic (ECB 賴以解析程式碼的模組)支援很有限的語言如 perl ,表現就只是差強人意。Emacs 的syntax highlight 是沒有問題的,但是ECB左側變數列表會不完整,得用Meta-x!etags *.pl幫現在的perl程式碼編符號表,直接改emacs 裡的程式碼而不重整符號表是不成的,那些在 my 後面直接宣告而且給定起始值的區域變數都顯示不出來。所以要跟eclipse交互使用環境會有一點問題。
兩個IDE 都各有優缺點,我現在是一頁就能看完的程式用emacs 來處理,超過一頁再來用eclipse發展。
用Emacs 開發C 程式
1.作研究的人沒有什麼挑程式語言的條件,往往是事情複雜到需要整合好幾個領域,不可能一個人用一個程式語言從頭搞到底,那樣東西還沒做出來你就被別人發表的成果淘汰了。所以你需要什麼樣的武器(通常是以某個語言寫出來的程式庫)來處理某個次領域的事情,你就用那個語言去做基本的處理及呼叫程式庫。再用其他或相同的語言把中間過程串起來。像我本身,約莫是平均一年需要學一個新的程式語言。
2. 光比較Python 跟Perl :為了處理web 的資料,其實我一開始是從Perl 學起,那時web mining programming還沒多少人知道該怎麼作才好。 Perl 寫短程式實在很精簡,但是可閱讀性實在是太差,我覺得比Lisp 還要差,我看自己以前寫的 perl碼,當時要是沒有詳細註解的話,要花很大的力氣。但是為了精簡程式選perl,卻要花更多的時間去詳細註解的話,實在是自相矛盾的作法,所以現在有的選的話,我會以python 優先。其實不只是對perl 而言如此,對lisp 也是一樣。
下面就是從這樣觀點來看perl 的開發環境
開發介面平台
不知道是不是大家比較少用perl 開發大一點的程式,相對於python,perl 的開發介面平台在 inux 上比較少。
我現在只知道emacs ,跟Eclipse 。另外有一個在winodws 下用Pascal 寫的Open Perl IDE,也許可以用Lzaurus/free pascal 來在Linux 下編過,不過我還沒時間試。
Eclipse
Eclipse 的壞處就是笨重,用這麼肥的IDE 想來開發輕薄短小的perl實在不太有道理。連在AMD雙核心 4GB Ram 的機器下跑都有點小遲鈍,而且Eclipse 的笨重不只是Eclipse 本身體積肥而已,連寫個小程式都很麻煩:
首先要開一個計劃,然後加上計劃下的程式。假如你之前在外頭寫好了幾個部份片斷程式,恭喜你,片斷程式要匯進去計劃有夠麻煩的,開個不同檔名再剪貼文字過去可能還比較方便。不過在emacs 上的ECB 也有那邊的問題,有時得忍受一下交互使用。要是覺得連去巷口市場買菜都得騎隻恐龍不是什麼大不了的事的話,那Eclipse 這隻大恐龍倒是上天下海無所不包。
Eclipse 的介面,可參考我後續的介紹,
Eclipse 的perl 外掛叫ERIC,目前有兩大版本:0.5 穩定版跟0.6的測試版,我是用0.6版,沒什麼問題。
安裝EPIC這個外掛的步驟在不同版本會有稍許不同,在mandriva 下的eclipse3.4 版是這樣:
啟動Eclipse後在主選單的Help的下拉式選單,選擇Software Updates,然後在Available software的分頁下選擇Add site,在Location 的URL視窗鍵入:
http://e-p-i-c.sf.net/updates/testing
選Find and Updates後,建一個新的名稱(如Eric)給EPIC,然後按下finish後再去勾選這個 Pac外掛做update
把EPIC 外掛裝上後。在主選單file ->new->other
下就會看到Perl型別的選項。先開新一個計劃之後,再依需要慢慢把程式檔加進去。
我試過了Eclipse 的EPIC ,發現所有的變數都要用my 宣告成當地變數,不然eclispe會給你一堆紅色錯誤警告。但要是這樣作的話,在Emacs 下就沒辦法被ECB辨識成變數來顯示,IDE效果就打了折扣。
我最喜歡的一點是在Eclipse 下,只要把游標指到某行的某變數下,在其他行的該變數也會用不同顏色顯示出來,這點在除蟲時很方便。不過這好像是透過全文檢索,所以連不是變數的像標點或字串也行,這讓我懷疑是不是了Eclipse 反應遲鈍的原因之一。
Eamcs/ECB
ECB 來寫C/html 是很棒的IDE 。可是對於那些semantic (ECB 賴以解析程式碼的模組)支援很有限的語言如 perl ,表現就只是差強人意。Emacs 的syntax highlight 是沒有問題的,但是ECB左側變數列表會不完整,得用Meta-x!etags *.pl幫現在的perl程式碼編符號表,直接改emacs 裡的程式碼而不重整符號表是不成的,那些在 my 後面直接宣告而且給定起始值的區域變數都顯示不出來。所以要跟eclipse交互使用環境會有一點問題。
結論
兩個IDE 都各有優缺點,我現在是一頁就能看完的程式用emacs 來處理,超過一頁再來用eclipse發展。
延伸閱讀
用Emacs 開發C 程式
星期二, 2月 24, 2009
用 Graphviz 畫資料庫設計圖
graphviz 的介紹見,用 Graphviz 畫工程科學說明圖
以一般設計資料庫流程,第一階段畫 ER/EER diagram,第二階段畫relation tables 跟 key constraints,要找免費的工具還真不簡單。大多數最多也只是提供免費試用而已,我也用過dia 跟 xfig 來畫過,總覺得少那麼一點。後來還是覺得用graphviz 來畫最方便。
以我實作EER model 的情況,除了weak entity 的total participation 雙線,跟subclass 的關聯線外。幾乎可以直接全部畫出來,其實可以自行加入向量圖形,不過我很懶。在時間有限前提下,用個近似的方法就交差了。要是有人能把這兩個向量圖加入graphviz ,會是功德無量。
下面用 18分大學的體系為例,用graphviz 來畫一個資料庫設計的EER diagram。既然是18分大學,訛誤在所難免。我故意搞了些手腳,好讓那些懶惰的老師或學生會踩到地雷,但懂的人一眼就看穿。好事者請不要公佈答案,不然就不好玩了。

除了EER model ,畫relation table 也沒啥大問題,唯一的地方是標示composite key 的部份。我是用套疊格子的技巧作出來。其實這些小地方不一定要這樣作,我是依據近年美國資料庫教科書首選Elmasri的fundamentals of Database Systems用的記號為依歸,算是遵循標準吧!這樣一般大學生不用我解釋就可以看得懂我的設計。
下面用海角n億洗錢的體系為例,用graphviz 來畫relation table 設計

我想面對犯罪可以為一己之私,可以用泛政治的理由拉一堆人來替自己洗錢掩護,檢警單位應要學學怎樣用自由軟體來彙整日益複雜的犯罪資料。
一般資料庫先畫ER diagram,正規化Schema後再寫SQL。不過有個java 工具sql2dot是可以把簡單 SQL 檔轉成 dot 語言,用法是
java -jar sql2dot.jar 我的sql檔名
我試了一下,語法解析不夠彈性,有些情況沒辦法解析出來。不過後來又看到一些其他的工具sql 轉dot的工具,等以後試了再來紀錄心得。
以一般設計資料庫流程,第一階段畫 ER/EER diagram,第二階段畫relation tables 跟 key constraints,要找免費的工具還真不簡單。大多數最多也只是提供免費試用而已,我也用過dia 跟 xfig 來畫過,總覺得少那麼一點。後來還是覺得用graphviz 來畫最方便。
以我實作EER model 的情況,除了weak entity 的total participation 雙線,跟subclass 的關聯線外。幾乎可以直接全部畫出來,其實可以自行加入向量圖形,不過我很懶。在時間有限前提下,用個近似的方法就交差了。要是有人能把這兩個向量圖加入graphviz ,會是功德無量。
下面用 18分大學的體系為例,用graphviz 來畫一個資料庫設計的EER diagram。既然是18分大學,訛誤在所難免。我故意搞了些手腳,好讓那些懶惰的老師或學生會踩到地雷,但懂的人一眼就看穿。好事者請不要公佈答案,不然就不好玩了。

除了EER model ,畫relation table 也沒啥大問題,唯一的地方是標示composite key 的部份。我是用套疊格子的技巧作出來。其實這些小地方不一定要這樣作,我是依據近年美國資料庫教科書首選Elmasri的fundamentals of Database Systems用的記號為依歸,算是遵循標準吧!這樣一般大學生不用我解釋就可以看得懂我的設計。
下面用海角n億洗錢的體系為例,用graphviz 來畫relation table 設計

我想面對犯罪可以為一己之私,可以用泛政治的理由拉一堆人來替自己洗錢掩護,檢警單位應要學學怎樣用自由軟體來彙整日益複雜的犯罪資料。
一般資料庫先畫ER diagram,正規化Schema後再寫SQL。不過有個java 工具sql2dot是可以把簡單 SQL 檔轉成 dot 語言,用法是
java -jar sql2dot.jar 我的sql檔名
我試了一下,語法解析不夠彈性,有些情況沒辦法解析出來。不過後來又看到一些其他的工具sql 轉dot的工具,等以後試了再來紀錄心得。
星期日, 2月 22, 2009
compiz-fusion下視窗佈景及標題欄主題設定
新裝的Mandriva 2009.0預設視窗在DVI 還清楚,但是在SOYO 24" LCD 的Dsub端子看不清視窗標半透明題欄的文字,我試了幾個gtk 的佈景都有問題,唯一可用的又醜的要死,而且視窗shade收起的動作不能用了,所以視窗裝飾要換。
所以執行CompizConfig Settings Manager (ccsm) :
到effects的Window Decoration 的 plugin 的 Command選項下,把compiz-window-decorator換成emerald 或gtk-window-decorator
但其實compiz-window-decorator預設就是用 gtk-window-decorator,gtk-window-decorator 可以使用Cairo Window Decorations或Metacity Window Decorations,預設就是用 Metacity 。
這些細節平常是藏起來的,但是可以用 gconf-editor(組態編譯器) 去改gwd(GTKWindowDecorator)
apps -> gwd
有組態編譯器可以用的話就不要用 gconfpref ,有些gnome選項會看不到(比如geditor-2的編碼)。
我初步試驗的結果,把Metacity Window Decorations關掉(也就是應該會切換成Cairo Window Decorations),但還是沒辦法啟動視窗shade收起的動作,所以最後還是得乖乖用emerald 來管視窗裝飾才成。emerald theme manager 一次不能預覽太多不同theme,卡住的話把emerald theme manager 關掉再來即可。
視窗裝飾Blue_Satin的陰影稍多了些,Rezlooks-Graphite-1pxb 的設計很適合工作,可惜我不喜歡他的配色,一時又沒時間把標題欄位的石墨色改掉,所以我最後選 IR Ora Blue(視窗內部元件外觀)跟Crystal-ICE的視窗裝飾,
要是不覺得右上角放大縮小圖像太小的話,Compiz-gilouche也不錯。
延伸閱讀
http://wiki.compiz-fusion.org/Decorators/Emerald
所以執行CompizConfig Settings Manager (ccsm) :
到effects的Window Decoration 的 plugin 的 Command選項下,把compiz-window-decorator換成emerald 或gtk-window-decorator
但其實compiz-window-decorator預設就是用 gtk-window-decorator,gtk-window-decorator 可以使用Cairo Window Decorations或Metacity Window Decorations,預設就是用 Metacity 。
這些細節平常是藏起來的,但是可以用 gconf-editor(組態編譯器) 去改gwd(GTKWindowDecorator)
apps -> gwd
有組態編譯器可以用的話就不要用 gconfpref ,有些gnome選項會看不到(比如geditor-2的編碼)。
我初步試驗的結果,把Metacity Window Decorations關掉(也就是應該會切換成Cairo Window Decorations),但還是沒辦法啟動視窗shade收起的動作,所以最後還是得乖乖用emerald 來管視窗裝飾才成。emerald theme manager 一次不能預覽太多不同theme,卡住的話把emerald theme manager 關掉再來即可。
視窗裝飾Blue_Satin的陰影稍多了些,Rezlooks-Graphite-1pxb 的設計很適合工作,可惜我不喜歡他的配色,一時又沒時間把標題欄位的石墨色改掉,所以我最後選 IR Ora Blue(視窗內部元件外觀)跟Crystal-ICE的視窗裝飾,
要是不覺得右上角放大縮小圖像太小的話,Compiz-gilouche也不錯。
延伸閱讀
http://wiki.compiz-fusion.org/Decorators/Emerald
星期日, 3月 09, 2008
Gnome 桌面與設定
Gnome 跟 KDE是 Linux 上兩大桌面系統,我認為也許在某些方面實作上,Gnome比不上KDE ,但整體架構的前瞻性會讓Gnome 慢慢勝出。由昇陽的選擇可以作一個指標。Gnomeu 之前就跟alsa一樣有一個問題:一直改架構,到近期才穩定下來。在正體中文的翻譯方面,香港的網友出了不少力,可是一直未見台灣社會的重視,(或是說台灣社會漠視整體開放軟體的努力,對於香港主導的努力更漠視)。我希望從自己作起,一點一滴的把使用說明建起來,建立雙贏的基礎。
Gnome 桌面包括了下列物件
要設置桌面物件,可以在桌面物件圖示上面按滑鼠右鍵來叫出功能選單。
把特定應用程式視窗預設尺寸放大,基本上有兩個方式:在x視窗下設定或GNOME 桌面上設定。
考量到因為gnome-terminal 有可能會被其他文字命令叫用,所以我選擇在GNOME 桌面上的終端機啟動器裡設定。
終端機啟動的視窗放大(100x50)預設尺寸設定屬性command :
gnome-terminal --geometry=100x50+150+10
emacs 反正都是不是從GNOME 桌面面板就是從視窗程式(如krusader)叫用
所以就直接在在x視窗下設定,把這一行加入~/.Xdefaults:
emacs-gtk.geometry: 128x50
為什麼不是emacs.geometry: 128x50 ? 因為我在GNOME 桌面用的是emacs-gtk,emacs-gtk這不是叫用emacs 的script ,而是單獨編譯的程式,所以是針對emacs-gtk指定尺寸
見gnome 桌面上的"位置"如何設定
Gnome 可以跑 Compiz 大部分的人都知道了。此外Gnome 也可以裝 screenlets去摹擬MacOS X上的 Widget或是Windows裡的Gadgets。不過真有這個必要嘛?Widget這樣的概念其實在gnome 裡用 appelet就可以做出來了,以生產力的觀點,screenlets 不會比 appelet 更有效率。我自己Applet 是開的蠻多的,在xorg出的ATI驅動下跑也還好,但可以感覺出跑compiz 比純跑x視窗慢。而且不管是Mac/windows/Linux ,我都聽到不少說法是 Widget把系統效能拖下水,比較compiz 裡視窗縮途預覽提高切換生產力的功能,我個人覺得目前screenlets是雞肋。不過喜歡新奇的人沒事是可以試試,有現成的rpm包好了。裝完screenlets跟指定好Widget,再把Compiz 裡desktop效果中的Widget Layer打開
提到Widget/Compiz這些炫字,就免不了有人會問有沒有像 MacOS X 的dock?有的。之前gnome-dock 的計劃好像死掉,可是有新的Avant Window Navigator(AWN)跟kiba 。我稍微玩了一下AWN ,覺得炫之外並沒有太多提高生產力的功能,就拿掉了。有些人覺得桌面最好像遊樂場一樣的,可以試試kiba。比Mac OS X的還炫。
Gnome 桌面物件
Gnome 桌面包括了下列物件
- 檔案管理員(File Manager) Nautilus 是整合的檔案管理員,並沒有特別在桌面顯示出來,但是桌面跟應用程式打開某位址的預設檔案管理員就是Nautilus
- 面板(Panel):GNOME 桌面中的一個長條區域,可以配置各式面板物件,供各種存取系統/應用程式與功能表。可以滑鼠來使用。面板物件包括了:
- 小型應用程式(Applet) ,互動式的小型應用程式,例如 音量調整,面板中預設會有下列 Applet來顯示對應的系統結構:
功能表
工作區顯示切換
後面會再解釋對應的系統結構
- 動作按鈕,執行特定gnome-desktop動作,如按一下"登出"此按鈕以結束gnome-desktop工作行程。
- 啟動器,可以啟動一般的應用程式、執行指令或開啟檔案
- 功能表(Menu) 列出系統裡能在 GNOME 桌面執行的大部份功能,主功能表的頂層除了包括「應用程式」功能表,可以存取標準應用程式及配置幾乎所有的選項外,頂層同時也包括了gnome-desktop命令的功能列表跟其他功能列表:
「位置」功能列表:存取特定媒體位置上的檔案
「系統」功能列表:存取系統指令功能表。
在桌面上顯示功能表,有別於其他桌面系統,對GNOME 而言,這只是一個面板物件,所以可以把多個功能表顯示Applet加到面板上,但是都是對應到同一個內部功能表系統結構。Mandriva 提供三種風格:Gnome, KDE, Mandriva,功能表的排列顯示會有少許不同
- 抽屜(Drawer)把一些同時要用的程式合在一起,可供一次同時開啟
- 小型應用程式(Applet) ,互動式的小型應用程式,例如 音量調整,面板中預設會有下列 Applet來顯示對應的系統結構:
- 工作區(workspace)
可將 GNOME 桌面分割成個別的工作區。可以指定 GNOME 桌面上工作區的數目,一次只能顯示一個工作區。我們可以指定某程式視窗在某工作區中工作。也可以切換至其他工作區,達成虛擬桌面的功能。可以透過面板物件的工作區顯示切換applet來預覽現在位於的工作區 - 視窗(window) 顯示程式的內容,只有執行程式時才會顯示
- 桌面(Desktop)位於所有其他元件的後方。除了提供顯示視窗外,我們可以將物件拖放到桌
面上,如檔案瀏覽器的url,以供快速存取常用的檔案與目錄,或是某面板物件,以供快速啟動常用的應用程式。 - 控制中心(Control center) 這個設定Gnome 桌面物件,並沒有在桌面特別顯示出來
要設置桌面物件,可以在桌面物件圖示上面按滑鼠右鍵來叫出功能選單。
設定桌面應用程式尺寸
把特定應用程式視窗預設尺寸放大,基本上有兩個方式:在x視窗下設定或GNOME 桌面上設定。
考量到因為gnome-terminal 有可能會被其他文字命令叫用,所以我選擇在GNOME 桌面上的終端機啟動器裡設定。
終端機啟動的視窗放大(100x50)預設尺寸設定屬性command :
gnome-terminal --geometry=100x50+150+10
emacs 反正都是不是從GNOME 桌面面板就是從視窗程式(如krusader)叫用
所以就直接在在x視窗下設定,把這一行加入~/.Xdefaults:
emacs-gtk.geometry: 128x50
為什麼不是emacs.geometry: 128x50 ? 因為我在GNOME 桌面用的是emacs-gtk,emacs-gtk這不是叫用emacs 的script ,而是單獨編譯的程式,所以是針對emacs-gtk指定尺寸
設定位置捷徑
見gnome 桌面上的"位置"如何設定
一些炫目的東西
Gnome 可以跑 Compiz 大部分的人都知道了。此外Gnome 也可以裝 screenlets去摹擬MacOS X上的 Widget或是Windows裡的Gadgets。不過真有這個必要嘛?Widget這樣的概念其實在gnome 裡用 appelet就可以做出來了,以生產力的觀點,screenlets 不會比 appelet 更有效率。我自己Applet 是開的蠻多的,在xorg出的ATI驅動下跑也還好,但可以感覺出跑compiz 比純跑x視窗慢。而且不管是Mac/windows/Linux ,我都聽到不少說法是 Widget把系統效能拖下水,比較compiz 裡視窗縮途預覽提高切換生產力的功能,我個人覺得目前screenlets是雞肋。不過喜歡新奇的人沒事是可以試試,有現成的rpm包好了。裝完screenlets跟指定好Widget,再把Compiz 裡desktop效果中的Widget Layer打開
提到Widget/Compiz這些炫字,就免不了有人會問有沒有像 MacOS X 的dock?有的。之前gnome-dock 的計劃好像死掉,可是有新的Avant Window Navigator(AWN)跟kiba 。我稍微玩了一下AWN ,覺得炫之外並沒有太多提高生產力的功能,就拿掉了。有些人覺得桌面最好像遊樂場一樣的,可以試試kiba。比Mac OS X的還炫。
延伸閱讀
- metacity 桌面管理員預設鍵盤快速鍵用法
- Compiz 3D 桌面的使用設定
- 最新的GnomeDesktop User Guide,不過只有英文版
- 昇陽在2004曾出版了一本GNOME 2.2 Desktop on Linux 使用者指南,也有網頁版:有一點過時了(現在都出到2.20),不過有些基本概念的東西可以參考
- 關於轉移到XDG Menu System,這一篇有一些參考價值: http://wiki.mandriva.com/en/Development/Howto/MenuMigrationToXDG
星期六, 2月 02, 2008
Mandriva 套件管理
建議
發行的CD/DVD 多多少少會缺套件,建議先用DVD 或CD 安裝絕大部分的套件,再按下面順序去找
sophie 連 cooker 的套件也會顯示出來。如 multiget-1.2.0-2mdv2008.1.x86_64.rpm
但好像沒有提供實體的RPM,rpmfind 可以找到實體的RPM跟查詢個別套件的檔案及相依的套件
Mandrake 的控制中心 (Mandrake Control Center,以下簡稱 MCC)裡可以用媒體管理員管理不同媒體來源,有時 Mandriva DVD缺套件,會導致某些軟體不能安裝。要解決這個問題,可以在MCC 加入更多套件來源,比如說PLF (http://plf.zarb.org/~nanardon/)。PLF 全名是 Penguin Liberation Front,它收藏了很多因為種種問題而無法令 Mandrake 無法直接包括在內的軟體,例如各種P2P軟體、freeware (免費但不是開放原碼/或加發佈上的限制,例如不許加入 Linux發行版本出售)、含有有專利的東西 (mp3, 跟許多多媒體編碼都是例子)。
要指定加入套件來源的地址,用指令會比用進入MCC圖形介面更加容易。PLF的網站有一個介面叫 Easy urpmi,可以把你準備加入的站台的程序指令以文字形式顯示出來,只要以 root 身份把它給你的一行行指令用老鼠剪貼到到終端機去執行就可以了。
以 MDV2008 比方來說,通常先把 DVD 或 CD 媒體 的"啟用"取消(MCC 下執行,或終端機下執行urpmi.removemedia -a) 後,用喜歡的瀏覽器 (如mozilla-firefox)開啟 easyurpmi.zarb.org 網址 ,它會問你一些問題,然後會給你要用到的指令
1.在網頁第一個步驟 (Select your system) 中指定使用版本,機種,跟管理機制,比如Mandriva 2008.0 ,x86_64 (表示AMD 的 64 bit,跟Intel 的 64bit, i586 都不一樣),跟 urpmi,及要不要 Select the mirror separately for every source 。然後按 "proceed to step 2"。
2. 指定站台地址: main、contrib 和 update 的 mirror 站台地址。Main 是正式支援的自由軟體套件,有些非自由軟體會放到 non-free下,contrib 是其它人協助包裝但沒有正式支援的,對這三者而言: XXX_update 是發行後更新套件,XXX_backport 是半官方版本更新套件(有相容風險)。有裝 YYY 來源的話,YYY_update 最好也加入。以新增Main媒體為例,就把mirror 站下拉選成喜歡的(如twaren.net ),然後打勾。PLF 這是 PLF 自己的套件的 mirror 站台地址。
最後按 proceed to step 3。
3.以 root 用老鼠剪貼它顯示的指令到到終端機去執行,以新增Main媒體為例,如下:
urpmi.addmedia --update main_updates http://ftp.twaren.net/Linux/Mandrake/official/2008.0/x86_64/media/main/updates with media_info/hdlist.cz
要是 64 bit 環境要混用 i586套件,只要回到步驟一把架構換成 i586,重複加入更多的套件來源即可。這樣就可以在圖形介面 (rpmdrake) 或文字模式介面 (urpmi) 中選取安裝喜歡的軟件了。
裝好後後可以用
即使在文字模式介面下,只要套件來源設好,要是需要安裝相依套件,urpmi也 會警告套件相依,在使用者同意後自行滿足安裝相依,十分方便。
新版在軟體有更新時,在gnome 工具列上也會提醒安裝更新。可以自行參考 /etc/urpmi/urpmi.cfg 的格式修改設定自動更新安裝。往後定期跑 urpmi.update -a 更新所有媒體資訊,文字模式介面下,每天也只要執行
urpmi --auto-select --media updates
就可以很簡單完成重大更新安裝。
不過有時候mirror 站會出問題卡住(其他如Ubuntu 也會),還是不建議完全倚賴用自動更新。
想把其他家的 RPM 套件裝到 Mandriva 上經常可能會遇到相依問題, 特別是出現 "找不到某某 .so 檔" ( shared objects: 動態聯結程式庫,) 之類的錯誤訊息。可能要到sophie/rpmfind 網上搜尋那個套件裡面提供欠缺的 .so程式庫,。 找不到同樣版本的話,有時到 /lib 或 /lib64 下建立 symbolic link 欺騙系統也許能成功。如
ln -s 某某.so.現有版 某某.so.需要版
不過32 位元 跟 64 位元程式庫通常是無法互用的。
此外 alien 可以將 .deb 與 .rpm 檔案互相轉換; 不過可能也會遭遇相依性問題。
- 先用DVD 或CD 安裝絕大部分的套件
- 到 MCC 裡 用媒體管理員把 DVD 或 CD 媒體 的"啟用"取消
- 用 easy urmpi 把媒體加入(參照下文),這樣就可以從http/ftp 站裡抓DVD 上缺的RPM/及作檔案更新
* 有需要時(如網路斷線) 要安裝DVD 上的RPM還是可以把用媒體管理員把網路媒體 的"啟用"取消, 再打開 DVD 或 CD 媒體 的"啟用"
- 有必要時去個別網站下載檔案
個別檔案網路下載
發行的CD/DVD 多多少少會缺套件,建議先用DVD 或CD 安裝絕大部分的套件,再按下面順序去找
- http://easyurpmi.zarb.org/ (Easy urpmi 詳見Easy urpmi一節)
- http://sophie.zarb.org/ 提供了Mandriva 的RPM索引,找不到的話再去
- http://fr2.rpmfind.net/ 找各大發行版本(不限Mandriva)的RPM索引
sophie 連 cooker 的套件也會顯示出來。如 multiget-1.2.0-2mdv2008.1.x86_64.rpm
但好像沒有提供實體的RPM,rpmfind 可以找到實體的RPM跟查詢個別套件的檔案及相依的套件
Easy urpmi: 加入更多套件來源
Mandrake 的控制中心 (Mandrake Control Center,以下簡稱 MCC)裡可以用媒體管理員管理不同媒體來源,有時 Mandriva DVD缺套件,會導致某些軟體不能安裝。要解決這個問題,可以在MCC 加入更多套件來源,比如說PLF (http://plf.zarb.org/~nanardon/)。PLF 全名是 Penguin Liberation Front,它收藏了很多因為種種問題而無法令 Mandrake 無法直接包括在內的軟體,例如各種P2P軟體、freeware (免費但不是開放原碼/或加發佈上的限制,例如不許加入 Linux發行版本出售)、含有有專利的東西 (mp3, 跟許多多媒體編碼都是例子)。
要指定加入套件來源的地址,用指令會比用進入MCC圖形介面更加容易。PLF的網站有一個介面叫 Easy urpmi,可以把你準備加入的站台的程序指令以文字形式顯示出來,只要以 root 身份把它給你的一行行指令用老鼠剪貼到到終端機去執行就可以了。
以 MDV2008 比方來說,通常先把 DVD 或 CD 媒體 的"啟用"取消(MCC 下執行,或終端機下執行urpmi.removemedia -a) 後,用喜歡的瀏覽器 (如mozilla-firefox)開啟 easyurpmi.zarb.org 網址 ,它會問你一些問題,然後會給你要用到的指令
1.在網頁第一個步驟 (Select your system) 中指定使用版本,機種,跟管理機制,比如Mandriva 2008.0 ,x86_64 (表示AMD 的 64 bit,跟Intel 的 64bit, i586 都不一樣),跟 urpmi,及要不要 Select the mirror separately for every source 。然後按 "proceed to step 2"。
2. 指定站台地址: main、contrib 和 update 的 mirror 站台地址。Main 是正式支援的自由軟體套件,有些非自由軟體會放到 non-free下,contrib 是其它人協助包裝但沒有正式支援的,對這三者而言: XXX_update 是發行後更新套件,XXX_backport 是半官方版本更新套件(有相容風險)。有裝 YYY 來源的話,YYY_update 最好也加入。以新增Main媒體為例,就把mirror 站下拉選成喜歡的(如twaren.net ),然後打勾。PLF 這是 PLF 自己的套件的 mirror 站台地址。
最後按 proceed to step 3。
3.以 root 用老鼠剪貼它顯示的指令到到終端機去執行,以新增Main媒體為例,如下:
urpmi.addmedia --update main_updates http://ftp.twaren.net/Linux/Mandrake/official/2008.0/x86_64/media/main/updates with media_info/hdlist.cz
要是 64 bit 環境要混用 i586套件,只要回到步驟一把架構換成 i586,重複加入更多的套件來源即可。這樣就可以在圖形介面 (rpmdrake) 或文字模式介面 (urpmi) 中選取安裝喜歡的軟件了。
使用管理
裝好後後可以用
- urpmq 套件名稱
- urpmi 套件名稱
- urpmf 檔案名稱
- urpme 檔案名稱
查詢是否已安裝某個套件。
-p 查詢還沒安裝套件檔案的資訊
-i 顯示套件的功用資訊
-l 列出包含了那些檔案
-a 列出系統內所有的套件
分頁輸出用rpm -qa | less
來安裝你想要的套件,
可以查詢某個檔案是在那個套件裡面。
移除某個套件
即使在文字模式介面下,只要套件來源設好,要是需要安裝相依套件,urpmi也 會警告套件相依,在使用者同意後自行滿足安裝相依,十分方便。
安裝更新管理
新版在軟體有更新時,在gnome 工具列上也會提醒安裝更新。可以自行參考 /etc/urpmi/urpmi.cfg 的格式修改設定自動更新安裝。往後定期跑 urpmi.update -a 更新所有媒體資訊,文字模式介面下,每天也只要執行
urpmi --auto-select --media updates
就可以很簡單完成重大更新安裝。
不過有時候mirror 站會出問題卡住(其他如Ubuntu 也會),還是不建議完全倚賴用自動更新。
相依(dependency)問題
想把其他家的 RPM 套件裝到 Mandriva 上經常可能會遇到相依問題, 特別是出現 "找不到某某 .so 檔" ( shared objects: 動態聯結程式庫,) 之類的錯誤訊息。可能要到sophie/rpmfind 網上搜尋那個套件裡面提供欠缺的 .so程式庫,。 找不到同樣版本的話,有時到 /lib 或 /lib64 下建立 symbolic link 欺騙系統也許能成功。如
ln -s 某某.so.現有版 某某.so.需要版
不過32 位元 跟 64 位元程式庫通常是無法互用的。
此外 alien 可以將 .deb 與 .rpm 檔案互相轉換; 不過可能也會遭遇相依性問題。
星期日, 1月 13, 2008
在 64bit Mandriva 2008 上跑 skype 1.4
奇怪的是skype 1.4 群組的bug一直沒修,不知道在幹什麼,好在不傷大雅,不過看樣子skype 是擺明了要大家拿1.4充當正式版用。
MDV2008上裝rpm是容易多了。但是64bit還是有些問題,要裝下面套件的i586版
libqtdbus4-4.3.1-12mdv2008.0
libqtgui4-4.3.1-12mdv2008.
libqtnetwork4-4.3.1-12mdv2008.0
libqtcore4-4.3.1-12mdv2008.0
此外程式庫路徑有問題,要加上幾個聯結:
cd /usr/lib/
ln -s /usr/lib/qt4/lib/libQtDBus.so.4
ln -s /usr/lib/qt4/lib/libQtGui.so.4
ln -s /usr/lib/qt4/lib/libQtNetwork.so.4
ln -s /usr/lib/qt4/lib/libQtCore.so.4
這樣就成了
延伸閱讀
skype linux 1.4 終於現身
MDV2008上裝rpm是容易多了。但是64bit還是有些問題,要裝下面套件的i586版
libqtdbus4-4.3.1-12mdv2008.0
libqtgui4-4.3.1-12mdv2008.
libqtnetwork4-4.3.1-12mdv2008.0
libqtcore4-4.3.1-12mdv2008.0
此外程式庫路徑有問題,要加上幾個聯結:
cd /usr/lib/
ln -s /usr/lib/qt4/lib/libQtDBus.so.4
ln -s /usr/lib/qt4/lib/libQtGui.so.4
ln -s /usr/lib/qt4/lib/libQtNetwork.so.4
ln -s /usr/lib/qt4/lib/libQtCore.so.4
這樣就成了
延伸閱讀
skype linux 1.4 終於現身
星期二, 1月 08, 2008
使用AMD Cool-n-Quiet 省電模式
這是筆記電腦跟桌上電腦都能用的:
AMD Athlon(TM) 64/FX Processor Utilities and Updates
有Opteron and Athlon 64 PowerNow! and Cool-n-Quiet Driver Version 1.60.01 Linux,需要 cpufreq-1.20, cpuspeed-1.20.1, or powersaved-0.8.19 或更新版
在Mandriva 上有蠻多程式選擇的,如
cpufreq
cpufreqd
powernowd (mandriva 2008 新版的kernel 不用裝),還有一些其他的cpu-XXX程式,
我是裝了cpufreq,gnome面板的 cpufreq-applet(CPU頻率調整監察程式)就會顯示CPU頻率。
詳細的實際控制在於
sys/devices/system/cpu/cpu0/cpufreq 這個目錄下有很多的變數檔案
affected_cpus
scaling_available_frequencies
scaling_governor
cpuinfo_cur_freq
cpuinfo_max_freq
cpuinfo_min_freq
scaling_available_governors
scaling_cur_freq
scaling_max_freq
scaling_min_freq
scaling_driver
以Althon 64 3000+ 為例,scaling_available_frequencie 有1000000,1800000, 2000000 三種
切到自動模式:
echo ondemand>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
我在桌面開了一堆程式,firefox 也開了好幾個分頁,用了expose'的縮圖預覽還是只跑1000Mhz。
切到效能模式 (對應到2000Mhz):
echo performance>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
切到省電模式(對應到1000Mhz):
echo powersave>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
心臟強的人,還可以去試著降電壓。不過有可能導致系統不穩,我不鼓勵。
AMD Athlon(TM) 64/FX Processor Utilities and Updates
有Opteron and Athlon 64 PowerNow! and Cool-n-Quiet Driver Version 1.60.01 Linux,需要 cpufreq-1.20, cpuspeed-1.20.1, or powersaved-0.8.19 或更新版
在Mandriva 上有蠻多程式選擇的,如
cpufreq
cpufreqd
powernowd (mandriva 2008 新版的kernel 不用裝),還有一些其他的cpu-XXX程式,
我是裝了cpufreq,gnome面板的 cpufreq-applet(CPU頻率調整監察程式)就會顯示CPU頻率。
詳細的實際控制在於
sys/devices/system/cpu/cpu0/cpufreq 這個目錄下有很多的變數檔案
affected_cpus
scaling_available_frequencies
scaling_governor
cpuinfo_cur_freq
cpuinfo_max_freq
cpuinfo_min_freq
scaling_available_governors
scaling_cur_freq
scaling_max_freq
scaling_min_freq
scaling_driver
以Althon 64 3000+ 為例,scaling_available_frequencie 有1000000,1800000, 2000000 三種
切到自動模式:
echo ondemand>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
我在桌面開了一堆程式,firefox 也開了好幾個分頁,用了expose'的縮圖預覽還是只跑1000Mhz。
切到效能模式 (對應到2000Mhz):
echo performance>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
切到省電模式(對應到1000Mhz):
echo powersave>/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
心臟強的人,還可以去試著降電壓。不過有可能導致系統不穩,我不鼓勵。
星期一, 1月 07, 2008
Live CD 的選擇
--中文Gnome桌面使用者角度評論
Lice CD 是劃時代的一大巨獻,對沒用過Linux的人,可以先試試用Live CD跑Linux ,真得有信心全面投奔自由了,再format 硬碟裝雙作業系統也都不遲。反正都免費的。
Live CD 最有名的是knoppix, knoppix之外的選擇也很多,其實最好是自己動手作。yochenhsieh的 How to Make Your Mandrake Live-CD with mklivecd有很詳細的中文說明。另外推薦一試的是PUD GNU/LINUX小巧,可以裝載小容量的USB碟上,而且容易改裝
可是 live CD 不是萬能的,開機指定適當的參數有時還是需要的,見Mandriva 2007 apic 的問題。因為每個機器/工作的需求不一,LiveCD我覺得好用就都收,(不像desktop, 不方便裝太多distro ),我自己是ubuntu, b2d, pclinuxOS, Mandriva one, 還有yochenhsieh(guest) 他自己從mandriva 改的liveCD,都有在用。Uleto (Mandriva 創始人離職後的新作)新版還沒放出來,還沒機會去看。我的中文Lice CD經驗: B2D KGB 除了一些小毛病外,不然還蠻好用的。
現成的live CD中,我最喜歡的是Texstar的PCLinuxOS。支援Nvidia 及ATI GPU硬體偵測不錯噢!支援 gigabit Ethernet,而且現在也有gnome 桌面 ,用Synaptic來管理RPM套件,可惜沒中文。PCLinuxOS前身從Mandrake 出發,我一直很激賞他們的liveCD,我對MDV 這一兩年發展不是很滿意,也許跟前老闆出走有關,領導人物其實不管是哪個領域都蠻重要的。功能相對下還是distro裡屬一屬二,但易用性相對降低,也許是系統越來越複雜。而PCLinuxOS的活力很像以前的Mandriva 。我之前有一年在教學生用ubuntu livecd。但我的結論是:Ubuntu不適合給一下子要學很多東西的新手。假如有一天我會不爽mdv ,第一個distro 我會試PCLinuxOS。不過我認識人裡沒有像我一套系統如此複雜的: 32bit/64bit CPU, 雙螢幕,多mouse ,雙soundcard + 多midi keyboard/device , usb storage +network with Zaurus, 1394(接DV camcorder), TV card + USC webcam, SCSI CDRW+scanner, bluetooth,PCMCIA,恐怕還有疏漏的。我十分依賴Linux 能同時處理好桌面功能跟伺服器的自由,一時之間還不太找得到MDV以外的替代品。不過liveCD 就沒的挑,多少都會缺功能。
根據yochenhsieh的說法:
2005/9/20 我曾在freesf.tw 提到中文 Ubuntu@TW LiveCD 0.01 Pre-alpha發佈!
這是以 gnoppix 1.0 為本 (gnome 2.10)內建 gcin 中文輸入。詳見http://www.ubuntu.org.tw/modules/news/article.php?storyid=14
相關討論串在
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=191&forum=20
之前測試結果有一些在之前香港版的gnoppix liveCD 上機器相容的問題並沒再度出現,不過這個中文版ubuntu 好像停了?
GNU step 0.9.42 livecd選單有中文,不確定是否是正體中文
謠指部留言:
以前據說用CDRW燒錄KNOPPIX要選4x-10x, 80min/700mb的規格。買來得先用「完全抹除光碟」。不能用「快速抹除」。然後才把knoppix的ISO用映像檔10倍速寫入的方式寫進去。這樣所有的光碟機才會開機。如果不小心沒有用「完全抹除光碟」先抹除光碟就灌入knoppix,光碟機會無法開機,這時候就就要把這片光碟用兩次「完全抹除光碟」。然後映像檔寫入的速度要降到4倍速。
Lice CD 是劃時代的一大巨獻,對沒用過Linux的人,可以先試試用Live CD跑Linux ,真得有信心全面投奔自由了,再format 硬碟裝雙作業系統也都不遲。反正都免費的。
Live CD 最有名的是knoppix, knoppix之外的選擇也很多,其實最好是自己動手作。yochenhsieh的 How to Make Your Mandrake Live-CD with mklivecd有很詳細的中文說明。另外推薦一試的是PUD GNU/LINUX小巧,可以裝載小容量的USB碟上,而且容易改裝
可是 live CD 不是萬能的,開機指定適當的參數有時還是需要的,見Mandriva 2007 apic 的問題。因為每個機器/工作的需求不一,LiveCD我覺得好用就都收,(不像desktop, 不方便裝太多distro ),我自己是ubuntu, b2d, pclinuxOS, Mandriva one, 還有yochenhsieh(guest) 他自己從mandriva 改的liveCD,都有在用。Uleto (Mandriva 創始人離職後的新作)新版還沒放出來,還沒機會去看。我的中文Lice CD經驗: B2D KGB 除了一些小毛病外,不然還蠻好用的。
現成的live CD中,我最喜歡的是Texstar的PCLinuxOS。支援Nvidia 及ATI GPU硬體偵測不錯噢!支援 gigabit Ethernet,而且現在也有gnome 桌面 ,用Synaptic來管理RPM套件,可惜沒中文。PCLinuxOS前身從Mandrake 出發,我一直很激賞他們的liveCD,我對MDV 這一兩年發展不是很滿意,也許跟前老闆出走有關,領導人物其實不管是哪個領域都蠻重要的。功能相對下還是distro裡屬一屬二,但易用性相對降低,也許是系統越來越複雜。而PCLinuxOS的活力很像以前的Mandriva 。我之前有一年在教學生用ubuntu livecd。但我的結論是:Ubuntu不適合給一下子要學很多東西的新手。假如有一天我會不爽mdv ,第一個distro 我會試PCLinuxOS。不過我認識人裡沒有像我一套系統如此複雜的: 32bit/64bit CPU, 雙螢幕,多mouse ,雙soundcard + 多midi keyboard/device , usb storage +network with Zaurus, 1394(接DV camcorder), TV card + USC webcam, SCSI CDRW+scanner, bluetooth,PCMCIA,恐怕還有疏漏的。我十分依賴Linux 能同時處理好桌面功能跟伺服器的自由,一時之間還不太找得到MDV以外的替代品。不過liveCD 就沒的挑,多少都會缺功能。
根據yochenhsieh的說法:
PCLinuxOS和Knoppix/Debian-based Live-CD不一樣
它是先安裝好Mandrake, 再使用mklivecd[1]製作的
硬體偵測的部份是使用perl script搭配HardDrake
PCLinuxOS是由Texstar從Mandrake9.2分支出來,再加上他自己打包的套件
我有試過將其安裝到硬碟[2]後再中文化
只要安裝Mandrake9.2的locales-zh, db2, libtabe, libtabe0, xcin,
fonts-ttf-big5, 以及KDE的中文語系即可
但我認為還不如自己安裝好中文的Mandrake後再用mklivecd製作[3]
因為PCLinuxOS移除了urpmi, 而使用apt4rpm管理套件
要符合相依性只能使用Texstar's repository, 偏偏這些套件庫全都在國外
相對之下Mandrake在國內已有Mirror, 客製化相當容易
[1]http://livecd.berlios.de/
[2]使用livecd-install, 和mklivecd屬於同一個計畫
[3]我寫的說明http://moe.tnc.edu.tw/~hsiehyc/mklivecd.txt
(感謝Knoppix中文交流網站長ols3提供空間)
2005/9/20 我曾在freesf.tw 提到中文 Ubuntu@TW LiveCD 0.01 Pre-alpha發佈!
這是以 gnoppix 1.0 為本 (gnome 2.10)內建 gcin 中文輸入。詳見http://www.ubuntu.org.tw/modules/news/article.php?storyid=14
相關討論串在
http://www.ubuntu.org.tw/modules/newbb/viewtopic.php?viewmode=flat&topic_id=191&forum=20
之前測試結果有一些在之前香港版的gnoppix liveCD 上機器相容的問題並沒再度出現,不過這個中文版ubuntu 好像停了?
GNU step 0.9.42 livecd選單有中文,不確定是否是正體中文
謠指部留言:
以前據說用CDRW燒錄KNOPPIX要選4x-10x, 80min/700mb的規格。買來得先用「完全抹除光碟」。不能用「快速抹除」。然後才把knoppix的ISO用映像檔10倍速寫入的方式寫進去。這樣所有的光碟機才會開機。如果不小心沒有用「完全抹除光碟」先抹除光碟就灌入knoppix,光碟機會無法開機,這時候就就要把這片光碟用兩次「完全抹除光碟」。然後映像檔寫入的速度要降到4倍速。
星期一, 12月 31, 2007
管理grub 開機啟動程式
grub 是近代Linux 最常見的開機啟動程式,可以作多重開機,如一個windows加
兩個不同版本的Linux (兩個不同版本Linu可以共用 /home 跟 /usr/local) 。
重裝系統要是動到MBR的話,只要用liveCD 開機再把grub 重新寫到MBR 就可以了。
以Mandriva Linux為例,有裝winodws 2000 跟以後的winodws 系列都是在
/boot/grub/menu.lst 多加這一項就可以選擇由windows 開機:
title windows
root (hd0,0)
makeactive
chainloader +1
要注意的是64 bit 的系統雖然可以混用 32 bit軟體,但是grub核心要是裝的是64bit 的,就只得用64 bit 的LiveCD 來進行更新grub。目前我所知道的64 bit LiveCD 只有Mandriva one 2007 spring,可以在這裡找到:
ftp://mdk.linux.org.tw/pub/mandrake-linux/official/iso/2007.1/
重新寫入grub到MBR 按下面步驟操作:
先用LiveCD 開機,假如liveCD 沒有把系統磁碟 mount 起來,就要自己手動掛
載。沒有登入超級使用者的話記得要 su 。
然後用 chroot /mnt/系統根目錄掛載點
的方式來變更系統根目錄,假設系統根目錄/dev/hda2 掛載在 /mnt/hda2,那就先下達
chroot /mnt/hda2
再下達
grub
就會看到系統提示從 # 變成 grub>
然後
grub> root (hd0,1)
這個是指定系統根目錄位置,因為起點是從0 算起,所以數字會是比 /dev/hdx
的 x 小一
grub> setup (hd0)
這個把grub 寫上去 hd0 的MBR
最後在grub> 下達
quit
重開機後就大功告成了
近年來Mandriva 又替 grub 加上gfxmenu 的漂亮外觀。用法是在 /boot/grub/menu.lst 前面跟 timeout 那些參數並列。如
gfxmenu (hd0,2)/boot/gfxmenu
要是搬移系統根目錄到不同分割區時,要記得一並更動這裡的參數值
兩個不同版本的Linux (兩個不同版本Linu可以共用 /home 跟 /usr/local) 。
重裝系統要是動到MBR的話,只要用liveCD 開機再把grub 重新寫到MBR 就可以了。
以Mandriva Linux為例,有裝winodws 2000 跟以後的winodws 系列都是在
/boot/grub/menu.lst 多加這一項就可以選擇由windows 開機:
title windows
root (hd0,0)
makeactive
chainloader +1
要注意的是64 bit 的系統雖然可以混用 32 bit軟體,但是grub核心要是裝的是64bit 的,就只得用64 bit 的LiveCD 來進行更新grub。目前我所知道的64 bit LiveCD 只有Mandriva one 2007 spring,可以在這裡找到:
ftp://mdk.linux.org.tw/pub/mandrake-linux/official/iso/2007.1/
重新寫入grub到MBR 按下面步驟操作:
先用LiveCD 開機,假如liveCD 沒有把系統磁碟 mount 起來,就要自己手動掛
載。沒有登入超級使用者的話記得要 su 。
然後用 chroot /mnt/系統根目錄掛載點
的方式來變更系統根目錄,假設系統根目錄/dev/hda2 掛載在 /mnt/hda2,那就先下達
chroot /mnt/hda2
再下達
grub
就會看到系統提示從 # 變成 grub>
然後
grub> root (hd0,1)
這個是指定系統根目錄位置,因為起點是從0 算起,所以數字會是比 /dev/hdx
的 x 小一
grub> setup (hd0)
這個把grub 寫上去 hd0 的MBR
最後在grub> 下達
quit
重開機後就大功告成了
近年來Mandriva 又替 grub 加上gfxmenu 的漂亮外觀。用法是在 /boot/grub/menu.lst 前面跟 timeout 那些參數並列。如
gfxmenu (hd0,2)/boot/gfxmenu
要是搬移系統根目錄到不同分割區時,要記得一並更動這裡的參數值
星期六, 12月 29, 2007
用 convmv 來轉檔名編碼
在某些情況下,Mandriva 安裝系統時會在家目錄下產生這些子目錄:
文件/
音樂/
桌面/
嚙賞面/
下載/
影片/
圖片/
看起來不錯,但是要是一開始地區設定成台灣但沒有把utf8的編碼選項打開的話,這些檔名會用big5 編碼產生,之後localedrak換成 utf8環境時,系統不會自去轉這些檔名編碼。
要將big5 碼檔案的檔名轉為 utf-8 碼這個問題可用 convmv 來解決,convmv 可對檔案名或目錄名進行轉碼。在 MDV 2008 中有收錄convmv 的RPM,安裝後就可執行 convmv
convmv --help 會顯示使用的方法及參數。比如 -f 及 -t 參數,代表了 from 及 to (來源/目的編碼)的意思。想要知道convmv支援那些編碼呢,可輸入:
convnv --list
就會顯示支援的編碼了,一般我們用的是 big5-eten 及 utf8 這兩個格式。
要顯示轉換一個檔名的編碼(如 big5 轉 utf8)的測試結果可用:
convmv -f big5-eten -t utf8 我的檔案名稱
要真的進行轉換的話,需加上 --notest 這個參數。如:
convmv -f big5-eten -t utf8 --notest 我的檔案名稱
要更改多於一個檔名的編碼話,最好將想轉換的檔案先備份到一個目錄下再轉換,然後執行如
convmv -f big5-eten -t utf8 --notest 我的工作目錄名稱/*
有多層目錄的話,可附加遞迴參數 -r 。
有時 convmv 在轉碼時可能會誤認認為已轉過碼,而不進行轉碼工作,像這個
嚙賞面/ 我就轉不出來。這時可試試加上 --nosmart 這個參數來強制轉換,如:
convmv -f big5-eten -t utf8 --notest --nosmart 我的檔案名稱
延伸閱讀
gnome 桌面上的"位置"如何設定
文件/
音樂/
桌面/
嚙賞面/
下載/
影片/
圖片/
看起來不錯,但是要是一開始地區設定成台灣但沒有把utf8的編碼選項打開的話,這些檔名會用big5 編碼產生,之後localedrak換成 utf8環境時,系統不會自去轉這些檔名編碼。
要將big5 碼檔案的檔名轉為 utf-8 碼這個問題可用 convmv 來解決,convmv 可對檔案名或目錄名進行轉碼。在 MDV 2008 中有收錄convmv 的RPM,安裝後就可執行 convmv
convmv --help 會顯示使用的方法及參數。比如 -f 及 -t 參數,代表了 from 及 to (來源/目的編碼)的意思。想要知道convmv支援那些編碼呢,可輸入:
convnv --list
就會顯示支援的編碼了,一般我們用的是 big5-eten 及 utf8 這兩個格式。
要顯示轉換一個檔名的編碼(如 big5 轉 utf8)的測試結果可用:
convmv -f big5-eten -t utf8 我的檔案名稱
要真的進行轉換的話,需加上 --notest 這個參數。如:
convmv -f big5-eten -t utf8 --notest 我的檔案名稱
要更改多於一個檔名的編碼話,最好將想轉換的檔案先備份到一個目錄下再轉換,然後執行如
convmv -f big5-eten -t utf8 --notest 我的工作目錄名稱/*
有多層目錄的話,可附加遞迴參數 -r 。
有時 convmv 在轉碼時可能會誤認認為已轉過碼,而不進行轉碼工作,像這個
嚙賞面/ 我就轉不出來。這時可試試加上 --nosmart 這個參數來強制轉換,如:
convmv -f big5-eten -t utf8 --notest --nosmart 我的檔案名稱
延伸閱讀
gnome 桌面上的"位置"如何設定
星期一, 12月 03, 2007
streamtuner: 收聽網路電臺媒體的好工具
我覺得Smooth Jazz是長時間工作聽音樂很好的選擇,音樂串流索引SHOUTcast上很多Smooth Jazz電臺bitrate都有128 bit 。其實跟聽自己電腦上的MP3 是沒有差別的。我喜歡用streamtuner 來收聽網路電臺音樂。其實streamtuner只是個音樂串流的索引閱覽器,但是支援在國外流行的SHOUTcast 音樂串流索引,絕大部分的音樂類型像Jazz 古典,鄉村....都有眾多的電臺選擇。
streamtuner預設使用的音樂媒體播放器是xmms ,實在是老舊了一點。不過只拿來聽電臺音樂其實也還好。這兩者在Mandriva Linux 上都有現成的RPM ,安裝很容易。我曾試過用xmms 的新生代如Adacious來搭配streamtuner ,沒有成功。好像不太好搞。萬一xmms因故當掉的話,後面可能就跑不出來,這時後到家目錄下把 .xmms/xmms.m3u 這個檔殺掉通常就行了,xmms自己會重建。
以前還想辦法去給媒體播放器編網路電臺清單,現在乾脆就倚賴用streamtuner。反正電臺這麼多,聽不喜歡隨手就切換到下一個電臺。而且不用擔心網路電臺清單會失效,streamtuner會去抓最新的清單。音樂串流索引除了SHOUTcast 外,也可以支援Xiph。life365目前還沒試出來。不過除了收聽網路電臺,streamtuner也支援播放本地電腦上的媒體檔案。也支援電臺書籤。
beep-media-player-2其實也支援 SHOUTcast 電臺索引,不過我覺得沒有比streamtuner+ xmms 整合來的好,此外Rex 之前也替streamtuner做了streamtuner hinet電台外掛,不過我沒時間特別聽臺灣的電台,就不知道現在的情況。不過streamtuner不用外掛就可以聽台灣鄉愁網路電台,比起那些替執政者作爪牙造謠生事的電台,這個電台算是很棒的。一不小心聽到包美聖
唱的"那一盆火"時後面李建復合音的聲音,一時還頗有白頭宮女話當年的感慨。
順帶提一下,我配合xmms 用的佈景主題是aqua_x ,並非我是蘋果迷,而是用這種清爽的佈景主題在高解析度螢幕看起來會比較不吃力。推薦一下。
延伸閱讀
在Houston聽廣播電台
streamtuner預設使用的音樂媒體播放器是xmms ,實在是老舊了一點。不過只拿來聽電臺音樂其實也還好。這兩者在Mandriva Linux 上都有現成的RPM ,安裝很容易。我曾試過用xmms 的新生代如Adacious來搭配streamtuner ,沒有成功。好像不太好搞。萬一xmms因故當掉的話,後面可能就跑不出來,這時後到家目錄下把 .xmms/xmms.m3u 這個檔殺掉通常就行了,xmms自己會重建。
以前還想辦法去給媒體播放器編網路電臺清單,現在乾脆就倚賴用streamtuner。反正電臺這麼多,聽不喜歡隨手就切換到下一個電臺。而且不用擔心網路電臺清單會失效,streamtuner會去抓最新的清單。音樂串流索引除了SHOUTcast 外,也可以支援Xiph。life365目前還沒試出來。不過除了收聽網路電臺,streamtuner也支援播放本地電腦上的媒體檔案。也支援電臺書籤。
beep-media-player-2其實也支援 SHOUTcast 電臺索引,不過我覺得沒有比streamtuner+ xmms 整合來的好,此外Rex 之前也替streamtuner做了streamtuner hinet電台外掛,不過我沒時間特別聽臺灣的電台,就不知道現在的情況。不過streamtuner不用外掛就可以聽台灣鄉愁網路電台,比起那些替執政者作爪牙造謠生事的電台,這個電台算是很棒的。一不小心聽到包美聖
唱的"那一盆火"時後面李建復合音的聲音,一時還頗有白頭宮女話當年的感慨。
順帶提一下,我配合xmms 用的佈景主題是aqua_x ,並非我是蘋果迷,而是用這種清爽的佈景主題在高解析度螢幕看起來會比較不吃力。推薦一下。
延伸閱讀
在Houston聽廣播電台
星期日, 12月 02, 2007
vnc 使用設定
vnc 可以設定在客戶端跟伺服器端用不同的解析度。比如在Linux伺服器端
/etc/sysconfig/vncservers
下設定
VNCSERVERS="display:username:-geometry:X解析度xY解析度"
比如說
VNCSERVERS="1:南線專案:-geometry:1152x864"
這裡X解析度xY解析度跟伺服器端實質的解析度無關。
我曾在1280x1024上的客戶端螢幕試過了像1152x884這樣的非一般性解析度。不成。
要注意的是VNC 的密碼保護跟所謂的"南線專案"的機密保護都只是個騙外行人的笑話,只對知識程度不高的人有用,別太當真。要真正保護安全,NX 是比較好的選擇。
/etc/sysconfig/vncservers
下設定
VNCSERVERS="display:username:-geometry:X解析度xY解析度"
比如說
VNCSERVERS="1:南線專案:-geometry:1152x864"
這裡X解析度xY解析度跟伺服器端實質的解析度無關。
我曾在1280x1024上的客戶端螢幕試過了像1152x884這樣的非一般性解析度。不成。
要注意的是VNC 的密碼保護跟所謂的"南線專案"的機密保護都只是個騙外行人的笑話,只對知識程度不高的人有用,別太當真。要真正保護安全,NX 是比較好的選擇。
星期日, 11月 18, 2007
uft8 中文Linux 環境用 emacs處理Big5文件
emacs新版(22/23) 已經把utf8加入了。而且也有了gtk 支援,下面的技巧還是適用
假設是用了支援mule的新版emacs (non-mule xemacs 出不來)
在終端機下這樣執行:
#LC_LANG=utf8.tw_Big5 emacs
但 gnome 桌面上的icon不能這樣直接執行 . 變通方式是在
/usrl/local/bin 下做個script 姑稱之 emacs-21.4-BigInUtf8env
內容正如上所示
然後讓 gnome 桌面上的icon執行
/usr/local/bin/emacs-21.4-BigInUtf8env
(註: 原發表於CLE: 星期二 一月 10, 2006 1:11 pm
http://cle.linux.org.tw/forum/viewtopic.php?t=739)
假設是用了支援mule的新版emacs (non-mule xemacs 出不來)
在終端機下這樣執行:
#LC_LANG=utf8.tw_Big5 emacs
但 gnome 桌面上的icon不能這樣直接執行 . 變通方式是在
/usrl/local/bin 下做個script 姑稱之 emacs-21.4-BigInUtf8env
內容正如上所示
然後讓 gnome 桌面上的icon執行
/usr/local/bin/emacs-21.4-BigInUtf8env
(註: 原發表於CLE: 星期二 一月 10, 2006 1:11 pm
http://cle.linux.org.tw/forum/viewtopic.php?t=739)
星期六, 11月 10, 2007
Emacs / X window 鍵盤滑鼠定義
要充分發揮Emacs 各個元件的功能,善用控制鍵/滑鼠是不可或缺的一環。
當常常用emacs 寫作開發程式做某特定動作,就要按一大串鍵會減低效率。有一個解決的方式是去 ~/.emacs 下自行定義全域鍵盤控制鍵/滑鼠定義。不過要作到自行定義,要先瞭解整個環境是如何定義鍵盤的:
控制字首可以放在"任何"一般字元前,甚至滑鼠動作前,其中可以用下面簡寫
M- (meta)
C- 或 ^(control )
S- (shift)
A-(alt)
H- (hyper)
s- (super)
字首順序是可變換的 (M-C-x 跟 C-M-x 是一樣的意思)
可以用多次如 3*<right>跟<right><right><right>是一樣的意思
function 鍵字首可以寫到角括號裡, C-<down> 跟 <C-down> 是一樣的意思
在我的鍵盤(PC105鍵盤)上
Alt鍵定義成 meta鍵
左視窗鍵定義成 super 鍵
右視窗鍵定義成兩層定義,第二層定義為Multi 鍵(一般所謂的 compose)
選單鍵定義成 Meta-X
其實還有Scroll Lock跟 Caps Lock 跟 SysRq。除了opera, 跟 virtual console ,...外 Scroll lock 跟 SysRq幾乎是沒用的廢物,雖不便澈底改變定義,不過也許卻適合在emacs挪用成其他定義。
要是要去X 視窗改定義的話是在/etc/X11/xorg.conf 下改動
Section "InputDevice"
Identifier "Keyboard1"
Driver "Kbd"
Option "XkbModel" "pc105"
Option "XkbOptions" "compose:rwin"
EndSection
設定是在選項
Option "XkbOptions" "新動作定義:原鍵盤設定"
如Option "XkbOptions" "ctrl:nocaps"
很多人把capsLock 當成 Ctrl,我覺得很浪費,因為可以拿來當別的鍵用
假如想要看當前鍵盤原始定義檔,執行
xkbcomp $DISPLAY
就會產生以 server-0_ 開頭的檔案如
server-0_0.xkb
滑鼠左鍵:選擇
滑鼠中鍵:貼
滑鼠右鍵:標示區間
Shift 滑鼠左鍵: 跳出 Font 選單(相當於Emacs 主選單->Options->Set Font/Fontset)
Shift 滑鼠中鍵: 呼叫 dird ,在檔名字串上按Shift 滑鼠中鍵可開啟這個檔
Shift 滑鼠右鍵: 沒有定義(這應該可以拿來自行定義常用的動作)
Ctl 滑鼠左鍵:跳出緩衝區選單供切換
Ctl 滑鼠中鍵:跳出文字顯示選單供更動顯示選項(相當於Emacs 主選單->Edit->Text Properties)
Ctl 滑鼠右鍵:應不同的緩衝區模式會有不同的回應。
在%cscope%緩衝區下執行會跳出cscope顯示選單供更動顯示選項(在HTML 或 C,... mode 就會跳出相對於Emacs 主選單->HTML/SGML/C模式的選單)
Alt 滑鼠鍵: 視窗管理(跟emacs無關)
Alt 滑鼠左鍵:拉動視窗
Alt 滑鼠中鍵:調整視窗長寬度,這在剛用C-x 5 2 啟動某視窗可是預設的長寬太小時很有用。要是嫌ecb 左邊frame 寬度佔去的比例太大,可以在緩衝區回應視窗裡去拉動分隔線調整比例。
Alt 滑鼠右鍵:視窗動作管理目錄(也包含前二者)
全域鍵盤定義,有幾種不同寫法。在
XEmacs 與 Emacs傳統上 (version 19)用
(define-key global-map [(control f9)] 'cscope-find-global-definition)
(define-key global-map [(ctrl f9)] 'cscope-find-global-definition)
(define-key global-map [(meta f7)] 'cscope-find-global-definition-no-prompting)
XEmacs 與 Emacs兩者較新版(version >20)寫法
(define-key global-map (kbd "C-") 'forward-word)
Emacs 獨有的寫法
(define-key global-map [C-right] 'forward-word)
不過要小心自行定義不要跟別的套件定義打架。比如說
C-F3到C-F6,C-F8,F3到F8跟F11已被Xref定義過了。F1, F2, F10 被Eamcs 定義過了
有幾個X 視窗相關的鍵盤定義也要注意,如
X-windows
Ctl-Alt-F1 到F12
Metacity (無論有 Compiz 與否)
Alt-Tab, Alt-SPACE, Alt-F1,Alt-F2,Alt-F4,Alt-F5,Alt-F7到 Alt-F10,
Ctl-Alt-Tab, Ctl-Alt-d, Ctl-Alt+L, Ctl-Alt-加上左右上下鍵,
Ctl-Alt-SHIFT-加上左右上下鍵, PRINT, Alt-PRINT
Alt-ESC, Ctl-Alt-ESC (但在Emacs 被重新定義了)
Compiz 3D
Ctrl + Alt + 左鼠左鍵在桌面上拖曳, Super + 老鼠右鍵 , super + 老鼠
滾輪向上滑, Super + 老鼠滾輪向下滑, Ctrl+Alt+向下鍵按著不放,Ctrl+Alt按著不放+左右方向鍵
功能鍵剩下
F9,F12
shift-F1, shift-F5, shift-F7,
C-F1,C-F2,C-F7,C-F9到C-F12
M-F3, M-F6, M-F11, M-F12
super F1到F12
metacity 桌面管理員預設鍵盤快速鍵用法
Compiz 3D 桌面的使用設定
CapsKey
Emacs key binding help page
An Unreliable Guide to XKB Configuration
當常常用emacs 寫作開發程式做某特定動作,就要按一大串鍵會減低效率。有一個解決的方式是去 ~/.emacs 下自行定義全域鍵盤控制鍵/滑鼠定義。不過要作到自行定義,要先瞭解整個環境是如何定義鍵盤的:
Emacs 控制字首定義
控制字首可以放在"任何"一般字元前,甚至滑鼠動作前,其中可以用下面簡寫
M- (meta)
C- 或 ^(control )
S- (shift)
A-(alt)
H- (hyper)
s- (super)
字首順序是可變換的 (M-C-x 跟 C-M-x 是一樣的意思)
可以用多次如 3*<right>跟<right><right><right>是一樣的意思
function 鍵字首可以寫到角括號裡, C-<down> 跟 <C-down> 是一樣的意思
X 視窗鍵盤定義
在我的鍵盤(PC105鍵盤)上
Alt鍵定義成 meta鍵
左視窗鍵定義成 super 鍵
右視窗鍵定義成兩層定義,第二層定義為Multi 鍵(一般所謂的 compose)
選單鍵定義成 Meta-X
其實還有Scroll Lock跟 Caps Lock 跟 SysRq。除了opera, 跟 virtual console ,...外 Scroll lock 跟 SysRq幾乎是沒用的廢物,雖不便澈底改變定義,不過也許卻適合在emacs挪用成其他定義。
要是要去X 視窗改定義的話是在/etc/X11/xorg.conf 下改動
Section "InputDevice"
Identifier "Keyboard1"
Driver "Kbd"
Option "XkbModel" "pc105"
Option "XkbOptions" "compose:rwin"
EndSection
設定是在選項
Option "XkbOptions" "新動作定義:原鍵盤設定"
如Option "XkbOptions" "ctrl:nocaps"
很多人把capsLock 當成 Ctrl,我覺得很浪費,因為可以拿來當別的鍵用
假如想要看當前鍵盤原始定義檔,執行
xkbcomp $DISPLAY
就會產生以 server-0_ 開頭的檔案如
server-0_0.xkb
Emacs 滑鼠鍵定義
滑鼠左鍵:選擇
滑鼠中鍵:貼
滑鼠右鍵:標示區間
Shift 滑鼠左鍵: 跳出 Font 選單(相當於Emacs 主選單->Options->Set Font/Fontset)
Shift 滑鼠中鍵: 呼叫 dird ,在檔名字串上按Shift 滑鼠中鍵可開啟這個檔
Shift 滑鼠右鍵: 沒有定義(這應該可以拿來自行定義常用的動作)
Ctl 滑鼠左鍵:跳出緩衝區選單供切換
Ctl 滑鼠中鍵:跳出文字顯示選單供更動顯示選項(相當於Emacs 主選單->Edit->Text Properties)
Ctl 滑鼠右鍵:應不同的緩衝區模式會有不同的回應。
在%cscope%緩衝區下執行會跳出cscope顯示選單供更動顯示選項(在HTML 或 C,... mode 就會跳出相對於Emacs 主選單->HTML/SGML/C模式的選單)
Alt 滑鼠鍵: 視窗管理(跟emacs無關)
Alt 滑鼠左鍵:拉動視窗
Alt 滑鼠中鍵:調整視窗長寬度,這在剛用C-x 5 2 啟動某視窗可是預設的長寬太小時很有用。要是嫌ecb 左邊frame 寬度佔去的比例太大,可以在緩衝區回應視窗裡去拉動分隔線調整比例。
Alt 滑鼠右鍵:視窗動作管理目錄(也包含前二者)
自行定義Emacs 全域鍵盤定義
全域鍵盤定義,有幾種不同寫法。在
XEmacs 與 Emacs傳統上 (version 19)用
(define-key global-map [(control f9)] 'cscope-find-global-definition)
(define-key global-map [(ctrl f9)] 'cscope-find-global-definition)
(define-key global-map [(meta f7)] 'cscope-find-global-definition-no-prompting)
XEmacs 與 Emacs兩者較新版(version >20)寫法
(define-key global-map (kbd "C-
Emacs 獨有的寫法
(define-key global-map [C-right] 'forward-word)
不過要小心自行定義不要跟別的套件定義打架。比如說
C-F3到C-F6,C-F8,F3到F8跟F11已被Xref定義過了。F1, F2, F10 被Eamcs 定義過了
有幾個X 視窗相關的鍵盤定義也要注意,如
X-windows
Ctl-Alt-F1 到F12
Metacity (無論有 Compiz 與否)
Alt-Tab, Alt-SPACE, Alt-F1,Alt-F2,Alt-F4,Alt-F5,Alt-F7到 Alt-F10,
Ctl-Alt-Tab, Ctl-Alt-d, Ctl-Alt+L, Ctl-Alt-加上左右上下鍵,
Ctl-Alt-SHIFT-加上左右上下鍵, PRINT, Alt-PRINT
Alt-ESC, Ctl-Alt-ESC (但在Emacs 被重新定義了)
Compiz 3D
Ctrl + Alt + 左鼠左鍵在桌面上拖曳, Super + 老鼠右鍵 , super + 老鼠
滾輪向上滑, Super + 老鼠滾輪向下滑, Ctrl+Alt+向下鍵按著不放,Ctrl+Alt按著不放+左右方向鍵
功能鍵剩下
F9,F12
shift-F1, shift-F5, shift-F7,
C-F1,C-F2,C-F7,C-F9到C-F12
M-F3, M-F6, M-F11, M-F12
super F1到F12
延伸閱讀
metacity 桌面管理員預設鍵盤快速鍵用法
Compiz 3D 桌面的使用設定
CapsKey
Emacs key binding help page
An Unreliable Guide to XKB Configuration
星期四, 10月 25, 2007
gnome 桌面上的"位置"如何設定
gnome 桌面上的"位置"如何設定
1.0 版 十月 25, 2007
2.0 版 Mar 17, 2008
Mandriva 最早是追隨 debian 的menu架構,後來逐漸轉移到XDG Menu System標準。2008有個工具在處理這些。不過我還沒找到在Mandriva 2007.1 上是如何處理這些。當時每次開gnome-terminal 都跑到~/Desktop 下。有點煩。反正現在升級了就不用管了。
~/.mdk-folders
下面有幾個聯結
documents
download
music
pictures
video
就是相對應
"文件"
"下載"
"音樂"
"圖片"
"影像"
的位置
還有相對應的翻譯檔
documents-mdk.desktop
download-mdk.desktop
music-mdk.desktop
pictures-mdk.desktop
video-mdk.desktop
比如說我不喜歡桌面上的"下載"位置是指到 ~/Download/
想搬到 ~/Documents/Download/
我就執行
代碼:
rm ~/.mdk-folders/download
ln -s ~/Documents/Download ~/.mdk-folders/download
然後用utf8的編輯器如gedit 修改 ~/.mdk-folders/download-mdk.desktop裡的
代碼:
URL=file:///root/Download
改成
代碼:
URL=file:///root/Documents/Download
然後重新登入
(註: 用2007.1 當時,只登出/登入 gnome 我的雙螢幕左半桌面會怪怪的 系統重新啟動後就沒事)
MDV2008 現在不用 ~/.mdk-folders了,新版遵從XDG 的式樣。如使用者名稱是加菲貓,那在
/home/加菲貓/.config
下面有 user-dirs
跟
user-dirs locale
為保險起見,我用能判別編碼的編輯器來編輯
user-dirs locale 指定了locale 是
zh_TW
在~/.config/下的user-dirs.dirs檔裡面有幾個聯結,指定了桌面預設檔案夾名稱
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下載"
XDG_DOCUMENTS_DIR="$HOME/文件"
XDG_MUSIC_DIR="$HOME/音樂"
XDG_PICTURES_DIR="$HOME/圖片"
XDG_VIDEOS_DIR="$HOME/影片"
就是桌面位址相對應的
"桌面"
"文件"
"下載"
"音樂"
"圖片"
"影片"
我相信對應的英文檔名是
Desktop
Doucments
Download
Music
Pictures
Video
不過不太確定了
假如是在 utf-8 編碼, 對應
文件
下載
音樂
圖片
影片
這些位址檔名的逸出字元表示是
file:///home/加菲貓/%E6%96%87%E4%BB%B6
file:///home/加菲貓/%E4%B8%8B%E8%BC%89
file:///home/加菲貓/%E9%9F%B3%E6%A8%82
file:///home/加菲貓/%E5%9C%96%E7%89%87
file:///home/加菲貓/%E5%BD%B1%E7%89%87
假如是在 big5 編碼, 對應檔名的逸出字元表示是
file:///home/加菲貓/%A4%E5%A5%F3
file:///home/加菲貓/%A4U%B8%FC
file:///home/加菲貓/%AD%B5%BC%D6
file:///home/加菲貓/%B9%CF%A4%F9
file:///home/加菲貓/%BCv%A4%F9
(這使用者名稱加菲貓要換成對應的英文)
看到一堆逸出字元怎麼查誰是誰?後來發現一個方便的方式:用python
我在gnome-terminal 下用zh_TW.UTF-8的locale執行python,直接把字串輸入,就會傳回字串utf8編碼
$ python
Python 2.5.1 (r251:54863, Jan 14 2008, 13:07:32)
[GCC 4.2.2 20070909 (prerelease) (4.2.2-0.RC.1mdv2008.0)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> '桌面'
'\xe6\xa1\x8c\xe9\x9d\xa2'
>>> '下載'
'\xe4\xb8\x8b\xe8\xbc\x89'
>>> '文件'
'\xe6\x96\x87\xe4\xbb\xb6'
>>> '音樂'
'\xe9\x9f\xb3\xe6\xa8\x82'
>>> '圖片'
'\xe5\x9c\x96\xe7\x89\x87'
>>> '影片'
'\xe5\xbd\xb1\xe7\x89\x87'
假如是 big5 編碼,改用zh_TW 的locale執行 python
當然常用的位置不只這些,系統已在~/.gtk-bookmarks下預設了幾個,如2007時的
代碼:
file:///home/加菲貓/.mdk-folders/video-mdk.desktop
我們也可以自己加,如
代碼:
file:///home/data
在gnome 的檔案管理系統會用最底層的目錄名作為名稱顯示萬一不同目錄最底層的目錄卻同名的話,還可以用別名,如
代碼:
file:///mnt/win_e/data wine_e_data
不過一但加入更多的位置捷徑,文件/下載/音樂/圖片/影片這幾個就會從位置的頂層,移到叫"書籤"的下一層位置裡
用 convmv 來轉檔名編碼
關於轉移到XDG Menu System,這一篇有一些參考價值
http://wiki.mandriva.com/en/Development/Howto/MenuMigrationToXDG
(註: 下面這篇本來名為"mandriva 2006 調校 "發表在CLE
http://cle.linux.org.tw/forum/viewtopic.php?p=2916&sid=b8971dc6c482b78f9ebdc05efdfa0069
不過那邊有人見不得人好,自己一點牛肉都端不出來,卻愛批評別人的燒餅會掉芝麻。還會不時偷看我的文章然後在網路上亂罵人,所以我就懶的過去修改了。時間久了就會自然證明孰是孰非。這只是作檔案存檔,不過gtk 跟更新的部分還是有效的)
有圖有真相

Google 正體中文搜尋 "Mandriva xdg" 這篇文章當時排行第一,現在還是前幾名(不過其他的不是我寫的,就是其他不相干的資訊)。其實我當時就有存檔,只不過跟大眾證明事實,並不比事實本身重要,所以沒有第一時間就拿出來,而是到改版把文章改的更好時才拿出來。那些只會亂批評別人的人,除了會第一時間跳出來罵人,口水一地外,長期看下來,什麼實質東西都沒有。努力工作時間寶貴,我不會隨這種人的污衊起舞,因為事實勝於雄辯。
想瞭解這些人的惡形惡狀,請參考垃圾堆1
1.0 版 十月 25, 2007
2.0 版 Mar 17, 2008
Mandriva 最早是追隨 debian 的menu架構,後來逐漸轉移到XDG Menu System標準。2008有個工具在處理這些。不過我還沒找到在Mandriva 2007.1 上是如何處理這些。當時每次開gnome-terminal 都跑到~/Desktop 下。有點煩。反正現在升級了就不用管了。
Mandriva 2007.x
~/.mdk-folders
下面有幾個聯結
documents
download
music
pictures
video
就是相對應
"文件"
"下載"
"音樂"
"圖片"
"影像"
的位置
還有相對應的翻譯檔
documents-mdk.desktop
download-mdk.desktop
music-mdk.desktop
pictures-mdk.desktop
video-mdk.desktop
比如說我不喜歡桌面上的"下載"位置是指到 ~/Download/
想搬到 ~/Documents/Download/
我就執行
代碼:
rm ~/.mdk-folders/download
ln -s ~/Documents/Download ~/.mdk-folders/download
然後用utf8的編輯器如gedit 修改 ~/.mdk-folders/download-mdk.desktop裡的
代碼:
URL=file:///root/Download
改成
代碼:
URL=file:///root/Documents/Download
然後重新登入
(註: 用2007.1 當時,只登出/登入 gnome 我的雙螢幕左半桌面會怪怪的 系統重新啟動後就沒事)
Mandriva 2008
MDV2008 現在不用 ~/.mdk-folders了,新版遵從XDG 的式樣。如使用者名稱是加菲貓,那在
/home/加菲貓/.config
下面有 user-dirs
跟
user-dirs locale
為保險起見,我用能判別編碼的編輯器來編輯
user-dirs locale 指定了locale 是
zh_TW
在~/.config/下的user-dirs.dirs檔裡面有幾個聯結,指定了桌面預設檔案夾名稱
XDG_DESKTOP_DIR="$HOME/桌面"
XDG_DOWNLOAD_DIR="$HOME/下載"
XDG_DOCUMENTS_DIR="$HOME/文件"
XDG_MUSIC_DIR="$HOME/音樂"
XDG_PICTURES_DIR="$HOME/圖片"
XDG_VIDEOS_DIR="$HOME/影片"
就是桌面位址相對應的
"桌面"
"文件"
"下載"
"音樂"
"圖片"
"影片"
我相信對應的英文檔名是
Desktop
Doucments
Download
Music
Pictures
Video
不過不太確定了
假如是在 utf-8 編碼, 對應
文件
下載
音樂
圖片
影片
這些位址檔名的逸出字元表示是
file:///home/加菲貓/%E6%96%87%E4%BB%B6
file:///home/加菲貓/%E4%B8%8B%E8%BC%89
file:///home/加菲貓/%E9%9F%B3%E6%A8%82
file:///home/加菲貓/%E5%9C%96%E7%89%87
file:///home/加菲貓/%E5%BD%B1%E7%89%87
假如是在 big5 編碼, 對應檔名的逸出字元表示是
file:///home/加菲貓/%A4%E5%A5%F3
file:///home/加菲貓/%A4U%B8%FC
file:///home/加菲貓/%AD%B5%BC%D6
file:///home/加菲貓/%B9%CF%A4%F9
file:///home/加菲貓/%BCv%A4%F9
(這使用者名稱加菲貓要換成對應的英文)
怎樣查utf8 中文的逸出字元
看到一堆逸出字元怎麼查誰是誰?後來發現一個方便的方式:用python
我在gnome-terminal 下用zh_TW.UTF-8的locale執行python,直接把字串輸入,就會傳回字串utf8編碼
$ python
Python 2.5.1 (r251:54863, Jan 14 2008, 13:07:32)
[GCC 4.2.2 20070909 (prerelease) (4.2.2-0.RC.1mdv2008.0)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> '桌面'
'\xe6\xa1\x8c\xe9\x9d\xa2'
>>> '下載'
'\xe4\xb8\x8b\xe8\xbc\x89'
>>> '文件'
'\xe6\x96\x87\xe4\xbb\xb6'
>>> '音樂'
'\xe9\x9f\xb3\xe6\xa8\x82'
>>> '圖片'
'\xe5\x9c\x96\xe7\x89\x87'
>>> '影片'
'\xe5\xbd\xb1\xe7\x89\x87'
假如是 big5 編碼,改用zh_TW 的locale執行 python
在Nautilus/gnome 下加入更多的捷徑
當然常用的位置不只這些,系統已在~/.gtk-bookmarks下預設了幾個,如2007時的
代碼:
file:///home/加菲貓/.mdk-folders/video-mdk.desktop
我們也可以自己加,如
代碼:
file:///home/data
在gnome 的檔案管理系統會用最底層的目錄名作為名稱顯示萬一不同目錄最底層的目錄卻同名的話,還可以用別名,如
代碼:
file:///mnt/win_e/data wine_e_data
不過一但加入更多的位置捷徑,文件/下載/音樂/圖片/影片這幾個就會從位置的頂層,移到叫"書籤"的下一層位置裡
延伸閱讀
用 convmv 來轉檔名編碼
關於轉移到XDG Menu System,這一篇有一些參考價值
http://wiki.mandriva.com/en/Development/Howto/MenuMigrationToXDG
附錄:
(註: 下面這篇本來名為"mandriva 2006 調校 "發表在CLE
http://cle.linux.org.tw/forum/viewtopic.php?p=2916&sid=b8971dc6c482b78f9ebdc05efdfa0069
不過那邊有人見不得人好,自己一點牛肉都端不出來,卻愛批評別人的燒餅會掉芝麻。還會不時偷看我的文章然後在網路上亂罵人,所以我就懶的過去修改了。時間久了就會自然證明孰是孰非。這只是作檔案存檔,不過gtk 跟更新的部分還是有效的)
有圖有真相

Google 正體中文搜尋 "Mandriva xdg" 這篇文章當時排行第一,現在還是前幾名(不過其他的不是我寫的,就是其他不相干的資訊)。其實我當時就有存檔,只不過跟大眾證明事實,並不比事實本身重要,所以沒有第一時間就拿出來,而是到改版把文章改的更好時才拿出來。那些只會亂批評別人的人,除了會第一時間跳出來罵人,口水一地外,長期看下來,什麼實質東西都沒有。努力工作時間寶貴,我不會隨這種人的污衊起舞,因為事實勝於雄辯。
想瞭解這些人的惡形惡狀,請參考垃圾堆1
訂閱:
文章 (Atom)