2016/03/01

Linux 開機 Splash 畫面

【前言】

Splash 是在開機選單後、進入系統前的快閃畫面,可以是文字或圖片,二選一。

本文敘述其製作/修改的方法,所用的作業系統是Mini-Ubuntu 14.04 製成


【文字 Splash

1. Mini-Ubuntu 的預設快閃畫面為文字模式的 ubuntu-text。設定檔是 /lib/plymouth/themes/ubuntu-text/ubuntu-text.plymouth,可在此設定顯示的文字和顏色。

title=IceUbuntu 14
這是顯示的文字內容。因為位置固定,所以不能太長,不然會偏右。

black=0x006000
整個畫面的背景色。可以設定為任意顏色。

white=0xffffff
title 文字顏色。

brown=0x80ff80
進度....的第二色,第一色即 title 色。

blue=0xffff00
其他文字的顏色。


2. 如果要顯示其他文字,可加在 /etc/init/plymouth-ready.conf 檔之 "script" 行下,例如:

plymouth display-message --text="Based on IceWM & Mini-Ubuntu"


3. 此畫面的字型即是純文字界面主控台(console)的字型。

在開機後、進入圖形界面之前常可看到一些文字訊息,或是進入圖形界面後,按 Ctrl+Alt+F1~F6 也會切換到文字界面。要設定其字型,執行:

sudo dpkg-reconfigure console-setup

在主控台或圖形界面的虛擬終端機皆可。但在圖形界面執行時,最好先將虛擬終端機的視窗最大化。

註一:預設值在 /etc/default/console-setup。直接修改此檔再執行 setupcon -f update-initramfs -u 都是暫時的,重新開機即失效。可修改的是 /usr/share/console-setup

註二:字型檔在 /usr/share/consolefonts/


4. 使設定生效:

sudo update-initramfs -u


【圖片 Splash

Mini-Ubuntu 沒有圖形 Splash,故須自行建立。以下敘述新增預設的開機閃畫: default.plymouth


1. 新增資料夾:

sudo mkdir /lib/plymouth/themes/default


2. 將要用的圖片 splash.png 放入此資料夾。


3. 新增 /lib/plymouth/themes/default/default.plymouth 檔,內容為:

[Plymouth Theme]
Name=Default
Description=Default splash
ModuleName=script

[script]
ImageDir=/lib/plymouth/themes/default
ScriptFile=/lib/plymouth/themes/default/default.script


4. 新增 /lib/plymouth/themes/default/default.script 檔,內容僅一長行:

splash=Sprite(Image("splash.png").Scale(Window.GetWidth(),Window.GetHeight()));

 Image 是宣告所用的圖片。
 Window.GetXXX 是取得螢幕寬與高。
 Scale 調整圖片至螢幕大小。
 Sprite 是顯示於螢幕。
 splash 是自訂名稱,隨便什麼都可以,但就是不能沒有。


5. 建立替代群組與連結:

sudo update-alternatives --install /lib/plymouth/themes/default.plymouth default.plymouth /lib/plymouth/themes/default/default.plymouth 50

註:可用下行指令檢查是否成功:

sudo update-alternatives --config default.plymouth


6. 更新:

sudo update-initramfs -u


重新開機應可看到成果。


【後語】

1. 快閃畫面通常很快閃,要提早顯示,可新增 /etc/initramfs-tools/conf.d/splash 檔,內容為:

FRAMEBUFFER=y

然後更新:

sudo update-initramfs -u


2. 順便一提:

前面談論文字模式時,曾提到主控台字型的設定。主控台預設怠機十分鐘螢幕會變黑。

欲取消變黑,可在開機 linux 指令設定 consoleblank=0。要永久設定,就加在 /etc/default/grub 檔的 GRUB_CMDLINE_LINUX

GRUB_CMDLINE_LINUX="consoleblank=0"


註:也可在主控台執行 setterm -blank 0 -powerdown 0


sudo update-grub

沒有留言:

張貼留言