2009年6月19日 星期五

修改 nautilus-image-converter 預設的縮圖尺寸

常常需要快速旋轉或縮小照片圖檔,但每次都要開啟影像處理軟體又嫌太麻煩嗎?

使用 nautilus-image-converter 這個套件,就可以讓你從 Ubuntu 預設的 Nautilus 檔案瀏覽器中,直接在圖檔上按右鍵選單,立刻進行影像尺寸縮放及旋轉!先前的一篇有相關說明。



不過,它下拉選單中預設的幾個尺寸,老婆大人卻覺得不適用,小的太小、大的又太大,她的需求是圖片較長的一邊為260畫素。既然這樣,用「自訂尺寸」不就得了?可是要手動輸入兩個數字,又有點麻煩。只好再動手改囉:

sudo gedit /usr/share/nautilus-image-converter/nautilus-image-resize.glade

檔案打開後,在上方的功能選單中選擇「搜尋」→「尋找」,找出 width_spinbutton 這個關鍵字的所在段落,裡面有一行是:

<property name="adjustment">1000 1 9999 1 10 10 </property>

中間有個數字1000就是「自訂尺寸」輸入框中預設的寬度畫素值,把它改為260即可。



再依同樣的方法搜尋 height_spinbutton 關鍵字的段落,也可以看到有一模一樣的那一行,照樣把數字 1000 改成 260,就設定了預設輸入的影像高度。



修改完存檔,重新開機之後就OK囉!

2009年6月17日 星期三

只用右鍵選單,快速旋轉縮放圖檔!(正體中文介面)

在微軟 Office Word 裡面有個「壓縮圖檔」的功能,可以避免文件中貼太多張圖之後,變成一個龐然大檔,轉寄、存取都不方便。對於經常要整理大量圖片說明的老婆來說,這個功能很重要,然而 OpenOffice.org 裡面卻好像沒有,所以她覺得頗為困擾。

既然這樣,就先把圖檔縮小再貼到文件裡面好了。這種簡單用途顯然沒必要動用GIMP之類的影像處理軟體,而且事實上老婆連任何最簡單的影像處理軟體都不想學,囧... 只好想辦法讓她可以在檔案總管(Nautilus)中,單鍵進行縮圖處理囉。咕狗了一下,查到 nautilus-image-converter 這個套件就可以做到按右鍵進行縮放影像大小、旋轉等。OK,就是它啦。



開啟 Synaptic 套件管理程式,在「快速搜尋」框中輸入 nautilus-image-converter 套件,馬上就找到了。在上面按右鍵標記為安裝,按下工具列的「套用」,就安裝好囉。再打開檔案瀏覽器視窗,隨便找個圖檔點下右鍵,就發現快速選單出現了兩個新項目:Resize Images 以及 Rotate Images,試了一下還蠻簡單好用的。 ^^y



土法煉鋼中文化

不過問題來了,操作選單介面都是英文的,老婆大人不喜歡... 這個小套件看起來應該不會很複雜,索性自己想辦法土法煉鋼做點簡單的中文化。



在 Synatpic 裡面再次找出剛安裝好的 nautilus-image-converter,按下「屬性」→「已安裝檔案」看一看,發現它應該是把多國語系翻譯檔放在 /usr/share/locale 裡面各語系資料夾的 LC_MESSAGES/nautilus-image-converter.mo 中。



再稍微查了一下,各國語系是有標準簡稱的,例如法國是Fr、義大利是it,法文翻譯檔就是 /usr/share/locale/fr/LC_MESSAGES/nautilus-image-converter.mo,義大利文翻譯檔就是 /usr/share/locale/it/LC_MESSAGES/nautilus-image-converter.mo,那麼正體中文應該就要放在 /usr/share/locale/zh_TW/LC_MESSAGES/nautilus-image-converter.mo 啦。當然,目前是缺乏這個檔案的,所以才沒有中文介面呀。直接找個比較看得懂的來改好了。嗯,ca不錯,加拿大應該是英文。

沒想到用文字編輯器沒辦法打開 /usr/share/locale/ca/LC_MESSAGES/nautilus-image-converter.mo 檔:「gedit 無法偵測編碼。請檢查您是否在嘗試開啟二元碼檔案。」再度拜請咕狗大神,發現原來翻譯語系時,要先做純文字的 po 檔,它標示了哪些翻譯對應哪些原文,po 檔完成之後,再將之編譯為 mo 檔(二進位檔)給應用程式使用,難怪 mo 檔用文字編輯器打不開。

資料夾裡面沒有 po 檔。嗯...那就先想辦法把 mo 轉成 po 檔再來編輯囉。要做到這件事,可以使用文字指令 msgunfmt 來把 mo 解譯成純文字的 po 檔,再用 msgfmt 把 po 檔編譯成二進位 mo 檔。在終端機下了指令:

sudo msgunfmt /usr/share/locale/ca/LC_MESSAGES/nautilus-image-converter.mo > /home/nautilus-image-converter.zh_TW_temp.po

之後,系統卻回應:「程式 'msgfmt' 目前尚未安裝。您可以由輸入以下內容安裝:sudo apt-get install gettext」,於是我就輸入這個指令...錯!結果我還是再回到視窗介面的 Synaptic 搜尋 gettext 套件並且加以安裝。

接下來再回到終端機進行 msgunfmt 操作,這次就轉檔成功了。用文字指令實在是不得已,我個人的偏執是:能用視窗介面完成的事情,就絕對不用文字介面。不過懶得去找圖形化工具了,也不想安裝 poEdit、gTranslator 之類的翻譯工具,那樣搞得好像太複雜。

接下來用文字編輯器打開暫存到家目錄用來進行中文翻譯的 nautilus-image-converter.zh_TW_temp.po 檔,啊咧?加拿大的版本不是英文?大概是法文之類的看不懂。不過其實也無所謂,只要對照著把翻譯部份翻完就好。

直接用文字編輯器翻譯語系檔,需要一點點關於字串和正規表達式的常識(真的只要一點點,因為我會的全部總共也就只有那麼多),完全土法煉鋼、見笑得很,有機會再來分享。逐一輸入中文翻譯編輯好之後,就到終端機輸入:

sudo msgfmt ~/nautilus-image-converter.zh_TW_temp.po -o nautilus-image-converter.zh_TW_temp.mo

,產生 mo 檔。將檔案存到 /usr/share/locale/zh_TW/LC_MESSAGES 內並且改名為 nautilus-image-converter.mo,然後關閉所有檔案瀏覽器視窗,再打開之後就大功告成... 並沒有!結果是要重新開機才會變成中文:





總而言之,這是我為了自己的需要第一次動手做簡單的中文化,過程幾乎全靠視窗圖形介面操作(唯一輸入的兩個終端機指令完全是照抄網友的)、系統內建工具(gedit文字編輯器、Synaptic 套件管理程式)以及Google來的知識。連我這樣的電腦門外漢都能搞定,感覺真爽!



不知道這樣的小小翻譯成果,是不是可以貢獻給社群,讓用得上的人可以取用?再找時間來研究一下好了,不過像我這種沒有程式設計能力的小咖,應該也不會有什麼太大的貢獻就是了。有需要的人可以點這裡下載 mo 檔(http://nautilus-image-converter-zhtw.googlecode.com/files/nautilus-image-converter.mo),放到 /usr/share/locale/zh_TW/LC_MESSAGES 裡面即可。可編譯的 po 檔則在這裡(http://nautilus-image-converter-zhtw.googlecode.com/files/nautilus-image-converter.po),歡迎自行取用修改哦。

2009年6月15日 星期一

整死人的 ATI 顯示晶片驅動程式

隋棠 ATi Showgirl 5631
ATI的Show Girl都很漂亮,當年隋棠也是其中之一。但為什麼ATI的驅動程式這麼難搞呢?


自從將近三年前,我因為年幼無知買了一台採用 ATI 顯示晶片加上 Broadcom 無線網路晶片的 Compaq(HP)筆記型電腦後,就註定了每逢安裝 Linux 時的悲慘命運。這台型號是 Presario B1966TU 的筆電,主機板上內建 ATI Radeon Xpress 200M 晶片(後來我才搞清楚原來這不叫做獨立顯卡 XD)

剛剛閒來無事(謎之音:不是正在上班嗎?)把用得好好的 Ubuntu 8.10 網路升級成 9.04,結果問題就來了。安裝完成之後,很開心地重新啟動,說時遲那時快,只見螢幕一花,在短暫的疊影跳動之後,畫面就凝固陷入一片死寂!連登入畫面都沒見著。

好吧。看情況九成是來自惡名昭彰的 ATI 顯卡。好久沒搞過這些硬體驅動相容問題了,先咕狗看看。確實已經有很多先進討論過了,也有親切的高手提供了詳細的故障排除步驟,果然Ubuntu 正體中文論壇才是王道啊。不過在依樣畫葫蘆之前,我還是決定多找點資料了解一下。

非官方ATI Linux驅動程式Wiki就有提到相關的議題,寫得還蠻仔細的。我在這篇Ubuntu Jaunty 安裝指南的文章中,找到了我要的答案:

基本上,要在Ubuntu 9.04(Januty)中安裝ATI顯示卡驅動程式,有以下幾種方法:

  • 標準的開源驅動程式:Ubuntu預設的驅動程式,穩定健全,但是3D能力慘不忍睹。但如果你用的是Radeon X1k或更早以前的ATI顯卡,那麼也沒別的選擇了。Ubuntu預設優先安裝這些開源驅動程式的其中之一:
    • vesa:普遍適用於各種顯示卡,相容性最高但是功能最少。
    • ati:只有表面上可以用來呼叫Radeon驅動程式。
    • radeon:可以驅動各種等級的Radeon硬體,對於比較新的型號還可以有一點兒3D效果。
    • radeonhd:適用於R520及其之後的型號。
  • 最新的開源驅動程式:這也是由X.Org開發維護的驅動程式,可以加入 https://launchpad.net/~tormodvolden/+archive/ppa 套件庫,然後安裝 xserver-xorg-video-radeonhd 套件。安裝後可能得修改 /etc/X11/xorg.conf 的內容,加入:
    Section "Device"
    Driver "radeonhd"
    EndSection

    這一段才會改用新的驅動程式。
  • 運用「硬體驅動程式」功能:從「系統」選單→「管理」→「硬體驅動程式」可以自動搜尋並安裝受版權限制的驅動程式,選擇ATI accelerated graphics driver即可。這裡使用的驅動程式不見得會是最新版,但經過Ubuntu認可應該是比較穩定。不知為何我的選單裡面並沒有顯示,可能是手動修改一些設定檔時弄掉了吧。
  • 第三方安裝器:就是用envy/jockey之類的輔助安裝程式囉。
  • 手動安裝驅動程式:直接去AMD(ATI)網站下載驅動程式或套件,手動進行安裝。
那我的問題是出在哪呢?簡單地說,ATI官方推出的Linux驅動程式9.5新版,已經不再支援較早期的ATI顯示卡,包括ATI Radeon 9500-9800、X300-X2100等系列,還有我的Xpress也赫然在列!(其實一點都不意外啦...)所以呢,這些舊款ATI顯卡只能使用原本的ATI Catalyst 9.3版驅動程式,才能正常運作。然而尷尬的是,9.3版並未支援 xorg-xserver 1.6,換言之根本無法安裝在Ubuntu 9.04中!我咧...

最後我決定開機時選擇recovery mode,然後在復原選單中選擇root:Drop to root shell prompt進入指令模式,然後依照hepha大大提供的指示,修整我的驅動程式以及 xorg.conf 設定,但是把Driver的設定值從「vesa」改成「radeon」。(在終端機文字指令模式時,發現執行指令的回應訊息有很多亂碼,又咕狗了一下才知道,應該先下export LANG=en指令,將語系改為英文,否則中文的指令回應訊息根本就顯示不出來。)

就這樣在一知半解的情況下,又恢復了正常開機進入圖形介面,播放影片也沒有問題。搞定!

2009年6月13日 星期六

為 OpenOffice 文書處理器安裝標點符號列

2012.4.30更新:

針對LibreOffice(如果是繼續用OpenOffice的人可能也適用吧?)下安裝「中文拼點包」的方法,Ubuntu正體中文Wiki有更新且正確的說明,請參考。以下段落可以不用看了~ :p

------------------------------------------------------------

在OpenOffice.org補給站網頁下方找到中文拼點包3.0 beta的連結,看他的說明裡面提到,原本的拼點包是由linqi所開發的,因此再追到http://www.linqi.org/

裡面就可以下載中文拼點包了,Linux及Windows環境下的OpenOffice.org(以下簡稱OOo)皆可用,不過有分版本,OOo 2.x及OOo 3.0必須下載不同的檔案。我下載了.tar壓縮檔後,解開一看裡面有個.html檔,顯然是安裝說明,就依照其內容指示進行手動安裝(其實也不過就是把兩三個資料夾覆蓋掉而已)。

安裝好之後,OOo Writer上面出現了一個新的工具列,但是上面的圖示卻一片空白:


奇怪的是,按下工具列上不同的空白按鍵,在文件中確實會插入不同的標點符號喔,也就是說雖然按鈕是空白的,可是按下去的功能卻正常。再搜尋了一下,有人也反映類似的問題。循線找到解決方法的網頁(http://hyperrate.com/thread.php?tid=6702),答案其實也很簡單,看樣子是原本只設計了工具列的小圖示,因此當設定顯示大圖示時就一片空白,補上就好啦(其實也就是把兩個檔名中的 s 改成 l):

首先,在~/.openoffice.org2/user/config/soffice.cfg/modules/swriter/images/Bitmaps/目錄下,把裡面的sc_userimages.png複製並重新命名為為lc_userimages.png。然後在~/.openoffice.org2/user/config/soffice.cfg/modules/swriter/images/目錄下,把裡面的sc_imagelist.xml複製並重新命名為lc_imagelist.xml即可。輕鬆搞定:



其實我雖然也需要使用中文的全形標點符號,但是平常大多是直接用新酷音輸入法內的標點符號快捷輸入。這個拼點包完全是為了習慣微軟Office Word的標點符號列的老婆而特別安裝的。

網拍賣的無線網卡,有Linux驅動程式嗎?

無線網路裝置至今仍是許多Linux用戶的頭痛問題,在選購外接式無線網卡、或者內建Wi-fi的筆記型電腦時,往往都得擔心究竟有沒有提供Linux驅動程式。偏偏許多產品資料寫得不清不楚,要不就是網拍賣家自己也一頭霧水。到底能不能查到哪些無線網卡有提供支援Linux的驅動程式呢?

還好,國外網友HJ Heins製作了一個網頁(Linux wireless LAN support),企圖建立一個盡可能完整的清單,列出各家無線網路設備以及其內部使用的控制晶片,以及最重要的:是否相容Linux。以下簡單翻譯並介紹這個網頁的內容,希望可以對有需要的人幫得上忙。

此網頁的清單原本是以AbloluteValue Systems公司(專做嵌入式Linux系統及無線網路應用)整理的一份無線網路設備清單為基礎,不過由於還有很多無線網卡沒有被列進去,因此HJ Heins也呼籲網友們,如果可以確知無線網卡型號、控制晶片組、以及是否支援Linux,就請寫信告訴他。

這個清單資料庫可以依無線網卡的製造商廠牌、介面(PCI、USB等)或者依其晶片組廠牌來查詢,只要任選三個下拉選單的其中之一,再按下「Show」按鈕即可顯示。

依製造商廠牌查詢:


依網路卡介面查詢:


依晶片組廠牌查詢:


查詢出來的結果,會依顏色標示能否支援Linux(換言之,是否提供原生的Linux驅動程式)。綠色表示支援,紅色表示不支援,黃色則表示部份支援。至於資料不詳則以灰色顯示。咦,怎麼會有黃色的情況呢?原來有些無線網卡提供不只一種驅動程式,用戶可能必須視實際硬體情況選擇,就不一定都能支援Linux了。查詢結果也可以直接連結到各該廠商的驅動程式下載頁面,相當方便。

如果不想要查詢,而是想要一份完整的列印清單,那麼也可以按下「Complete listing」直接下載。不過可別任意亂按喔,因為下載完整清單是會佔用時間及頻寬的:


本網站的資料只標明有沒有Linux驅動程式,而不詳述支援的「程度」。例如說,在Linux環境下只能提供無加密連線的某張網卡,會與可以完整提供 WEP/WPA加密的另一片網卡,同時被標示為「Linux相容」。如果想知道你的網卡究竟可支援Linux到甚麼程度,請自行查閱該網卡的驅動程式頁 面。

這個清單所列的支援網卡,完全與Linuxant DriverLoaderndiswrapper所提供支援的無關。ndiswrapper專案所支援的無線網卡清單可以在ndiswrapper wiki找到。


不過HJ Heins也聲明,這份還在收集中的清單,只是用以指出可支援Linux的無線網卡,並不保證在不同實際環境下都可行。所以最好還是能有實際測試的經驗才是最準確的。