2011年1月30日 星期日

StarCraft II on Linux

星海爭霸II:自由之翼 其實本來在我的MacOSX上跑得好好的。但不知道為什麼,在Perth某一天更新之後,明明已經更新完成了,但是更新小視窗就消失了。點了桌面上的啟動圖示也沒用,又開啟了更新小視窗,然後又顯示下載更新,下載還沒結束小視窗又自動關閉;最後重新安裝StarCraft II也是一樣的下場。

後來,我把她安裝到我的WindowsXP上。不知道為什麼,效率其差無比,但是為了玩,只好將就。到了Adelaide之後,我的xp完全不能開機;塞了光碟片修復之後,雖然可以開了,但是windows的音效卡會自動消失偵測不到混音裝置。我再也沒有興趣跟力氣搞windows這種天生殘障的問題,所以我把腦筋動到wine:我可以輕易的在linux上安裝Office 2003以及CorelDraw 12,為何不試試看裝星海II呢?

在網路上找找StarCraft II on Linux這些關鍵字,看來許多人都成功的在linux上面快樂的玩StarCraft II,我怎麼能例外呢?於是塞進光碟片,就開使用wine來安裝啦!

安裝的過程有點音爆,後來就沒聲音了;字體也有些問題。其實我最不喜歡二代的地方是:她實在是太中文化了,一點fu也沒有。
執行遊戲之前一定要更新實在是很討厭的事情。我這裡網路很貴,安裝玩大約又下載了快400mb的更新程式來安裝,我這禮拜不用上網了。不用上網表示也不能玩SCII了...
不知道為什麼,取截圖總是會有空白的部份...這是在啟動compiz的時候截圖的,剛好截到我女友美麗的眼睛,真是過份...
我等這幕等了好久!真的不知道要更新到何年何月...
終於可以連進去玩了!所有音效、字體、設定等都完全正常,當然必須把compiz關掉,然後把遊戲的特效都切到最低,但還是沒辦法擷取完整的圖,很奇怪;我唯一不肯退讓的是解析度,所以進行遊戲時,我的MacBook風扇瘋狂的運轉,但跑起來並不會停頓,比我在xp上效能還好,果然是我鍾愛的Linux,強而有力,從沒讓我失望!

我是完全沒有遇到任何遊戲上的問題,但是聽說有些人遇到音效上的問題,或許可以參考這兩篇文章:

2011年1月8日 星期六

Ultraedit For Linux(UEX)釋出

UltraEdit For Linux/Mac版其實去年八月底就釋出了,截至目前為止(2011.01.08)在MacOS上的最新版本是2.0.0.2,在Linux上則是1.2.0.12,針對Ubuntu/Debian, OpenSuSE, Redhat, Fedora四大類Linux發行版本提供32及64bits版本的安裝程式。對於非上述Linux的版本則提供以編譯好的tarball,解壓縮之後就可以直接使用。

試用版提供30天的試用期,不管這30天你用多少次,30天之後就會強迫要求輸入註冊碼,否則就會自動關閉。

我們來試用看看吧:

  1. Download UltraEdit Linux 1.2.0.12 patch。如果連結失效的話,試試看這裡。
  2. 到UltraEdit Linux下載頁面根據你的作業系統下載相對應的版本。
    除了下載deb或rpm檔之外,請再額外下載最下面的tarball檔。
  3. 將uex的tarball解壓縮,假設解在桌面,然後先進到/home/maxsolar/Desktop/uex/bin裡。
  4. 再將剛剛下載的patch解壓縮,複製其中的UltraEdit_1_2_0_12_Patch_by_Pesymista到/home/maxsolar/Desktop/uex/bin裡。在這個目錄裡執行:
    ./UltraEdit_1_2_0_12_Patch_by_Pesymista
    執行如果有成功,應該再輸入./uex &就可以正常試用UEX。
  5. 到此為止只是先取得一個uex可以執行的環境,設個PATH環境變數就可以正常執行了。可是我希望系統開啟文字文件可以自動辨識有uex可以使用,因此我們現在來安裝他:
  6. 以Debian/Ubuntu為例:
    dpkg -i uex_1.2.0.12_i386.deb || apt-get install -f
    以Fedora 13為例:
    yum localinstall --nogpgcheck UltraEdit-1.2-0.12.fc13.i686.rpm
  7. 接下來,只要複製剛剛patch好的二進位檔就可以了:
    cp /home/maxsolar/Desktop/uex/bin/uex /usr/bin
    rm -r ~maxsolar/Desktop/uex

如果你一開始就安裝deb/rpm到系統上,使用patch並不會成功,或是雖然顯示成功但執行時卻警告segmentation fault;這個方法是個迂迴的方式,讓使用者可以方便的試用UEX。最便宜的單人使用是49.95美元(還說省了10元...)至於有沒有那麼棒的經濟效益就看個人使用需求再選購囉!

2011年1月3日 星期一

Shared folders on Virtualbox

Virtualbox終於邁入4.0了!這個版本比先前3.2.x的版本多了比較視覺化的功能,也開始支援guest MacOSX了!對於USB 2.0的支援變成需要下載額外套件來安裝才行。令我印象比較深刻的是 4.0在shared folders多了automatic mounting的功能,可以讓她自動掛載在/mnt(Solaris)或是/media(Linux)上,對於許多linux不熟的下一步工程師而言,這可是個美好的功能。 本文的目的也是為了紀錄做一個guest端automatic mounting的筆記,只不過我希望透過寫在/etc/fstab裡使其開機可以掛載。我堅信唯有透過撰寫設定檔,才能增加對於該功能的了解。

在shared folders的設定裡有兩個選項:Read-only跟Auto-mount。使用automatic mounting需注意使用者必須有加入vboxsf群組才行。
在Linux guests裡,auto-mount會掛載在/media底下,並且以sf_開頭。舉例來說,一個名稱為DATA的共享資料夾,在Linux裡掛載到/media/sf_DATA,在Solaris上掛載到/mnt/sf_DATA, 在windows裡則會自動多一個磁碟機。

手動或許是一個更好的方法,因為我希望他掛載在我指定的位置上。假設在Linux跟Solaris上使用者的uid=gid=1000,且我想分享的資料夾名稱是MacOSX:

  1. For Solaris guests:
  2. pfexec mount -F vboxfs -o uid=1000,gid=1000 MacOSX /export/home/maxsolar/MacOSX
  3. For Linux guests:
  4. mount -t vboxsf -o uid=1000,gid=1000 MacOSX /home/maxsolar/MacOSX
  5. For Windows guests:
  6. net use Z: \\vboxsvr\MacOSX
三種作業系統所定義的filesystem名稱都不一樣阿,特別是Solaris跟Linux特別容易敲錯,需要小心。

如果寫成設定檔使其開機時就可以自動掛載的情形又是如何呢?

  1. For Linux guests:
  2. 修改/etc/fstab,並新增一行:
    MacOSX /home/maxsolar/MacOSX vboxsf uid=1000,gid=1000 0 0
  3. For Solaris guests:
  4. 修改/etc/vfstab,並新增一行:
    MacOSX - /export/home/maxsolar/MacOSX  vboxfs - yes uid=1000,gid=1000
    Solaris的vfstab相當於Linux的fstab,但是格式有所不同,這七個欄位分別是:
    Device to mount, Device to fsck, Mount point, FS type, Fsck pass, Mount at boot, Options
    但是開機的時候卻會失敗。我找到了Jim Laurent的部落格, 發現他找到了問題所在:Solaris先處理vfstab這個檔案之後才掛載/export底下的ZFS檔案系統,因此把掛載點改成其他非/export的目錄即可成功開機,例如上例需改成:
    MacOSX - /MacOSX  vboxfs - yes uid=1000,gid=1000
    就可以成功開機。不過我還是不喜歡這種感覺,我討厭被限制!幸好Unix/Linux為了達到目的可以有多種方法,我可以新增一個session讓他登入的時候執行,也可以寫在開機之後的script裡。 最簡單的方式就是寫在login shell裡吧!新增一行到/etc/profile裡就可以達到相同目的:
    pfexec mount -F vboxfs -o uid=1000,gid=1000 MacOSX /export/home/maxsolar/MacOSX
  5. For Windows guests:
  6. 什麼事也不用做,輸入net use那行指令就可以永遠使用該磁碟機當作掛載目錄。

這個版本允許使用者建立Mac OS X的虛擬機器耶!只是不知道在guest Mac OS X下該如何設定,即使官方網站的End-user document也沒有寫。不過如果是以上三個作業系統,他的詳細設定則可以從shared folders頁面找到更多詳細設定。

2010年11月9日 星期二

玩flashgame訓練邏輯能力--lightbot2

真是久違了的好遊戲!!沒想到出了第二代!!趕快來玩玩吧~~~~
如果你沒有玩過第一代的話,請參考玩flashgame訓練邏輯能力--lightbot,喜歡寫程式的朋友一定會瘋狂的啦~~

2010年11月8日 星期一

LPIC-1 passed

9/27我趕在出國前趕快把LPIC考一考,11/2巨匠email通知我可以來領取我的LPIC-1證照了。從考上到領到證照,大約35天左右。不過我人在澳洲,所以請老婆代領。考過LPIC-1其實沒有想像中的興奮,因為RHCE跟NCLP這類實機考試都通過了,考LPIC只是把先前的考試卷在出國前趕緊用掉而已。不過話雖如此,我覺得LPIC的證照還蠻好看的。

9/24考101,才考700分...9/27考102,竟然630...更低


過了一天才收到信

這張卡片真的很漂亮唷!

2010年10月28日 星期四

Microsoft真的害怕OpenOffice.org!!

你有看過一間全世界最賺錢的公司花大錢設計廣告來打一個可能很多人都沒聽過的組織嗎?我想,這部影片用來描述欲蓋彌彰是在恰當不過了。

話說回來,我的碩士論文也是用OpenOffice.org 2.0來寫的,剛開始還叫OpenOffice.org,真的是世界難用;後來的2.0以後就好很多了,沒有遇到什麼大問題。真的要互相來質疑的話,用office2007來開office97來試試看會不會跑掉,然後在用OpenOffice.org3.0來開sxw版面是否正常,然後看看誰能直接的把office文件轉成pdf?

延伸閱讀:
中國網軍新攻擊,惡意程式竄改Word設定偷機密

2010年10月11日 星期一

Linux+MacOSX+Windows Triple Boot on Macbook Pro

keywords:Linux, Mac, XP, 多重開機, MacBook pro

我在2009年買了一台15吋的MacBook pro,一直到最近才開始比較有時間去玩他。MacOSX本身當然沒有什麼大問題,但是想到要在MacBook pro上面裝linux跟WinXP就感到很刺激,可以預期的是,因為是intel的cpu,所以os本身應該沒有大問題;但是週邊設備(例如解析度、亮度、觸控版、音效、視訊、有線/無線網路, etc.)就真的很難保證。本文僅作為一篇經驗分享文,沒有太多的技術在內,僅作為筆記分享給需要的看官。

EFI與BIOS

BIOS(Basic Input/Output System)幾乎是普羅大眾學習電腦都會碰到的東西,有著跟pc一樣古老的歷史。簡而言之,他掌控了開機時的自我檢測,包含電壓、記憶體、cpu、硬碟等週邊設備。雖然所有配備都日新月異的在進步,但是bios卻是依然停留在16位元的環境。由於bios自我檢測之後會自動尋找第一個開機的裝置,如果是硬碟,則會尋找他的MBR(master boot record)。而MBR又有非常多的限制,只能有四個主要分割區,如果要安裝多個系統則需要小心維護MBR。這麼多年下來,bios的缺點依然沒有被改進。目前支援GUID的作業系統可以參考wikipedia的資料。
EFI(Extensible Firmware Interface)不但完全擁有BIOS的功能,而且他其實就是一個小型的os,扮演作業系統與韌體之間溝通的角色。能載入硬體的驅動程式,所以在EFI裡可以使用滑鼠、鍵盤。EFI使用的是GUID的分割表方式(或類型),有別於BIOS使用的是ms-dos的分割表模式,使得硬碟能有128個主要分割區,開機管理程式也不再放在MBR(當然,EFI也可以支援MBR),而是會放在GPT(GUID partition table),開機時由EFI去控制要開進哪一個含有作業系統flag的分割區。比起傳統的MBR,要安裝多個os,GPT確實方便且強大多了,只是他會佔用第一個主要分割區,而且不會自動隱藏。

行前準備

  1. MaxOSX Snow Leopard安裝光碟
  2. Windows XP安裝光碟
  3. MintLinux 9安裝光碟
  4. 決定讓三個os都能讀取的檔案系統:hfsplus
  5. 完全不使用bootcamp
  6. 決定安裝順序:MacOSX->Windows->Linux

MacOSX的安裝與硬碟配置

我是從頭重新安裝MacOSX的,為此我還買了一個1T的硬碟來取代裡面原本的250G小硬碟--對於重度使用virtual machine的我,使用固定大小的映像檔需要很大的空間。由於1T的硬碟比較厚,所以MacBook/MacBook Pro系列的才能裝,Air可就裝不下了!

如果你有安裝Leopard(10.5)的經驗--兩片DVD,總共安裝時間大約要兩個小時,非常辛苦;Snow Leopard(10.6)是大幅修改kernel(雖然Apple說是重新撰寫kernel),使得10.6有較好的效能、功能以及較短的安裝時間(約30分鐘左右)。

10.6是我額外去買的,NT 1090,比起windows,我覺得便宜又值得。
安裝MacOSX時,請先到磁碟工具裡,把該硬碟分割成四個分割區(事實上MacOSX會分成五個分割區,第一個就是GPT所佔的分割區啦,約200MB左右)。我對於這顆硬碟的劃分是:120G的hfs+(journalled)給MacOSX,40G的ext4給LinuxMint,100G的fat-32給windows,剩下所有的空間都切成hfs+(journalled),到時候可以在linux裡讀寫hfs+分割區。分割時,給定一個辨識度高的標籤非常重要。

(上圖是我安裝完MacOSX之後在額外安裝NTFS-3g才會有的結果,關於ntfs-3g,請詳閱後面內容。而MacOSX預設並不支援linux的檔案系統,因此就暫時格式化成fat-32或是hfs+都無所謂。)
不選擇其他檔案系統當成共用的分割區,有如下的原因:

  1. Windows僅拿來打電動用,並不拿來上網或是工作,甚至是聽音樂看影片也不會,因此可以讀取hfs+就可以。
  2. 在Linux跟MacOS下讀寫NTFS都必須透過fuse/macfuse,速度很慢;Linux目前對於hfs+讀寫支援得相當不錯,速度也很不賴(寫入稍慢,刪除非常快!!)
  3. hfs+是MacOSX預設的檔案系統格式。vfat非常容易造成磁區破碎分佈的情形,而且單一檔案大小又有4G的限制。
(當然如果你有其他的需求,自然要依據您的需求作調整。)
劃分安裝MacOSX的分割類型時,請選擇GUID,否則會無法順利安裝MacOS;另外我會建議安裝MacOSX的分割區最好是MacOS類型+日誌式+區分大小寫,這樣屆時在linux底下才會有比較高的相同感--畢竟linux下的檔案系統都是區分大小寫的。

在劃分時,我遇到無法重新格式化或是切分割區時,我不熟MacOSX底下的指令,我只好塞入linux的live CD去把所有分割區刪掉,再重新開進mac安裝光碟以進行安裝。由於linux的fdisk指令不支援GPT,你必須使用parted/gparted來製作一個可以安裝Mac的分割表。

由於需要跟linux共用資料,因此如果每個檔案都有不同的uid/gid是很麻煩的事情。你可以選擇讓Linux配合BSD的傳統配置(uid/gid=501/20),也可以讓Mac配合linux--我選擇後者。在Debian系列的linux裡,第一個使用者的uid/gid都會是1000,安裝完MacOSX之後,我們就把Mac裡的uid/gid改成1000吧!

sudo su -
dscl . -change /Users/maxsolar UniqueID 501 1000
dscl . -change /Users/maxsolar PrimaryGroupID 20 1000
chown -R 1000:1000 /Users/maxsolar
如果沒有錯誤訊息,表示變更已經完成。請不要作任何動作,直接重開機。
再次進入Mac--這個時候我的gid=1000並沒有相對應的群組名稱,但根本無關痛癢--unix世界是認uid/gid,而非名稱。由於我有使用終端機的需求,因此有兩行需要加入~/.profile:
export PS1="\[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] "
alias ls='ls -FG'
如果一切ok的話,請按左上角的蘋果,點選軟體更新,讓系統保持在安裝好patch的狀態。

ntfs-3g for Mac的安裝

NTFS檔案系統在linux下穩定的讀寫已經行之有年,透過fuse的技術,我們一樣可以在user space使用NTFS。mac上使用ntfs也是透過fuse,但是卻是跟linux世界不同的fuse;為了有所區別,Tuxera公司把它稱為MacFuse,總之是相同的原理,讓Mac可以認識ntfs並且在上面進行讀寫。速度不能跟原生的hfsplus相提並論就是了。

Windows的安裝

務必確定windows的分割區是最後一個(或是第四個)分割區。由於Windows只認得MBR,在MBR與GPT混雜(hybrid)的情況下,WindowsXP必須要在最後一個(但不能超過第四個)分割區才能成功安裝,否則會出現:

"下列檔案遺漏或損毀,無法啟動Windows:
system32\hal.dll
請重新安裝一份上列檔案的拷貝"
事實上你的windows裡是有這個檔案的,boot.ini的設定也完全沒錯,但如果不是把windows放在最後一個(最多不超過四)磁區,這個問題就會一直存在。
假設你的分割區已經配置完成,塞入xp光碟並重開機之後,按住c不放以進入光碟開機,並依照你的規劃選定windows要安裝的分割區。

(利用Mac的diskutil工具都會有128MB的間距,或許有他的意義吧!?只要注意GPT會佔去第一個分割區,我說的第四個是包含GPT分割區。)
安裝完成後,請update以安裝所有修補程式,並且塞入Snow Leopard光碟,裡面包含支援Macbook Pro的所有驅動程式。

安裝好bootcamp驅動程式之後,會發現可以看到MacOSX的hfsplus分割區了!但是第五個分割區卻讀不到,這就是windows XP只認得MBR的證據--只認得4個主要分割區,而GUID則全為主要分割區,所以我所標示的DATA分割區在windows裡是看不到的。不過即使裝了驅動程式,hfsplus檔案系統對windows來說還仍然是read only,需要安裝像MacDrive這類商用軟體才能在windows讀寫hfs檔案系統。

linux的安裝

筆者安裝的是LinuxMint 9,我想其他套linux也是大同小異,只需要額外安裝一些套件即可,只要注意鍵盤格式要選擇USA-Macintosh,以及開機管理程式安裝在自己的root分割區(本例而言是sda3)

LinuxMint是基於ubuntu的封裝版,因此就跟ubuntu一樣,安裝後會自動顯示偵測到廠商私有的驅動程式。我的這台MacBookPro是nvidia Geforce 9400M;當系統剛安裝好時,xorg是載入nouveau(opensource的nvidia晶片驅動程式)可以使用F1/F2調節亮度,但是安裝完nvidia私有驅動程式之後,螢幕亮度會到達100%,而且沒有任何控制鍵可以調低亮度。
為此,我們必須手動使亮度降低才能繼續工作:

smartdimmer -s 20
smartdimmer是nvidia控制亮度的一個小程式。當xorg載入的是nvidia的模組時,原本在gnome裡面所有控制亮度的小工具都失效了,也因此只好手動調整亮度。-s表示設定(set),20表示20%的意思。事實上我們還需要一些步驟來修改Macbook,務必執行上一步驟使亮度降低,否則眼睛一定受不了。

增加Mactel-PPA套件庫:

add-apt-repository ppa:mactel-support
aptitude會自動增加套件庫並且下載公開金鑰,一切都是自動化。當然,請務必更新套件庫:
aptitude update
我們來安裝一些必要的套件:
aptitude install applesmc-dkms bcm5974-dkms gnome-power-manager isight-firmware-tools macfanctld mbp-nvidia-bl-dkms nvidia-bl-dkms pommed xfree86-driver-synaptics xserver-xorg-input-synaptics xserver-xorg-video-intel pommed gnome-alsamixer
以上的套件除了安裝for macbook週邊的firmware之外,還需要pommed daemon幫助我們調整預設亮度。請修改/etc/pommed.conf:
#
# Configuration file for pommed
#

# General configuration
general {
# fnmode: functions keys first (no need to use fn) or last
# Value is either 1 or 2, effect is hardware-dependent
fnmode = 2
}

# sysfs backlight control
# nVidia machines, will fall back to nv8600gmt if not supported by the kernel
lcd_sysfs {
# The sysfs backlight control is a generic interface provided
# by the Linux kernel for backlight control on most graphic cards.
# The brightness range can differ depending on the hardware.

# initial backlight level [12] (0 - 15, -1 to disable)
init = 10
# step value (1 - 2)
step = 2
# backlight level when on battery [6] (1 - 15, 0 to disable)
on_batt = 8
}

# ATI X1600 backlight control (MacBook Pro v1 & v2)
lcd_x1600 {
# initial backlight level [200] (0 - 255, -1 to disable)
init = -1
# step value (1 - 127)
step = 10
# backlight level when on battery [80] (1 - 255, 0 to disable)
on_batt = 80
}

# Intel 945GM, 965GM backlight control (MacBook v1-v4, MacBook Air v1)
lcd_gma950 {
# initial backlight level [0x6f] (0x1f - 0x94 usually, -1 to disable)
init = -1
# step value (0x01 - 0x20)
step = 0x0f
# backlight level when on battery [0x40] (0x1f - 0x94 usually, 0 to disable)
on_batt = 0x40
}

# nVidia GeForce 8600M GT/9400M/9600M GT backlight control
# (MacBook Pro v3-v5, MacBook v5, MacBook v2)
lcd_nv8600mgt {
# initial backlight level [12] (0 - 15, -1 to disable)
init = 10
# step value (1 - 2)
step = 2
# backlight level when on battery [6] (1 - 15, 0 to disable)
on_batt = 6
}

# Audio support
audio {
# Use amixer or alsamixer/alsamixergui to determine the sound card
# and the mixer elements to use here.

# sound card to use
card = "default"
# initial volume [80] (0 - 100%, -1 to disable)
init = -1
# step value (1 - 50%)
step = 10
# beep on volume change
beep = yes
# mixer element for volume adjustment
volume = "PCM"
# mixer element for muting the speakers
speakers = "Front"
# mixer element for muting the headphones
headphones = "Headphone"
}

# Keyboard backlight control
kbd {
# default value for automatic backlight (0 - 255)
default = 100
# step value (1 - 127)
step = 10
# ambient light thresholds for automatic backlight (0 - 255)
on_threshold = 20
off_threshold = 40
# enable/disable automatic backlight
auto = yes
# idle timer - switches off keyboard backlight automatically (timeout in seconds, -1 to disable)
idle_timer = 60
# idle tickms - timer tick rate in milliseconds
idle_tickms = 2000
}

# CD/DVD drive ejection
eject {
# enable/disable eject key
enabled = yes
# CD/DVD device
device = "/dev/dvd"
}

# Beeper
beep {
# enable/disable beeper
enabled = no
# WAV file to use (from pommed: goutte.wav or click.wav in /usr/share/pommed)
beepfile = "/usr/share/pommed/goutte.wav"
}

# Apple Remote - deprecated
# Note: the appleir driver is required for this to work; this driver has been
# obsoleted with Linux 2.6.22, so unless you are running a kernel < 2.6.22 or
# use the appleir driver on a newer kernel, this won't work.
# You should use LIRC instead.
appleir {
# enable/disable the appleir support
enabled = no
}
紅字的區域是我們要注意的地方--啟用fn鍵來控制最上面的快捷鍵,以及啟動時的預設亮度。設定完之後讓pommed重新啟動吧!
invoke-rc.d pommed restart
這個時候,你應該需要使用fn鍵來調整亮度了。

利用gnome-alsamixer關閉靜音狀態:
這個時候,我們的linux還是啞巴狀態,原因是預設輸出(front speaker)是mute狀態,文字介面的alsamixer並沒有辦法變更mute狀態,我們必須呼叫gnome-alsamixer才能關閉靜音:

確認mute沒有打勾,這樣linux就會有聲音了。當初為了找沒有發聲的原因,幾乎要翻遍了所有設定檔...

使linux可讀寫hfs檔案系統:
由於我們需要讀寫hfsplus,所以我安裝了以下的套件:

sudo aptitude install hfsplus hfsprogs hfsutils
安裝好之後,我們已經可以建立並掛載hfsplus檔案系統了。在linux下我們看看分割區長什麼樣子吧:
WARNING: GPT (GUID Partition Table) detected on '/dev/sda'! The util fdisk doesn't support GPT. Use GNU Parted.

Disk /dev/sda: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x00000000

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1          26      204819+  ee  GPT
Partition 1 does not start on physical sector boundary.
/dev/sda2   *          26       15691   125829120   af  HFS / HFS+
/dev/sda3           15707       20929    41943040   ef  EFI (FAT-12/16/32)
/dev/sda4           20945      121585   808392368   af  HFS / HFS+
我們在安裝時所切的三個分割區其實是sda{2,3,4},sda1則是GPT的所在。我不清楚MacOS為什麼要在每個分割區之間都隔了一個128MB大小的空間,好在我們只浪費三個128MB...
我希望在家目錄下新增兩個資料夾來放sad2與sda4,先改個/etc/fstab先:
LABEL=MacOSX   /home/maxsolar/MacOSX   hfsplus   defaults,user,users,force   0   0
LABEL=DATA   /home/maxsolar/DATA   hfsplus   defaults,user,users,force   0   0
由於linux並未正式支援hfs+的寫入,需注意參數必須加上force才能掛載為可讀寫模式。

Linux與MacOSX共用目錄架構:
在家目錄建立DATA與MacOSX兩個資料夾之後,可以用一般使用者身份掛載:

mkdir ~/{MacOSX,DATA}
mount ~/DATA
chown maxsolar:maxsolar ~/DATA
mount ~/MacOSX
chown maxsolar:maxsolar ~/MacOSX
chown能成功的關鍵在於你必須有在fstab加入force參數,否則永遠都會是read-only的檔案系統,即使你已經在Mac把你的uid/gid改掉了,也是枉然。

接著,我們希望家目錄下的一些目錄可以共享:

cd $HOME
rm -r Desktop && ln -s MacOSX/Users/maxsolar/Desktop .
rm -r Downloads && ln -s MacOSX/Users/maxsolar/Downloads .
rm -r Documents && ln -s MacOSX/Users/maxsolar/Documents .
rm -r Music && ln -s MacOSX/Users/maxsolar/Music .
rm -r Pictures && ln -s MacOSX/Users/maxsolar/Pictures .
rm -r Public && ln -s MacOSX/Users/maxsolar/Sites Public
ln -s MacOSX/Users/maxsolar/Movies .

啟用多點觸控:兩指翻頁而非側邊翻頁
到Preferences-->Mouse,到touchpad分頁啟動他!
到目前為止,兩套os檔案可以互通,無線網路、ethernet、視訊都可以使用了,要進入linux只需要按住option鍵,就可以選擇開機磁區;看起來十分美好不是嗎?

rEFIt的迷思

rEFIt是Mac機器上把EFI給視覺化的工具,簡而言之就是一個圖形介面的開機選單程式。我曾經下載了rEFIt來安裝,也成功的出現了三個作業系統的畫面,非常開心!

但是在後續開機進入MacOSX的時候,就無法成功開進MacOSX。在linux底下我用fsck檢查hfs+,發現有幾個block位置不正確,被修正之後才能順利開機;但是下次要進入MacOSX又是同樣的情形。所幸利用cmd+s進入單人模式,出現提示指令進行檔案系統的檢查,又發現有block位置異常,修復之後又可以開機了。我不知道這是什麼原因,但是在我移除rEFIt並且塞入Snow Leopard光碟修復MacOSX分割區之後,就在也沒有這種情形發生了;我不知道各位會不會有這種情形,但是我在也不會再去使用rEFIt了。進入MacOSX是預設值,要進入Linux/Windows只需要按住option鍵,會看到有另一個標示著『Windows』的硬碟,選擇他之後就會看見可愛的grub2選單了。

雖然硬碟裡有三個os,但是EFI的選單還是只會有兩個,且第二個一定是Windows(真鳥)。

一些未解的問題:

  • 鍵盤背光燈:
  • 鍵盤背光無法控制--你可以讓他暫時暗下來,但隨後又恢復亮度;只要鍵盤閒置他就會自動關閉,鍵盤一有動作,無論任何情況都會有50%的亮度顯現。
  • 在linux下的觸控版:
  • 在linux底下用觸控版移動視窗不能用兩點觸控,但可以使用雙擊+移動,也可以使用單點不放+移動。雖然不太方便,但習慣就好。
    無法支援MacOSX下的三指/四指觸控的功能,這點很可惜,即使在Windows底下也是如此。
  • 沒有print screen鍵、number以及insert鍵:
  • 沒有number跟insert鍵只是小問題,在windows打電動時需要trianer時,熱鍵不能用阿@__@|||,但是linux底下沒有printscreen鍵,每次都要點"Take Screenshots",很辛苦。
  • iSight會自動隨亮度變化,調整螢幕亮度:
  • 這應該算是好事,只是每次光線變化調整亮度都是調到100%,眼睛差點瞎掉,只好趕快用smartdimmer調低亮度,有點惱人。
  • 在linux環境下,耗電較兇:
  • 我自己的感覺是相同工作下,比MacOSX環境少了2小時左右。MacOSX在正常使用下幾乎可以到8小時的使用時間,linux大約只能撐6小時。
  • grub無法成功啟動MacOSX,無論是32或64bits
  • 如果我把linux的開機管理程式安裝在MBR,事實上是裝在GPT最前面128Kb的"Protective MBR"。然而這會導致Macbook一開機就進入了grub,而grub的預設值卻無法成功啟動MacOSX,我也不知道原因為何。但如果我安裝在sda3,那麼預設還是進入MacOS,如果要選擇進到XP或是Linux,就按個option鍵來切換。
    option鍵所能夠顯示的開機選單最多就三個:MacOS,非MacOS以及光碟機(或是firewire/USB),如果實體硬碟上有多個os,也只會顯示兩個而已,我覺得蠻不親切的,而且另一個系統的標籤預設是"Windows",我覺得蠻不好的,但找不到地方改。

參考文章: