2009年5月22日 星期五

變更開機畫面背景圖

參考資料:
http://susewiki.org/index.php?title=Changing_the_GRUB_background
http://en.opensuse.org/Custom_splash_screen
我只想要換個背景圖...

1. grub 背景圖
基本原理就是用 cpio 解開 message,然後將 bcck.jpg 換成您要的
準備:一張 800x600 圖片,取名 back.jpg,放在例如:~/Documents/
(注意圖檔不要太大)
步驟:
$ mkdir ~/cpio
$ mkdir ~/cpio/work
(建立工作目錄)
$ cd ~/cpio/work/
$ cp /boot/message .
(將 message 複製到此)
$ cpio -idv < message
(解開 message)
$ mv message ../message-old
(將 message 存在上層備份)
$ cp ~/Documents/back.jpg .
(將您預備的圖片複製到此)
$ ls | cpio -ov > ../message
(重新壓縮 message,放到上一層)
$ cd ..
$ su
密碼:
# cp message /boot/message

(將新生成的 message 放回原位,完成)
寄件者 openSUSE 11.1

2. bootsplash 背景圖
準備:2 張適合您的解析度的背景圖
若不知道解析度大小可用下面指令先看一下
# mkinitrd
....
Bootsplash: openSUSE (1024x768)
...

所以這台機器使用 openSUSE 主題,解析度為 1024x768
(這可能和您進入 X 後所用的解析度不同)
那您的圖片就要取名為
silent-1024x768.jpg (這就是不顯示資訊詳細資訊時的圖片)
bootsplash-1024x768.jpg (開機時按 Esc 會顯示的 console 背景)

bootspalsh 的主題都放在 /etc/bootsplash/themes/ 底下
預設的主題則是在 /etc/sysconfig/bootsplash 檔案中的 THEME 變數決定(11.1)
用下面指令可以看見您現在使用的主題
$ cat /etc/sysconfig/bootsplash | grep THEME
THEME="openSUSE"

我們就是要修改 openSUSE 主題
將您準備好的兩個圖檔複製到 /etc/bootsplash/themes/openSUSE/images/
# mkinitrd
Kernel image: /boot/vmlinuz-2.6.27.21-0.1-default
Initrd image: /boot/initrd-2.6.27.21-0.1-default
Root device: /dev/disk/by-id/ata-VBOX_HARDDISK_VBf9be9960-6c558729-part2 (/dev/sda2) (mounted on / as ext3)
Resume device: /dev/disk/by-id/ata-VBOX_HARDDISK_VBf9be9960-6c558729-part1 (/dev/sda1)
Kernel Modules: hwmon thermal_sys processor thermal fan jbd mbcache ext3 dock scsi_mod libata ata_piix edd crc-t10dif sd_mod usbcore ohci-hcd uhci-hcd ehci-hcd ff-memless hid usbhid
Features: block usb resume.userspace resume.kernel
Bootsplash: openSUSE (1024x768)
25589 blocks

重新開機看您的成果
寄件者 openSUSE 11.1

寄件者 openSUSE 11.1

3. kdm4 背景圖
在這裡也只改 SUSE 佈景的背景圖而已
這個佈景主題在某些顯示卡可能會造成瞬間螢幕錯亂
請參考:
http://forums.opensuse.org/hardware/414393-intel-945g-temporary-scrambled-screen-starting-kde.html
http://forums.opensuse.org/hardware/64-bit/412685-nvidia-scrambled-kdm-background-login-splash.html
在這裡會順便作修改
(似乎在更新過後已經不再出現這個問題,您可以先不修改)
您需要準備一張 Background.jpg
大小和您的 /usr/share/kde4/apps/kdm/themes/SUSE/Background.jpg 相同
覆蓋原有的檔案即可
要消除登入瞬間螢幕錯亂,請修改(似乎在更新過後已經不再出現這個問題,您可以先不修改)
/usr/share/kde4/apps/kdm/themes/SUSE/suse.xml

<item type="pixmap" id="background">

改成
<item type="pixmap" id="background" background="true">

完成
寄件者 openSUSE 11.1


4. ksplash 背景圖
openSUSE 11.1 預設使用 ksplashx-suse 的佈景主題
準備:background.png 的圖片
大小和 /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1600x1200/background.png 相同
用您準備的背景取代
接著修改 /usr/share/kde4/apps/ksplash/Themes/ksplashx-suse/1600x1200/description.txt

SCALEY ON
IMAGE_REL CC 0 0 CC stripe.png
SCALE OFF

前面加上 # 或將此三行刪除
這是中間那個灰色的橫條
接著重新登入,就會看見您的新佈景了
寄件者 openSUSE 11.1

5 則留言:

SuseGeek寂客 提到...

最後的圖片應該就是你的寶貝兒子跟女兒了吧!好可愛!:)

Unknown 提到...

還好啦,有點可愛,有時有點可惡

Jane 提到...

您好:
我想在開機畫面背景做修改
我試著打您所說的指令
在xp的命令指示字元裡key下段指令
一直出錯,無法執行
能否請您再仔細的詳細解說呢?
非常謝謝您^^


$ mkdir ~/cpio$ mkdir ~/cpio/work(建立工作目錄)$ cd ~/cpio/work/$ cp /boot/message .(將 message 複製到此)$ cpio -idv < message(解開 message)$ mv message ../message-old(將 message 存在上層備份)$ cp ~/Documents/back.jpg .(將您預備的圖片複製到此)$ ls | cpio -ov > ../message(重新壓縮 message,放到上一層)$ cd ..$ su密碼:# cp message /boot/message

Jane 提到...

您好:
想請問詳細的步驟
我在xp的命令提示字元裡打您所說的指令
$ mkdir ~/cpio
卻一直無法正確執行
請您再詳細的說明
非常謝謝您^^

Unknown 提到...

Jane:
如果您說的 xp 是指 windows xp 的話...
這種方法是無用的,這些都是 Linux 的指令,所以我幫不上您,我不會改 xp 的開機背景...
有空常來坐。