聚會時間公告: 11月份聚會為11月15號星期六下午兩點在MocaMona / 講者:shawn Topic: Hello BIOS: EFI, an opensource firmware framework

十一月 11, 2008
» Ubuntu 升級到 Intrepid Ibex 8.10

2008/10/30 Ubuntu Release 8.10(Intrepid Ibex), 有 4台機器要升級, 就試著用 Alternate install CD 來升級~

最早是想用 更新管理員 更新, 但是都找不到更新的按鈕, 在升級時看到警告訊息才了解: 8.04 LTS 屬於長期支援的發行版本, 8.10則屬於例行發行版, 所以 Ubuntu 8.04 LTS 預設不會通知可以升級至 8.10.

標準網路升級方式

標準透過網路的升級方法:

  1. 執行 sudo "update-manager -d -c"
  2. 系統 -> 管理 -> 更新管理員
  3. 再來就是點選 "升級" 就可以了.

使用 Alternate install CD 升級

這次用 Alternate install CD, 做法有點不同, 不過安裝速度快了不少~ :P

下面就是由 Alternate install CD 安裝的步驟: (詳細可參考: 如何升級至 Ubuntu 8.10)

  1. Ubuntu 8.10 (Intrepid Ibex) 下載 PC (Intel x86) alternate install CD 或 直接 wget -c http://releases.ubuntu.com/intrepid/ubuntu-8.10-alternate-i386.iso (大約 700Mb)
  2. sudo mount -o loop ~/ubuntu-8.10-alternate-i386.iso /media/cdrom0 # 此時會出現一個對話視窗通知你可趁此機會用 CD 執行升級.(直接 mount iso 檔, 就不用浪費光碟片囉~)
  3. 若沒有出現對話視窗, 可按下 Alt+F2 後執行以下指令: gksu "sh /cdrom/cdromupgrade"
  4. 再來就升級完成囉, 升級時遇到 ca-certificates-java Pacakge configure 有問題, 不過不用理會自然可以完成升級.

升級完成後的錯誤排除

但是升級完成後, ca-certificates-java Pacakge 還是有問題, 造成沒辦法 apt-get upgrade/dist-upgrade.(使用 dpkg --configure -a 也沒有用)

錯誤訊息:

正在設定 ca-certificates-java (20080712ubuntu3) ...
creating /etc/ssl/certs/java/cacerts...
keytool 錯誤: java.lang.Exception: 認證未輸入,別名 <brasil_gov_br> 已經存在
  error adding brasil.gov.br/brasil.gov.br.crt
keytool 錯誤: java.lang.Exception: 認證未輸入,別名 <class3> 已經存在
  error adding cacert.org/class3.crt
keytool 錯誤: java.lang.Exception: 認證未輸入,別名 <addtrust_qualified_certificates_root> 已經存在
  error adding mozilla/AddTrust_Qualified_Certificates_Root.crt
keytool 錯誤: java.lang.Exception: 認證未輸入,別名 <america_online_root_certification_authority_1> 已經存在
  error adding mozilla/America_Online_Root_Certification_Authority_1.crt
failed.
dpkg:處理 ca-certificates-java (--configure)時出錯:
子程序·post-installation script·返回了錯誤號·1
在處理時有錯誤發生:
    ca-certificates-java
E: Sub-process /usr/bin/dpkg returned an error code (1)

解法:

  1. apt-get remove ca-certificates-java # 先把他移除, freemind 等都會跟著被移除, 請自行將被移除的套件備份下來
  2. apt-get install freemind # 在安裝 freemind 時, 會把 ca-certificates-java 拉進來, 然後就可以用了(反而直接裝 ca-certificates-java 不行, 不知原因為何)
  3. 裝完後再將剛剛移除 ca-certificates-java 時, 把那些連帶移除的套件裝回來即可.(沒用到的話也可以不用裝)

再來就好好體驗 Ubuntu 8.10 吧~

八月 23, 2008
» PHP4 和 MySQL 4.0 在 2008年結束 更新維護

MySQL 4.0 從 2003/3/15 推出, 於今年底 2008/12/31 end of life, 詳可見: MySQL Lifecycle Policy.

MySQL 各版本的起始與結束支援的日期 轉載:

  • 3.23: 2001-01-17 ~ 2006-12-31
  • 4.0: 2003-03-15 ~ 2008-12-31
  • 4.1: 2004-10-23 ~ 2009-12-31
  • 5.0: 2005-10-24 ~ 2011-12-31

而 PHP4 去年就已經發佈說更新維護到 2008/08/08 就不再支援, 詳可見: PHP 4 end of life announcement.

最近發佈(2008/8/7) PHP 4.4.9 released!, 寫說是 PHP 4.4 最後一版的 Release, 可以的話, 盡量想辦法升到 PHP5 吧.(升級可能遇到的問題可見: Migrating from PHP 4 to PHP 5.0.x)

PHP4 從 2000/5/22 PHP 4.0.0 Released!, 到現在 2008/8 歷經了8年, 真是辛苦了.

另外想到的是, 從 PHP3 開始寫的各位長輩們, 最少都已經寫超過 8年了.. Orz..

突然想到, 前年有某人對我說已經寫 PHP 超過 10年, 還有說從 PHP 1.0 就開始寫的, 建議有空可以看看 PHP 的 News Archive - 1998.

其它相關網頁

八月 14, 2008
» Debian Linux ifconfig / route 網路設定

Debian 正常網路設定是於 /etc/network/interfaces, 可見 /etc/network/interfaces 內容大致如下:

auto lo
iface lo inet loopback

auto eth0
# iface eth0 inet manual
iface eth0 inet static
    address 10.1.1.2
    netmask 255.255.0.0
    network 10.1.0.0
    broadcast 10.1.255.255
    gateway 10.1.1.1
# dns-nameservers 168.95.1.1 168.95.192.1
# dns-search longwin.com.tw
#up "/sbin/route add -net 172.16.120.0 netmask 255.255.255.0 gw 10.1.3.3 metric 1"
#up "/sbin/route add -net 172.16.0.0 netmask 255.255.255.0 gw 10.1.10.20 metric 1"
#up "/sbin/route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.1.10.20 metric 1"
#down "/sbin/route del -net 172.16.120.0 netmask 255.255.255.0 gw 10.1.10.20metric 1"
#down "/sbin/route del -net 172.16.0.0 netmask 255.255.255.0 gw 10.1.10.20 metric 1"
#down "/sbin/route del -net 1.0.0.0 netmask 255.0.0.0 gw10.1.10.20 metric 1"

auto eth1
iface eth1 inet static
    address 10.10.11.2
    netmask 255.255.255.128
    network 10.10.0.0

## for adsl pppoe
#auto dsl-provider
#iface dsl-provider inet ppp
#provider dsl-provider

現在遇到一個的問題, 機器啟動時這兩張網卡很晚才啟動(幾乎是快開完機後才被啟動, 原因不明, 之前不知是否有設到其它東西), 然後啟動後的 IP 等設定, 全都沒有被設定.

而除此之外, 另一個需求是希望透過 eth1 的網路, 連到另外2台 172.x.x.x 的主機, 所以需要另外加兩個 route 的條件.

基於以上的問題, 目前想最快速先能動的解法:

  1. 於開機啟動完成後, 去指定網路卡的 IP 和其它設定.
  2. 上述跑完後, 增加另外 2條路由.

簡易執行步驟

  1. vim /etc/rc.local # 於最後一行 exit 0 前, 加下述幾行
    • ifconfig eth0 10.1.1.2 netmask 255.255.0.0 boradcast 10.1.255.255
    • ifconfig eth1 10.10.11.2 netmask 255.255.255.128
    • route add 172.20.12.12 gw 10.10.11.1 metric 1
    • route add 172.20.15.15 gw 10.10.11.1 metric 1
  2. 然後重新啟動, 看開完機後的結果是否有通就可以了.

測試

ping 及 route 看看, 都能通就可以了.

route 看結果, 應該會看到如下:

$ sudo route
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.20.12.12    10.10.11.1      255.255.255.255 UGH   1      0        0 eth1
172.20.15.15    10.10.11.1      255.255.255.255 UGH   1      0        0 eth1
10.10.11.0      *               255.255.255.128 U     0      0        0 eth1
localnet        *               255.255.0.0     U     0      0        0 eth0
default         10.1.1.1        0.0.0.0         UG    0      0        0 eth0

然後再分別 ping 各機器 / Gateway, 看全都通就是正常的囉~

  • ping 172.20.12.12
  • ping 172.20.15.15
  • ping 10.1.1.1
  • ping 10.10.11.1

七月 15, 2008
» Linux: 轉換 檔案名稱 的編碼 convmv (UTF-8/Big5 互轉)

當整個目錄裡面都是 Big5 的檔案, 然後要全部轉成 UTF-8 的時候, 想到就很累, 這就是當初要把 Terminal 都轉換成 UTF-8 其中一個障礙.

不過那時候找到一隻 script, 程式寫法大概就是 echo 現在的檔名, 然後用 iconv 轉成 UTF-8, 再 mv 把檔名換掉.

程式如下: (已不知來源為何, 若有人知道, 還請告知此程式來源, 將立即補上)

#!/bin/sh
# this script changes big5 chinese file/directory name to utf8 file/directory name.
# It will recursive.
# it can handle the file name containing space.
# when you use this script, please change to the directory that you want to transfer files' name.
# then execute like "~/ic2"
# i hope this script will not impact anything that will crash your system.
# this script works fine for me.

DIR="."

for I in * ; do
    echo "check... $I"
    f=`echo "$I" | iconv -f big5 -t utf8`
    if [ $? = 0 ]; then
        if  [ "$I" != "$f" ];then
            echo "$f"
#            cp -rv "$I" ~/cbackup/
            mv -v "$I" "$f"
            if [ $? = 0 ];then
                rm -rfv ~/cbackup/"$I"
            else
                echo "$f"
                exit 1;
            fi
        else
            echo "skip $I"
        fi
    else
        echo "skip $I"
    fi
done
echo "ok!"

#following from cynosure
for J in * ; do
    if [ -d "$J" ]
    then
        path=`pwd`
        echo "dir ""$J" #where am i
        cd  "$path""/""$J"
        ~/bin/ic2
        cd "$path"
    fi
done
ls *
exit 1;

此 script 我有做過一些修改, 會直接執行, 不會進行備份或測試的動作, 所以建議不熟先不要亂玩.. :P

我有另外將此 script 再 cp, 主要是來做還原等等的 script, 主要都是 copy 後修改 iconv, 來做事後處理, 例如:

  • iconv -f big5 -t utf8
  • iconv -f utf8 -t big5
  • iconv -f gb2312 -t utf8
  • iconv -f utf8 -t gb2312

不過現在有另外一隻更方便的程式囉~ 就是下述:

這隻主要是隻 Perl script, 該做 轉換/備份/測試/偵測環境 等等, 都寫的蠻完整的.

convmv 轉換編碼指令

  • convmv -f big5 -t utf-8 -r --notest *
  • -f big5: 從 Big5 編碼轉換 (不過標準應該是要寫 big5-eten, 但是我測試 big5 也可以動. :P)
  • -t utf-8: 轉換編碼到 UTF-8
  • -r: 遞迴的將目錄下的所有檔名都做轉換
  • --notest: 如果不下這個, 一切動作都只是測試, 會直接將轉換前和轉換後的檔名列給你看, 這加下去, 才會實際轉換檔名.
  • *: 所有檔案

其他參數

  • --list : 列出所有可用的編碼
  • --unescape : 轉換檔名中 %xx 這種 16 進位的編碼 (mv "./a%20x.jpg" "./a x.jpg")
  • --lower : 將所有檔名都轉小寫(ex: convmv --lower LOWER.txt)
  • --upper : 將所有檔名都轉大寫
  • -i : 互動模式, 轉換前會先經過 y/n 確認
  • 更多詳細可 man convmv 或 convmv --help, 除此之外, 可以另外再搭配 rename 做些其他應用~ :)

相關網頁

七月 14, 2008
» 某些 JPEG/JPG 圖檔在 IE 瀏覽器無法顯示解法

之前遇到不少次廠商提供的圖片, 在 IE 就是無法顯示, 又不知道該怎麼跟廠商說問題在哪邊, 只能跟廠商說, 直接將圖拉進 IE, 會出現紅色大叉叉, 請自行修正... XD

感謝這篇 有特定格式的 JPEG 圖檔無法在 IE 瀏覽器中顯示 的說明.

依照這篇文章說明的, 原因是說, IE 只能讀取 RGB 模式的圖檔, 而於 IE 無法顯示的 JPG 圖檔, 應該是存成 CMYK 的模式.

解法, 利用 ImageMagick 的 mogify 轉換:

mogrify -colorspace RGB Your_CMYK_Image.jpg

七月 3, 2008
» Debian / Ubuntu Linux Terminal - LilyTerm

看到 Tetralet 寫的 Gtk+2 元件的記憶體用量 這篇文章, Terminal 現在我一直都是使用 Gnome 預設的 終端機(gnome-terminal), 但是還是一直想要找個開啟快速的 Terminal 來使用.

嘗試過 xterm / urxvt / mlterm 這些都不甚滿意, 都還是覺得功能不夠, 最後還是使用 Gnome Terminal.

我的 主要需求是 字型設定/快速鍵直接開新視窗/切換視窗/中文支援/快速啟動 等, 當然有透明度支援是更好~

基本上 gnome-terminal 除了快速啟動外, 基本上都滿足了所有需求, 不過有個缺點就是, 要裝 gnome-terminal 要另外安裝很多相關的 Library, 在 Eeepc 上安裝, 特別有感觸~

看到 LilyTerm 說明後, 馬上就拿來裝裝看, 使用的感想大致: 開啟速度也快很多, 快速鍵再適應即可, 有些快速鍵在程式要用, 但是會被終端機的快速鍵吃掉, 可以用 "Ctrl + `" 來開關, ex: irssi 連 irc 後 切換 channel 的快速鍵就會被 gnome-terminal 取代(Alt + 1, Alt + 2...), 整體使用起來, 蠻推薦使用的~

詳細說明可見: LilyTerm - 輕巧人性化的 libvte based X Terminal Emulator

安裝方法

  1. LilyTerm 官方網站 下載下述 Package.
  2. 下載: Ubuntu Hardy Package - libvte9_0.16.13-1ubuntu1.im_i386.deb (for gcin user 要安裝)
  3. 下載: Ubuntu Hardy Package - lilyterm_0.9.4-1.hardy_i386.deb (lilyterm 主程式)
  4. dpkg -i libvte9_0.16.13-1ubuntu1.im_i386.deb
  5. dpkg -i lilyterm_0.9.4-1.hardy_i386.deb
  6. 就會於附屬應用程式看到 LilyTerm, 直接執行即可~

快速鍵主要差異:(左邊是 gnome-terminal, 右邊是 LilyTerm)

  • Ctrl + Shift + T | Ctrl + T => 開新視窗
  • Atl + 1, Alt +2 | Ctrl + F1, Ctrl + F2(或 Ctrl 左右) => 視窗切換
  • 註: 這些設定都可於 ~/.config/lilyterm.rc 修改.
  • LilyTerm 若能補上滑鼠右鍵(複制/貼上), 就更完美囉~

LilyTerm 預設的快速鍵

  • <Ctrl><`> = 開啟/關閉功能鍵
  • <Ctrl><T> = 新增分頁
  • <Ctrl><Q> = 關閉分頁
  • <Ctrl><PageUp> = 上個分頁
  • <Ctrl><PageDown> = 下個分頁
  • <Ctrl><Home> = 到第一個分頁
  • <Ctrl><End> = 到最後一個分頁
  • <Ctrl><E> = 更改分頁名稱
  • <Ctrl><←> = 往前移動該分頁
  • <Ctrl><→> = 往後移動該分頁
  • <Ctrl><↑> = 將該分頁移至第一頁
  • <Ctrl><↓> = 將該分頁移至最後一頁
  • <Ctrl><F1~F12> = 切換到第 1 至 12 個分頁
  • <Ctrl><O> = 全選 Vte 終端機視窗裡的文字
  • <Ctrl><X> = 將文字複製至剪貼簿
  • <Ctrl><V> = 貼上剪貼簿中的文字
  • <Ctrl><+> = 放大該分頁的字體
  • <Ctrl><-> = 縮小該分頁的字體
  • <Ctrl><Enter> = 重設該分頁的字體大小
  • <Shift><Insert> = 貼上主要剪貼簿中的文字(模擬按下了滑鼠中鍵貼上文字)

五月 2, 2008
» Ubuntu Linux Gnome 桌面 Widget - Screenlets

現在到處都在流行 Widget, 突然就想要在桌面弄些 Widget 來玩玩, 就想到 Screenlets, 安裝後就開始亂裝 Widget, 感覺起來還不錯~ :)

官方網站: Screenlets

安裝:

  • apt-get install screenlets

加入快速啟動

安裝完, 如果沒有在 Menu 選單出來, 可以照下述, 加入快速啟動程式:

Gnome Panel -> 右鍵 -> 加入面版 -> 自訂的程式啟動圖示

  • 名稱: Screenlets
  • 指令: screenletsd --gui
  • 備註: Screenlets 

下載其它 Widgets

下載其它 Widgets 的網頁可參考如下:

安裝下載 Widgets

下載後, 直接打開 Screenlets, Install Screenlet 去找下載完成的 *.tgz 即可.

讓桌面小程式(Widgets)開機時自動啟動

Show daemon in tray 和 Auto start on login 勾選, 就能讓 Widgets 於開機時自動執行.

其它相關網頁

四月 25, 2008
» Ubuntu 升級到 Hardy Heron 8.04

Ubuntu 8.04 LTS (Hardy Heron) 於昨天晚上 Release 囉~ 所以當下就馬上升級, 升級步驟此版本已經超順, 只要如下選取即可:

  • 系統 -> 管理 -> 更新管理員
  • 再來就是點選 升級 就可以了.

這是第一次不需要用 aptitude 解救的升級, 應該也是第一次忍耐到 Release 後才升級的一次.. Orz..(以前都太衝動了).

升級後遇到的幾個狀況:

  • VirtualBox 因為 Kernel 問題, 所以不能啟動, 解法: apt-get install virtualbox-ose-modules-2.6.24-16-generic 即可.
  • Firefox 升級到 Firefox 3 Beta 5, 感受到無比的快, 但是缺點是, Firebug/Del.icio.us 都不能用了, del.icio.us 先採用 Post Button 的方式解決(反而 Post Button 速度快多了, 以後應該會採用這個吧~)
  • Audacious 會造成 程式記憶體區段錯誤, 先換回用 beep-media-player

再來發現的是:

  • 字型變漂亮
  • Gaim(Pidgin) 新版 可以知道對方在輸入文字的狀態, 而且能收到離線留言~
  • 圖示點選下去後, 都會有一瞬間放大的效果(可能是 Compiz Fusion 的特效)
大致就這樣子, 目前使用起來, 感覺都很不錯~ :)

十月 31, 2007
» FreeBSD 7.0 簡介

FreeBSD 7.0 的 新東西(ZFS..) 和 效能改善(thread, SMP..) 的介紹.

此文中有 MySQL 跟 PostgreSQL 效能比較(benchmark)的圖表中(比較 FreeBSD 4.x ~ 7.0 效能上差異), 也有很明顯的改善, 跟 Linux 效能比較 主要是寫 2.6.22 is still 15% slower than FreeBSD 7.0(應該是指 thread 的比較?).

詳可見: Introducing FreeBSD 7.0 (PDF 檔)

十月 21, 2007
» Ubuntu Linux 7.10 Gutsy Release & 重灌

2007/10/18 Ubuntu 7.10 Gutsy Release, 等這天等好久....(從 5.x 版就一直用升級的, 總算狠下心重灌了)

自從之前升級踩到地雷後, 越更新越嚴重, 到最後連 /boot 都沒辦法 mount 起來, 就已經決定要等 Release 直接來重灌, 重灌完真是乾淨~ 開機速度也快很多, 真是太感動了~ :)

要升級或要抓 Ubuntu 7.10 ISO 檔的, 可以參考這一篇: Ubuntu 7.10 Gusty Release...(我之前升級是踩到地雷, 但是現在似乎看大家升級都蠻順利的, 應該是可以衝了吧.)

想直接抓就直接 wget -c http://tw.releases.ubuntu.com/gutsy/ubuntu-7.10-desktop-i386.iso 下載吧~ :)

這次重灌後特別輕鬆, 主要是 7.10 有懶人包可以用, 改用 gcin/mplayer/codec/realplayer .... 一堆麻煩的問題都幫你處理掉了, 甚至連 IE6 都有幫你裝好了(對於網頁開發者, 這個蠻方便的).

詳細可見: Lazybuntu 懶人包

只要下述步驟即可: (此懶人包是專為 7.10 寫的, 其它版本不一定適用)

  1. 到網站上點下載, 會抓到 Lazybuntu-0.1.tar.gz
  2. tar xvf Lazybuntu-0.1.tar.gz
  3. ./Lazybuntu
  4. 挑選完想要的東西, 就會幫你搞定一切囉~

Wikipedia Ubuntu 寫, 下一版是 8.04LTS Hardy Heron, 會在 2008/4 月推出, 很值得期待唷 :)

其它相關網站:

九月 29, 2007
» Ubuntu Feisty Fawn 7.0.4 升級到 Gutsy Gibbon 7.1.0

前幾天把舊的 notebook 拿來升級, 從 6.1.0 升級到 7.0.4, 升級到 7.0.4 後, 又發現 7.1.0 出來了, 當下馬上繼續升上去~

升級方法很簡單: gksudo "update-manager -d -c" 再點升級就可以了.(這次真的是無痛升級, 輕輕鬆鬆就升級完成, 但是升級完後倒是蠻痛的. XD)

但是太衝動果然沒有好下場, 建議還是等到 10/18 官方確定後再升級好了.

目前遇到的狀況有:

  1. Notebook IBM s31 p3-600, 256 ram, 跑不動 gnome 了. XD (太慢用不下去, 我就直接升級一般 PC 的 ubuntu 來用用, 又是另一場悲劇 :~~)
  2. 開機後跑出一堆這種錯誤訊息(查一查似乎不太好解決, 暫時先丟在一旁不解了.. :() (換回舊版 kernel 開機沒有用, 反而錯誤訊息更多)
    [35378.777713] device-mapper: table: 254:3: linear: dm-linear: Device lookup failed
    [35378.778061] device-mapper: ioctl: error adding target to table
  3. 硬碟 reiserfs 的都無法 mount 起來(我想應該不只 reiserfs 才會遇到問題, 只是其他外掛硬碟都用 reiserfs, 沒測過其它格式是否正常)
    mount /dev/sdc1 /media/hdc1
    mount: /dev/sdc1 already mounted or /media/hdc1 busy
  4. 有些 Package 要 upgrade 需要 apt-get -f install, 無法直接升級
  5. 整體速度便很慢(我猜應該是第二點的問題, 特效都沒開, 還是很慢)

最大的改變是, 特效開起來是蠻炫的, 然後字型變漂亮許多, 其他的暫時還沒發現(昨天晚上邊做事邊升級, 才剛升級完成沒多久)

PS: 升級時寫需要 15個小時等, 這些不用相信他, 我發現他的算法是一個 Package 算 1分鐘,所以實際上, 大概 1~2個小時就升級完成了(依電腦速度不同而定) :)

八月 19, 2007
» Linux 大量修改檔名的工具 - rename

想要大量修改檔名, 而且想用 regex 的方法修改, 不用自己寫程式了 XD

意外發現到 rename 這隻好用的 perl script(Debian/Ubuntu 內建就有裝), 可以用 regex 的方式大量修改檔名, 操作方法如下:

rename 's/\.bak$//' *.bak

中間 ' ' 包起來的就是 regex 語法, 然後是對 *.bak 的檔案做改名的動作, 詳細可見 man rename. 

八月 18, 2007
» Ubuntu 版本編號命名規則

原來 Ubuntu 是這樣子對版本編號做命名的, 這種命名法蠻實用的, 不用每次都 0.1,0.2 ... 1.0 ... 等, 而且順便把上次 Release 的時間都記起來囉~

摘錄自: Ubuntu 7.10 什麼時候會出呢?

  • 6.06 => 2006.6月
  • 6.10 => 2006.10月
  • 7.04 => 2007.4月
  • 7.10 => 2007.10月 (10/18 Release, 詳可見: Gutsy Release Schedule)

八月 15, 2007
» Debian/Ubuntu 設定 Xwindow xorg 的工具 - xdebconfigurator

記得以前用 XFree86 的時後, 好像都是用 XF86Config 等去做設定, 但是忘記從何時開始, 安裝都直接選 Desktop 後, 好像一切都太方便, 灌好就都能正常進入 Xwindow, 過的太快樂, 自然的就什麼都忘光了~ XD

但是上星期弄台機器灌 Debian, 灌好後進不去 Xwindow, 才發現已經不知道該從何設起了, 基本知道的是, 先找 /etc/X11/xorg.conf, 然後一定是顯示卡驅動有錯, 不然就是螢幕解析度設錯, 或頻率沒設對等, 但是沒有工具可以測才糟糕.

然後就 apt-cache search xorg conf 找找看, 沒想到還真的有好工具:

xdebconfigurator - A script used with debconf to autoconfigure xserver-xfree86

找到就裝來用用看:

  • apt-get install xdebconfigurator
  • 有相依性會順便裝這些 Package: hwinfo libhd13 xdebconfigurator

試用一下, 有相依性拉進來的 Package 也是不錯用的工具:

  • hwinfo (probe for hardware): 會將硬體詳細資訊都列出來
  • xdebconfigurator (Set debconf values for dexconf based on automatic HW detection): xorg.conf 所需資料可由此得到.

安裝完後, 只要直接執行 sudo xdebconfigurator 就可以看到結果.

執行輸出結果太長要直接先寫到檔案, 需要把 STDERR 導到檔案去.(此程式輸出是走 STDERR, 不是 STDOUT).

將 xdebconfigurator 結果寫到檔案 xorg_set.txt:

sudo xdebconfigurator 2> xorg_set.txt

然後就可以 vim xorg_set.txt 得到下述資訊:

  • VIDEO DRIVER: nv
  • MONITOR HOR SYNC: 28-50
  • MONITOR VER REFR: 43-75
  • MONITOR DEFAULT DEPTH: 16
  • 就可以去設定 /etc/X11/xorg.conf 囉~