Hot Rod
2006 年 5 月 22 日
今年年初,我經常出差,所以我的寫作完全停擺。幾週前我回到家,希望可以寫很多東西。嗯,我確實寫了一些,但總有一些事情讓我分心:動手術取出事故中的鋼釘、淹水。但最大的生產力殺手是我自己造成的——買了一台新電腦。
美好的計畫
我舊的設備是一台執行 Ubuntu 的桌上型電腦、一台執行 Windows 的 Dell D600 公司電腦,以及我的 PowerMac。由於 D600 實在太重,我幾乎沒有帶著它出差,而是依賴 Mac。這些設備都已經兩年了,這是我換新東西的門檻。Thoughtworks 用一台非常棒的 Dell X1(小巧,重量 2.5 磅)取代了 D600 磚塊,它將取代 Mac 成為出差用的電腦。(我喜歡 Mac,但 5 磅太重了。)因此,我必須想辦法處理桌上型電腦。
我相當喜歡自己組裝桌上型電腦,這樣我就可以選擇並確切知道裡面裝了什麼。這樣做的缺點是,必須確切知道哪些元件組合會運作良好。事實證明,我經常閱讀 Ars Technica,他們會定期發布系統指南,提供方便的組態。因此,我決定遵循他們的 2006 年 4 月指南,組裝 "HotRod"。
實際上,我並沒有完全遵循 Hot Rod。Ars 指南傾向於專注於遊戲玩家,而我不玩電腦遊戲。因此,我決定大幅降低顯示卡等級,選擇他們為預算型電腦挑選的 ATI X800GTO。我也沒有費心處理音效,只依賴主機板上的音效功能——音樂由 Squeezebox 處理。我在硬碟上進行了升級,增加了他們建議的 10,000rpm WD Raptor。
當我購買新的桌上型電腦時,我通常不會買新的顯示器——因為顯示器的使用壽命比電腦長很多。然而,是時候換新的了。我對「如何提升我們的開發生產力」最喜歡的答案之一,就是告訴他們購買比他們認為需要的更大的顯示器。螢幕空間對生產力有很大的影響,無論您是在編寫程式還是寫作。我舊的設備是一台 21 吋 CRT,過去還不錯,但現在我想要更多。因此,我選擇了兩台 Samsung SyncMaster 204B 20 吋 LCD 顯示器。
這個新的設定,特別是使用雙頭顯示卡,帶來另一個問題 - 如何讓多個作業系統共存。我以前使用舊式桌上型電腦和 D600,並透過 kvm 切換器連接。這很方便,因為我可以輕鬆地在 Ubuntu 和 Windows 之間切換,視我想要做什麼而定。使用雙頭顯示卡進行 kvm 切換聽起來很複雜。然而,聽了我們倫敦辦事處的人員大力推薦虛擬化,讓我決定採用另一個選項。他們的觀點是,最好讓 Linux 成為主機,並讓 Windows 以虛擬方式執行。這很適合我,因為我比較喜歡 Linux 的虛擬桌面功能。(Windows 在其 PowerToys 中有一個虛擬桌面管理員,值得擁有,但不如大多數 X 視窗管理員附帶的功能好。)
殘酷的現實
所以這就是計畫 - 下一個問題是事情進行得如何(以防其他人也有類似的想法)。
組裝硬體很簡單 - 只花了我幾個小時。我使用隨身 Linux 光碟開機(最接近的是 Damn Small Linux),一切似乎都正常運作。
我的第一步是在一個分割區上安裝 Windows。即使我打算以虛擬方式執行 Windows,但我並不確定這個想法對我來說是否最有效 - 也許有一天我想用一些花俏的圖形做些事情。這並不容易,因為網路和視訊無法透過直接安裝正常運作 - 但透過新增主機板(網路)和視訊的驅動程式就很容易修復了。
Windows 通常只會使用視訊,所以這張卡需要一些額外的作業讓我感到擔心 - 因為 X 可能更難看。當我安裝並嘗試開機 Ubuntu Breezy 時,這得到了證實 - X 無法啟動。這是 Unix 桌面的最大夢魘 - 設定 X 是你可以經歷的最糟糕的安裝體驗之一。即使你使用「使用者友善」的 X 安裝程式,它也會問你「你要使用加密藍色協方差適應嗎?」(或對我來說同樣有意義的內容),我必須猜測一個答案,並希望我的笨拙操作不會燒壞我昂貴的新顯示器。
Google 是唯一的解決方案,最後我找到了 這個 Ubuntu wiki 頁面,告訴我安裝一些額外的套件。嗯,在 Ubuntu 中安裝套件很簡單
sudo apt-get install xorg-driver-fglrx sudo dpkg-reconfigure xserver-xorg
我交叉手指,並選擇建議的預設值,除了選擇 fglrx,正如網頁告訴我的。X 仍然沒有啟動,但網頁告訴我錯誤(重複符號 rol_long')以及如何修復它。我按照說明,X 突然啟動了。(然而,它仍然不太正確。執行 fglrxinfo 告訴我,它沒有使用正確的驅動程式來加速 3D - 但對我來說沒關係,我大部分時間都在 2D 世界中。)
或者更確切地說,它突然啟動了一半。我僅使用一個顯示器就完成了所有這些操作 - 我喜歡一次執行一個步驟。同樣,它需要一些 Google 搜尋才能找出該怎麼做 - 沒有像 Windows 上那樣漂亮的控制面板(更不用說十多年前我在 Mac 上執行雙螢幕)。
首先要決定使用哪種類型的雙螢幕。X 長期以來一直能夠執行多個顯示器 - 但與 Windows/Mac 的執行方式不同。傳統的 X 方式是在每個顯示器上執行獨立的 X 會話。這樣做存在的問題在於它們是完全獨立的,您無法將視窗從一個顯示器拖曳到另一個顯示器。此外,在兩個顯示器上執行的任何程式都必須執行獨立的執行個體(這表示不同的 Firefox 設定檔等)。然而,這種方法的優點是,您可以為每個顯示器取得獨立的虛擬桌面。總之,我決定我對傳統 X 感到滿意(目前) - 另一種選擇是使用 Xinerama,但我在其他時間會研究它。
我嘗試使用 fglrx-control 來設定雙螢幕。沒有用 - 我可以將它設定為雙螢幕,但它每次都會忘記。最後,fglrxconfig 幫助我完成了這項工作。
下一步是試用 VMWare。我從網站下載 VMWare Server(目前為免費測試版 - 如果我喜歡,我會在它發布時付費。)開始使用並不容易 - 在這種時候,我真的很想念 apt。我執行安裝程式指令碼,它遇到依賴項問題。我需要下列項目
sudo apt-get install make sudo apt-get install gcc-3.4 sudo apt-get install linux-headers-amd64-generic
一旦我這樣做,VMWare 就安裝得很好。我安裝了 Windows、Visual Studio、Visio 和其他零碎的東西。一切似乎都運行良好。
然而,主機上並非一切都很好。我會愉快地工作幾個小時,然後我的主顯示器(X 語言中的螢幕 0)上的畫面會突然變黑。顯示器完全失去訊號。我最終意識到,我可以透過輸入 ctrl-alt-f5 來取得虛擬主控台,它會出現在兩個螢幕上,然後輸入 ctrl-alt-f7 來返回 X,以將它取回。很煩人。但當我輸入 ctrl-alt-f5 且兩個顯示器都失去訊號時,情況真的很糟。這讓我卡住了 - 即使從另一台電腦登入並重新啟動 X 也無法將它們取回 - 我必須重新開機。
我忍受了一段時間,但它變得太煩人了。所以我決定也許我應該轉到 Dapper Drake。Dapper 是 Ubuntu 的下一個版本,仍處於測試階段,但據說相當穩定。也許這會有幫助,如果沒有別的,它將允許我使用 apt 來安裝 Java。
安裝過程非常順利
gksudo "update-manager -d"
我很快地發現,升級後已獲得正確的 ATI 驅動程式。(我曾懷疑視訊驅動程式是否是問題的一部分。)我也獲得了醜陋的橘色圖示和升級版的 Firefox。壞消息是我遇到了一些其他問題。
最糟糕的問題是 xemacs 停止運作,這對我來說影響重大,因為我經常使用它。問題出在尋找色彩上,請參閱 此討論串 以取得更多資訊,以及我如何解決此問題。
另一個問題仍然存在,電腦無法關機。如果我嘗試關機(透過任何途徑),螢幕會變黑,關機音效會在中斷時停止,然後一切都掛住了。我必須在主機上將其關閉。
好消息是,自 Dapper 安裝以來,我沒有再發生過黑螢幕問題。
一切都值得嗎?
我必須承認,在處理 emacs 故障和該死的事物無法正常重新開機的過程中,我開始懷疑我是否應該直接買一台 Mac。我確實發現,與 Windows 或 Linux 電腦相比,我在 Mac 上花在瑣事上的時間少了很多。就在我處理這個問題時,Parallels 為 Mac 發布了一個虛擬化環境。然而,現在我已經擁有它,我想讓它正常運作。事後看來,我認為我可能犯了兩個錯誤:直接安裝 Breezy 而不是 Dapper,以及執行 amd 64 架構(而不是 i386)。儘管 Dapper 有其缺點,但看起來安裝它會更好地解決視訊驅動程式問題;這表示我花在讓 X 運作的時間會更少。我也可能因為 amd64 程式碼不如 i386 程式碼而導致某些功能無法正常運作。(其中一個問題是我無法執行 Flash VM,因為他們尚未為 amd64 上的 Linux 製作一個。)
當然,我並不知道它們是否真的是錯誤,因為我可能花同樣多的時間來處理其他問題。當然,無法執行乾淨的重新開機會(而且確實)讓我痛苦不堪。
是否要切換到 Windows 作為主機?這是一個誘人的想法,如果無法修復 emacs,我可能會這麼做。我確實喜歡在 Ubuntu 上安裝東西的便利性,而且虛擬桌面管理非常方便。我過去肯定在 Windows 中度過了焦慮的日子。總之,這是一個艱難的決定,但我們拭目以待。我確實喜歡在 VMWare 映像中使用視窗。即使我必須切換到另一個 Linux 安裝,我也只需將 VMWare 映像連同安裝的所有內容帶到新機器即可。在 Windows 上安裝軟體保證會花費大量時間,即使是免費下載也必須個別拜訪並下載。話雖如此,我尚未在 Visual Studio 中花費大量時間,這將是虛擬化的真正考驗。
更新(6 月 16 日)
幾個人建議進行乾淨的 Dapper 安裝會比從 Breezy 升級更好。這週我從中國回來;在我離開期間,Dapper 發布了。更新我的系統仍然無法讓我執行乾淨的關機,所以我下載了最終的 Dapper CD 來看看它們如何運作。結果並未令人鼓舞。AMD 64 和 i386 CD 都無法在預設啟動中啟動進入 X。如果我在 AMD 64 中嘗試安全圖形模式,我聽到了 gnome 出現,但我的螢幕是空白的。我在安全圖形模式下使用 i386 CD 確實獲得了工作系統(在一個螢幕上)。在 Ubuntu 論壇上有很多關於讓 ATI 顯示卡正常工作的問題的討論。
所以,我目前的感受是,我的設定對 Ubuntu 來說並不太好,但我確實讓它運作了。自 Dapper 更新以來,我的螢幕在我工作時不會出現空白的問題,所以我的唯一問題是無法執行乾淨的關機。目前我可以忍受這一點,我不傾向於花更多時間嘗試進一步修改。然而,我不會向其他人推薦我的設定。