本篇出自: 一個新手的blog


本文,是分享給對美化要求很高的朋友的,因為我認為沒有熱情可能不會幹很多麻煩事,
這次美化的東西,主要是開機畫面、關機畫面、以及終端(tty終端)。
介紹下,我們需要使用的軟件,一共有4個,分別是usplash、bootsplash、splashy、upower,
其中usplash是我們 ubuntu中自帶的,它有速度最慢,最難看
,而且只能美化開機畫面的特點(不明白為什麼把這個東西作進ubuntu);bootsplash是一個過時的產品
,需要編譯內核,但是也是唯一能美化tty的軟件,安裝它很麻煩
而且基本上失敗的幾率高的不像話(我的台式機無論如何不能成功,筆記本可以);
splashy推薦使用,小巧玲瓏,使用方便,可以隨心所以自己把圖和進度條放進去;
upower同splashy,是後繼產品,基本上可以說是目前最先進的,而且對ubuntu來說安裝太方便了。
綜合上面的4個軟件,我個人最推薦使用splashy,因為非常方便,
一個命令既可以安裝主題,又能自己製作主題,
和它同樣的upower在我的台式機上不能正常顯示開機畫面(關機沒問題),在筆記本上則都可以。

第一部分 更改usplash的顏色

usplash我們的ubuntu自帶,使用它有很多限制,比如你不能隨便找個圖來代替默認的,
本文最後將提供3個顏色的圖,是已經做好的共大家替換,那麼我首先與大家分享定製usplash的方法。

首先準備我們需要的裝備:

代碼:
sudo apt-get install gcc libbogl-dev

然後把下面下載的任意一幅圖改名為usplash-artwork.png
開始編譯:

代碼:
pngtobogl usplash-artwork.png > usplash-artwork.c
gcc -Os -g -I/usr/include/bogl -fPIC -c usplash-artwork.c -o usplash-artwork.o
gcc -shared -Wl,-soname,usplash-artwork.so usplash-artwork.o -o yourimage-splash.so


建立一個目錄,用來放編譯好的so

代碼:
sudo mkdir -p /usr/local/lib/usplash/
cp yourimage-splash.so /usr/local/lib/usplash/yourimage-splash.so


讓它生效:

代碼:
sudo update-alternatives --install /usr/lib/usplash-artwork.so usplash-artwork.so /usr/local/lib/usplash/yourimage-splash.so 55
sudo dpkg-reconfigure linux-image-`uname -r`

好到此為止,重啟後我們就能看到新的啟動畫面了,
如果說因為操作失誤而導致不能啟動的話只需要在grub菜單上壓e,
在kernel的那一行再壓e,把splash這個參數去掉就可以了,回車後壓b就能正常啟動了。

第二部分 卸載usplash

因為後面的大部分操作都和usplash之間有矛盾,所以卸載它也是一件很重要的事。
卸載命令如下:

代碼:
sudo apt-get --purge remove usplash
sudo dpkg-reconfigure linux-image-`uname -r`


第三部分 安裝和使用bootsplash

我現在強調一點,bootsplash是很麻煩的,而且很難成功,因為我的電腦使用了sata硬盤
,而我編譯了很多此都沒辦法成功,作出操作前請做好失敗的心裡準備。
我們先準備我們需要的東西,因為上一篇文章裡我用內核2.6.14版進行說明,
所以我今天也用2.6.14,而且編譯的過程基本上是相同的,僅僅是一些需要注意的地方
,首先我們來準備裝備。
http://www.bootsplash.de/這個網站有我們需要的內核的補丁,
我下載了用於2.6.14版的,各位朋友可以根據自己的需要下載不同版本。那麼下載這個補丁後
,其他方面同我在進一步優化 ubuntu一文中寫道的步驟一樣,準備內核,打補丁,設置,編譯內核
,安裝內核,那麼我們在打補丁的時候就要把這個補丁也打進去,命令如下:

代碼:
cd /usr/src/linux
    patch -p1 < /補丁位置/bootsplash-3.1.6-2.6.14.diff
   

除此之外,在設置的時候有一下幾個部分必須編譯到內核裡:

代碼:

    Code maturity level options  --->
     
  • Prompt for development and/or incomplete code/drivers
        Processor type and features  --->      
  • MTRR (Memory Type Range Register) support
        Device Drivers  --->
         Block devices  --->
             <*> Loopback device support
             <*> RAM disk support          
  •    Initial RAM disk (initrd) support
        Graphics support  --->      
  • Support for frame buffer devices      
  •    VESA VGA graphics support
         Console display driver support  --->          
  •    Video mode selection support
             <*> Framebuffer Console support
         Bootsplash configuration  --->          
  • Bootup splash screen


    然後依照優化一文中的方法,進行編譯安裝。安裝好後我們需要配置,由於我們使用了ubuntu操作系統
    ,我們可以不用自己編譯配置用的應用程序,只需要把下面的部分加入源。

    代碼:
    deb http://debian.bootsplash.de unstable main
    deb-src http://debian.bootsplash.de unstable main


    然後安裝我們需要的軟件bootsplash:

    代碼:
    sudo apt-get update
    sudo apt-get install bootsplash

    接著我們下載一個theme:

    代碼:
    sudo apt-get install bootsplash-theme-ubuntu

    接下來製作我們需要的initrd

    代碼:
    sudo splash -s -f /etc/bootsplash/themes/ubuntu/config/bootsplash-1024x768.cfg >> initrd.diy
    sudo cp initrd.diy /boot

    這樣所有的安裝設置工作都完成了,現在我們需要的是一點幸運(神啊,保佑我吧)。
    重啟,在grub出現選擇系統的菜單時對你自己編譯的內核壓e,
    進入後在 kernel一行再壓e,去掉最後的splash,加上一句vga=791。
    然後回車,移到initrd一行,壓e將原來的initrd.img- XXXXX改為我們製作的initrd.diy。
    回車後亞b,如果你看到了漂亮的畫面那麼恭喜你,你成功了,但是如果你看到畫面的同時,還看到這樣的字眼:

    引用:
    kernel panic not syncing vfs unable to mount root fs on unknown block

    那麼不好意思,你失敗了,失敗在於對硬盤的支持沒有編譯到內核,而僅僅是模塊
    ,我們要使用bootsplash就不能使用原來的 initrd.img,所以這個問題處在設置內核編譯部分的時候
    ,但是這個錯誤很難糾正,因為電腦配置不同,那麼需要編譯的東西也不同,
    為了在我的台式機上解決這個問題,我甚至把所有scsi設備都編入內核,但是沒有任何起色。
    最後再提醒各位朋友一次,bootsplash是很難成功的。

    第四部份 安裝和使用splash

    首先需要使用第二部分刪除usplash,然後我們需要兩個包:
    點擊下載
    點擊下載
    下載完成後,我們開始我們的安裝:

    代碼:
    sudo apt-get install libdirectfb-0.9-22
    sudo dpkg -i splash-themes_0.1.6_all.deb
    sudo dpkg -i splash_0.1.6_i386.deb

    就這樣簡單,安裝結束了。(和上面那個比起來簡直是天堂和地獄)
    現在我來介紹下splashy的使用:
    設置主題:

    代碼:
    sudo splashy_config -s ubuntusplashy

    就這樣簡單,安裝主題包後默認就有ubuntu的主題,然後我要介紹自己製作主題,命令如下:

    代碼:
    sudo splashy_config -c

    接著它會問幾個問題:

    代碼:
    name                    名字
    Description             描述
    author                  作者
    X                       進度條的坐標x
    Y                       進度條的坐標y
    wigth                   寬度
    height                  高度
    red                     進度條顏色 紅
    greed                   進度條顏色 綠
    blue                    進度條顏色 藍
    alpha                   alpha管道 管透明的
    boot                    啟動圖片
    shutdown                關機圖片
    error                   錯誤圖片
    autoverbose             這個不懂 請明白的前輩指教一下
    Progressbar on boot     是否顯示進度條在啟動時
    Progressbar on shutdown 是否顯示進度條在關閉時


    恭喜你的主題做好了,然後再用剛才的選擇方法選擇你的主題就可以看到了。
    這回啟動的時候也要修改kernel一行,去掉splash,加上vga=792。

    第五部分 安裝使用upower

    upower的安裝很簡單,只需要修改下源,把下面這行加入源中:

    代碼:
    deb http://repo.nanofreesoft.org/ubuntu breezy main

    然後安裝,命令如下:

    代碼:
    sudo apt-get update
    sudo apt-get install upower upower-theme-ubuntu

    好,這樣就算安裝好了,upower很強,強到你不必重啟就能看到效果,命令如下:

    代碼:
    sudo upower boot
    sudo upower shutdown

    奇怪的是,upower在0.2版後就沒有了自己定製主題的功能,只能去下載主題了。、
    這回也需要更改內核參數同樣是去掉splash,加上vga=792。

    第六部分 關於啟動參數的修改

    以上4中軟件對啟動參數的修改,不需要每次都改,只要更改

    代碼:
    /boot/grub/menu.lst
    裡面相應的內容就有永久更改的效果,但是請務必手動修改一次,看看能否正常啟動,如果不能則不要再修改menu.lst

    第七部分 結語

    本文算是高級美化技巧了,但是我懷疑願意嘗試的人不多,
    而且特別是bootsplash。我推薦splashy,絕對讓你沒有損失,如果你做過從頭優化 ubuntu裡的優化步驟,
    那麼你會發現去掉splash這個參數後,啟動會快很多,
    而使用splashy和upower都不會影響啟動速度,本文不足之處應該很多,希望各位前輩多多補充。
  • 創作者介紹

    胖虎的祕密基地

    idobest 發表在 痞客邦 PIXNET 留言(0) 人氣()