2014年7月26日 星期六

ubuntu setting grub theme


最近更新「Xubuntu」。因為有更新Kernel。所以Grub有重新安裝。把原來Deepin的Grub給蓋掉了。忘了先提,我的硬碟有安裝了好幾個1404的「泛Ubuntu系統」。最簡單解法就是進到Deepin。然後執行下面兩個指令。就可以解決了。


-----------------------------------------------------------------------------------------------------
$ sudo update-grub  # 這個指令會產生新的 cat /boot/grub/grub.cfg
$ sudo grub-install
----------------------------------------------------------------------------------------------------- 

今天想說,來研究一下Deepin怎麼設定出那個Grub畫面的。

所以先查了一下「grub background ubuntu」,就可以先看到兩篇文章「1」「2」。

以前有改過設定,只是早就忘了。稍微看了一下文章,回憶起這個檔「/etc/default/grub 」。
目前我在「Xubuntu」環境底下,而我會mount 「Deepin」到「/system/deepin」這個資料夾。

所以觀看「Deepin」的「/etc/default/grub」

-----------------------------------------------------------------------------------------------------
$ cat /system/deepin/etc/default/grub 
-----------------------------------------------------------------------------------------------------

就可以看到關鍵的兩行
-----------------------------------------------------------------------------------------------------
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_GFXMODE="1680x1050"
-----------------------------------------------------------------------------------------------------

所以就到「/system/deepin/boot/grub/themes/deepin/」 看了一下。果真有一個檔「background.png」。看起來就是開機時看到的樣子。所以沒想太多,直接就把這個資料夾和裡面的檔案,複製到「Xubuntu」底下。

-----------------------------------------------------------------------------------------------------
$ sudo mkdir /boot/grub/themes
$ cd /boot/grub/themes
$ sudo cp /system/deepin/boot/grub/themes/deepin ./ -R
-----------------------------------------------------------------------------------------------------

然後修改「Xubuntu」的「/etc/default/grub」
-----------------------------------------------------------------------------------------------------
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_GFXMODE="1680x1050"
-----------------------------------------------------------------------------------------------------


在「Xubuntu」下一樣執行一開始提到的兩個指令
-----------------------------------------------------------------------------------------------------
$ sudo update-grub  # 這個指令會產生新的 cat /boot/grub/grub.cfg
$ sudo grub-install
-----------------------------------------------------------------------------------------------------

重新開機。果然成功了。真的太讚了。


然後做了一個實驗,找了一張自己喜歡的背景圖取代「/boot/grub/themes/deepin/background.png」。

然後重新開機,呵呵,真的有作用。出現的是新的背景圖。


以上是緣起,下面因為要教沒有安裝Deepin系統的人。所以做了一些探索。
============================================================

先切換到我安裝的Deepin環境。

-----------------------------------------------------------------------------------------------------
$ sudo apt-get remove grub #然後按下tab,就會出現下面的字樣

...
grub-themes-deepin
...

-----------------------------------------------------------------------------------------------------

初步猜測剛剛複製的資料夾。應該是源自上面「grub-themes-deepin」這個套件 。

-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads
$ mkdir  grub-themes-deepin
$ cd grub-themes-deepin
$ mkdir download source
-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads/grub-themes-deepin/download
$ apt-get download  grub-themes-deepin
$ dpkg -x  grub-themes-deepin_0.5-9_all.deb grub-themes-deepin
$ cd grub-themes-deepin
$ tree
$ cd boot/grub/themes/deepin
$ ls # 就可以看到剛剛那些檔案了。
-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads/grub-themes-deepin/download
$ ar xv  grub-themes-deepin_0.5-9_all.deb
$ vim control.tar.gz
-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads/grub-themes-deepin/source
$ apt-get source  grub-themes-deepin
-----------------------------------------------------------------------------------------------------

從上面看了幾個關鍵字。所以來到下面這個網址
http://ftp.ubuntu-tw.org/mirror/deepin/pool/universe/g/grub-themes-deepin/
就可以看到上面下載的「package」和「source package」

grub-themes-deepin_0.5-9.tar.gz
grub-themes-deepin_0.5-9_all.deb
-----------------------------------------------------------------------------------------------------

所以回到「Xubuntu」。
-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads
$ mkdir  grub-themes-deepin
$ cd grub-themes-deepin
$ mkdir download source
-----------------------------------------------------------------------------------------------------

以下就是沒有安裝Deepin的方式。
-----------------------------------------------------------------------------------------------------
$ cd ~/Downloads/grub-themes-deepin/download
$ wget -c http://ftp.ubuntu-tw.org/mirror/deepin/pool/universe/g/grub-themes-deepin/grub-themes-deepin_0.5-9_all.deb
$ dpkg -x  grub-themes-deepin_0.5-9_all.deb grub-themes-deepin
-----------------------------------------------------------------------------------------------------
$ sudo mkdir /boot/grub/themes
$ cd grub-themes-deepin/boot/grub/themes
$ sudo cp deepin  /boot/grub/themes -R
-----------------------------------------------------------------------------------------------------

然後修改「Xubuntu」的「/etc/default/grub」
-----------------------------------------------------------------------------------------------------
GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
GRUB_GFXMODE="1680x1050"
-----------------------------------------------------------------------------------------------------


在「Xubuntu」下一樣執行一開始提到的兩個指令
-----------------------------------------------------------------------------------------------------
$ sudo update-grub  # 這個指令會產生新的 cat /boot/grub/grub.cfg
$ sudo grub-install
-----------------------------------------------------------------------------------------------------



============================================================
上面一開始找,其實並沒有那麼順利,因為我是先從下面的幾個網址找起,後來才改用上面的方式去找。
-----------------------------------------------------------------------------------------------------
http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub-themes-deepin/
http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub-themes-dharma/
http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub2-theme-deepin/
http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub2-theme-kdeepin/
http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub2/
-----------------------------------------------------------------------------------------------------

不過也正因為如此。發現了幾個特別的東東。

http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub2/

看到一個套件「grub-theme-starfield」,下載下來解開看。
-----------------------------------------------------------------------------------------------------
$ wget -c http://ftp.ubuntu-tw.org/mirror/deepin/pool/main/g/grub2/grub-theme-starfield_2.00-14deepin1_amd64.deb
$ dpkg -x grub-theme-starfield_2.00-14deepin1_amd64.deb grub-theme-starfield

$ cat grub-theme-starfield/usr/share/grub/themes/starfield/README
-----------------------------------------------------------------------------------------------------

發現有一行字,還有資料夾結構,跟上面的「grub-themes-deepin」資料夾類似。
-----------------------------------------------------------------------------------------------------
% GRUB2 gfxmenu default theme by Daniel Tschudi %
-----------------------------------------------------------------------------------------------------

查了一下「GRUB2  Daniel Tschud」「grub-theme-starfield」「daniel tschudi grub」。

原本以為是deepin獨有的。原來Ubuntu預設的套件就有「grub-theme-starfield」。

所以可以依樣畫葫蘆。
-----------------------------------------------------------------------------------------------------
$ sudo apt-get install  grub-theme-starfield
-----------------------------------------------------------------------------------------------------

然後編輯「/etc/default/grub」
-----------------------------------------------------------------------------------------------------
GRUB_THEME="/usr/share/grub/themes/starfield/theme.txt"
GRUB_GFXMODE="1680x1050"
-----------------------------------------------------------------------------------------------------


一樣執行一開始提到的兩個指令
-----------------------------------------------------------------------------------------------------
$ sudo update-grub  # 這個指令會產生新的 cat /boot/grub/grub.cfg
$ sudo grub-install
-----------------------------------------------------------------------------------------------------


-----------------------------------------------------------------------------------------------------
$  apt-get source grub-theme-starfield
-----------------------------------------------------------------------------------------------------

可以發現「grub-theme-starfield」這個「Package」的 「Source Package」 是「grub2」。

============================================================

下面是幾個特別的網址,有興趣就繼續研究吧......
https://github.com/pcbsd/pcbsd/tree/master/overlays/install-overlay/boot/grub/themes/starfield

https://wiki.archlinux.org/index.php/GRUB

https://github.com/thias/glim

尤其是下面這篇,有提到我上面說的東西,雖然我是測試完才看到這篇文章 :p。
-----------------------------------------------------------------------------------------------------
https://wiki.archlinux.org/index.php/GRUB#Theme
-----------------------------------------------------------------------------------------------------

============================================================

沒有留言:

張貼留言