2014-03-29

VirtualBox 與 Debian/Ubuntu 客端額外功能(Guest Additions)

來源 : 石頭閒語
本文的內容包括 :
  • 安裝客端額外功能(Guest Additions)
  • 滑鼠整合沒作用(Mouse pointer integration not work)
  • 螢幕解析度可調整項目變少了

必須要先安裝的套件

一、安裝 build-essential and module-assistant
安裝 build-essential ,這將用於編譯 VirtualBox 客端功能的 Linux 核心模組。
$ sudo apt-get install build-essential
$ sudo apt-get install module-assistant
$ sudo apt-get install linux-headers-$(uname -r)

 
二、安裝 dkms

若你的 Guest OS 是 Ubuntu 10.04 Lucid 或更新的散佈版本時,必須安裝 dkms。它是新的核心模組載入機制。已知 VirtualBox 的滑鼠整合功能模組依賴此機制載入。若未安裝 dkms ,則滑鼠整合功能不會發生作用。

$ sudo apt-get install dkms

如果你已經安裝了客端額外功能,才發現沒有安裝 dkms 且滑鼠整合功能沒作用,你必須安裝 dkms 之後,再重裝一次客端額外功能。更快捷的方式是在安裝 dkms 之後,直接執行指令 sudo /etc/init.d/vboxadd setup。裝好之後,須重新啟動 Guest OS.

三、下載 VirtualBox Guest Additions ISO

當你使用 VirtualBox 選單的「安裝 Guest Additions ...」之後,VirtualBox 通常會自動下載客端額外功能軟體的 CD ISO 影像檔,並且自動掛載。若你碰到未自動下載的情形時,也可自行到官方網站下載。下載後,再自行透過 CD 裝置掛載該 ISO 影像。掛載 VBoxGuestAdditions CD ISO檔後,開啟它,並以 root 的權限執行其中的 VBoxLinuxAdditions.run。

I tried to install the VirtualBox Guest Additions on a virtual Debian machine. However when I tried executing the installer script I got this error:

bash: ./VBoxLinuxAdditions.run: Permission denied
The script uses /bin/sh as shell and on Debian Wheezy /bin/sh is symlinked to /bin/dash. Dash is a more light-weight replacement for Bash, and it turns out that the VirtualBox script does not work as it should when run with “dash”. An easy workaround is to explicitly run the script with “bash” with the following command:
sudo bash ./VBoxLinuxAdditions.run
or
sudo sh ./VboxLinuxAdditions.run

滑鼠整合沒作用(Mouse pointer integration not work)


Guest OS 為 Ubuntu 10.04 及之後的版本,請參考上一節第二項關於 dkms 的內容。

正常來說,新建的 Guest OS 在安裝「客端額外功能(Guest Additions)」並重新啟動 Guest OS 之後,「滑鼠整合」就會發揮功效。但若你碰到滑鼠整合功能沒有作用的詭異情形時,你需要編輯 /etc/X11/xorg.conf (*1*1. 若此文件不存在,則 Guest OS 應該是新版的,請參考上一節 dkms 的內容),手動加入下列的設定段落。

Section "InputDevice"
        Identifier      "vboxmouse"
        Driver          "vboxmouse"
        Option          "CorePointer"
        Option          "Device"        "/dev/input/mice"
EndSection


正常來說,就算 xorg.conf 沒有上述的 InputDevice 段落,滑鼠整合功能依然會作用。

我今天新裝了一個 Ubuntu 9.04 Desktop 的 guest 系統,安裝客端額外功能後,滑鼠整合功能竟然沒有發生作用。我覺得很奇怪,已經我先前安裝過數次 Ubuntu Desktop 作為 guest 系統,但都沒發生這問題。查詢後才知道,有時候要自己手動加入上述的設定內容。我開啟先前安裝的 Ubuntu Desktop guset ,把兩邊的 xorg.conf 比對一下,結果先前安裝的 Ubuntu Desktop guest 的 xorg.conf 沒有這一段,但滑鼠整合還是可作用。真是怪哉。

螢幕解析度可調整項目變少了


首先,如果是 Ubuntu 9.04 的使用者,可以參考我先前寫的使用筆記,按照裡面的步驟修正客端額外功能的安裝程式。 Ubuntu 9.10 的使用者,請參考 Logan 寫的Ubuntu 9.10 + VirtualBox Guest Additions修正。

當我安裝額外功能並重新啟動 guest 系統後的第一次晝面,我的螢幕解析度有 1280x768 (按預設 12MB 顯示記憶體)。我啟動 Ubuntu Desktop 的「顯示」控制台,一開始顯示我可以選擇從 1280x768 到 640x480 的5種解析度。接著我將螢幕解析度下調到 1024x768。調整完畢後,我很訝異地發現,在「顯示」控制台內,我可以選擇的解析度只剩下 1024x768 到 640x480 的3種解析度了。我沒有辦法再往上調整更高的解析度了。

如果你跟我一樣碰到這種情形,我們需要編輯 /etc/X11/xorg.conf ,手動在 Screen 段落中,加入 Display 的子段落,明確地列出我們希望能調整的解析度項目。如下所示:

Section "Screen"
   Identifier   "Default Screen"
   Monitor      "Configured Monitor"
   Device      "Configured Video Device"

   DefaultDepth    24
   SubSection      "Display"
      Depth           24
      Modes           "800x600" "1440x900" "1360x768" "1280x1024" "1280x960" "1152x864" "1024x768" 
   EndSubSection

EndSection

上例設定範例,列出7種解析度,那麼在「顯示」控制台中,就會至少出現這7種解析度供我們選擇。不再愈調愈少。

登入晝面(GDM)會取 Modes 中的第一個項目作為解析度。所以我把 800x600 放在第一個。

2014-03-28

嘗試構建自己的busybox

來源 : http://www.360doc.com/content/13/0829/19/7377734_310794205.shtml

1、一個作為宿主機的Linux;本文使用的是Redhat Enterprise Linux 5.4;
2、在宿主機上提供一塊額外的硬盤作為新系統的存儲盤,為了降低複雜度,這裡添加使用一塊IDE接口的新硬盤;
3、Linux內核源碼,busybox源碼;本文使用的是目前最新版的linux-2.6.34.1和busybox-1.16.1。

說明:本文是一個step by step的實做指南;

2014-03-16

反省錄——接納自己,接納一個不成功的我

最近看了一篇文章,因此面對自己最近眾多的不順和不順的氣,有了一個重新認識。
  說實話,我覺得自己是在被社會貼上標籤後感到痛苦、焦慮和煩躁。總而言之,我活在了別人的世界裡。
  年齡愈大,學歷也不錯,別人認為你當然應該有所成就,自己也覺得應該去追求些什麼,至少每一件事不是傻乎乎,做的背後應該不是單純沒有想法的,而應該帶了某種目的,比如被領導賞識、被領導發現你的才能,展示你優秀的辦事能力。然而現實往往事與願違。這可能就是越單純的人獲得成功的幾率就愈大。相反,帶有目的的人反而被自己絆住了。因而,經常咒怨別人,埋怨現實。
  後來,看了一篇文章,我忽然有所領悟,犯的最根本的錯誤就是——沒有接納自己。
  沒有接納自己,所以任何事的風向標都是以別人為標準,被各種不順所羈絆。
  其實,芸芸眾生中,一部分人可能會很成功,達到世俗認為的——位居高職、收穫財富、有房有車等標準,而另一部分人由於個性、性格、能力以及不努力,可能就不會成功。我就是其中一個,應該告訴自己,由於我性格中的缺陷、社交能力的有限、處世的不圓滑,縱然讀得書多,資歷老了,但未必會實現世俗認為的成功。然而,又能怎樣呢?我同樣可以享受當下,享受每分每秒的快樂。超出我能力範圍之外的事情,我真的不應該憂慮。接納自己有多個方面,比如接受由於性格缺陷、能力不足而犯下的錯誤;承認自己的過失,但不要過分懊惱;丟開束縛世俗韁繩。如果你想快樂,誰也掠奪不走。是的,不成功又怎樣,我不是超人。做真實的自己。
  然而自己不成功就算了呢,不是的,我們雖然不成功,但是很有優秀的精神,我們依然要具備,耐心和毅力,其實我們每個人都有,只是因此懶惰,我們會丟掉。我們沒有必要挑戰所有的困難,但偶爾挑戰自己,讓自己更加具有耐心和毅力,卻不失為一種樂趣。如果你做得了,興許忽然發現很多事情突然變順了。
  接納自己,我不是一個成功的人,但我可以做好能力範圍內的事情就好了。
  挑戰自己,給自己每天一點驚喜,欣賞自己的成就。
  這樣的過程,我可以具備。
  接納自己,接納一個不成功的我。

反省錄

有『麻煩』就是『方法不對』, 有『困難』就是『能力不足』, 有『猶疑』就是『膽識不夠』
有『遺憾』就是『謀略不精』, 有『誤會』就是『溝通不良』, 有『怨言』就是『領導不正』
有『奢侈』就是『勤儉不力』, 有『輕浮』就是『心境不靜』, 有『抗爭』就是『執法不公』
有『大話』就是『腳踏不實』, 有『耳輕』就是『事實不查』, 有『迫害』就是『私心不輕』
有『是非』就是『口德不修』, 有『爭執』就是『己言不改』