Thay đổi hình nền, ngôn ngữ và kích thước phông chữ cho Grub2

AIO Boot sử dụng giao diện mặc định của Grub2 để cho tốc độ khởi động nhanh nhất. Thay vào đó, bạn có thể thay đổi hình nền, ngôn ngữ, phông chữ của Grub2.

Giới thiệu

AIO Boot đã sử dụng giao diện mặc định của Grub2 từ những phiên bản đầu tiên. Nó khá đẹp, nhẹ và tất nhiên là phù hợp nhất cho Grub2. AIO Boot có quá nhiều trình đơn, và nó có hỗ trợ phím nóng để truy cập nhanh vào một trình đơn, phím nóng nằm trong hai dấu ngoặc vuông. Điều này giúp bạn nhanh chóng khởi động vào hệ điều hành.

Có 2 cách mà bạn có thể thay đổi hình nền, ngôn ngữ và phông chữ cho Grub2 của AIO Boot. Chạy AIOCreator.exe và thay đổi nó trong Thiết lập, hoặc khởi động vào Grub2 và thay đổi nó trong trình đơn Trợ giúp (bấm phím z). Bài viết này tôi sẽ chia sẽ các kịch bản của Grub2 mà tôi đã viết cho AIO Boot.

ình nền, ngôn ngữ và font cho Grub2

Sau khi thay đổi hình nền, ngôn ngữ và phông chữ cho Grub2, các giá trị này đều được lưu lại. Ở các đoạn mã dưới, tôi sẽ dùng lệnh save_env để lưu các biến bg, langfont vào tệp grubenv. Nếu bạn chưa từng chạy AIOCreator.exe, hãy đổi tên tệp tin /AIO/grub/_grubenv thành /AIO/grub/grubenv. Khi khởi động vào Grub2, bạn chỉ cần kiểm tra giá trị của các biến này. Nếu có thì sử dụng, nếu không thì sẽ thiết lập theo mặc định.

Hình nền

Để hiển thị hình nền cho Grub2, bạn chỉ cần sử dụng lệnh background_image.

background_image "/AIO/grub/themes/splash.png"

Mặc định thì hình nền sẽ được làm cho vừa với độ phân giải màn hình. Nếu bạn muốn giữ nguyên kích thước hình nền, thêm giá trị “normal” cho tham số “-m“.

background_image -m normal "/AIO/grub/themes/splash.png"

Đây là kịch bản Grub2 để thay đổi hình nền.

submenu "Change Background" {
	insmod regexp
	echo "Getting the list of files in \"/AIO/grub/themes\". Please wait..."
	for file in /AIO/grub/themes/*; do
		if ! test -f "$file"; then continue; fi
		if [ "$file" == "/AIO/grub/themes/${bg}" ]; then continue; fi
		regexp -s filename "/AIO/grub/themes/(.*)" "$file"
		if [ -z "$havefile" ]; then set havefile="1"; fi
		menuentry "${filename}" {
			bg="$1"
			background_image "${prefix}/themes/${bg}"
			save_env bg
			configfile ${prefix}/grub.cfg
		}
	done
	if [ -z "$havefile" ]; then
		esccont "Please copy all your PNG, JPG and JPEG files to the \"/AIO/grub/themes\" folder."
	else
		unset havefile
		menuentry "Return to the Main menu" --hotkey=b {
			configfile ${prefix}/grub.cfg
		}
	fi
	unset filename
}

Khi bạn truy cập vào trình đơn trên, nó sẽ liệt kê tất cả các tệp tin có trong thư mục /AIO/grub/themes (ngoại trừ hình nền hiện tại). Sau đó chọn một trong các tệp tin đó để làm hình nền cho Grub2. Nếu hình nền không hiển thị, có thể kích thước của nó không phù hợp. Bạn cũng cần phải load các mô-đun cần thiết trước, jpeg cho .JPG.JPEG, png cho .PNG.

insmod jpeg
insmod png

Ngôn ngữ

Grub2 hỗ trợ 38 ngôn ngữ. Các tệp tin ngôn ngữ của Grub2 nằm trong thư mục locale. Dưới đây là kịch bản Grub2 hiển thị 37 ngôn ngữ (trừ ngôn ngữ hiện tại), chỉ cần chọn một trong các trình đơn để thay đổi ngôn ngữ.

submenu "Change Language" {
	insmod regexp
	for langstr in "vi=Tiếng Việt" "en=English" "ast=Asturian; Bable; Leonese; Asturleonese" "ca=català" "zh_CN=中文 (Simplified)" "zh_TW=中文 (Traditional)" "da=dansk" "nl=Dutch" "[email protected]=English - Arabic"				\
					"[email protected]=English - Cyrillic" "[email protected]=English - Greek" "[email protected]=English - Hebrew" "[email protected]=English - Piglatin" "[email protected]=English - Quot"			\
					"eo=Esperanto" "fi=Finnish" "fr=français" "gl=Galego" "de=Deutsch" "[email protected]=German - Hebrew" "de_CH=German - SWITZERLAND (CH)" "hu=magyar"				\
					"hr=hrvatski jezik" "id=Bahasa Indonesia" "it=Italiano" "ja=日本語" "lt=lietuvių kalba" "nb=Norsk Bokmål" "no=Norwegian" "pl=Polish" "pt_BR=Português" "pa=Panjabi" "ru=русский" "sr=српски језик"	\
					"sl=Slovenian" "es=Español" "sv=Svenska" "tr=Türkçe" "uk=Українська"; do
		regexp -s 2:langname -s 1:langcode '(.*)=(.*)' "$langstr"
		if [ "$langcode" == "$lang" ] -o [ -z "$lang" -a "$langcode" == "en" ] -o [ "$langcode" != "en" -a ! -e /AIO/grub/locale/${langcode}.mo ]; then continue; fi
		menuentry "${langname}" "$langcode" {
			lang="$2"
			save_env lang
			configfile ${prefix}/grub.cfg
		}
	done
	menuentry "Return to the Main menu" {
		configfile ${prefix}/grub.cfg
	}
}

Nếu tệp tin ngôn ngữ của Grub2 không tồn tại, ngôn ngữ đó sẽ không được liệt kê trong danh sách.

Phông chữ

AIO Boot sử dụng phông chữ Unicode (unicode.pf2) để hỗ trợ cho cả 38 ngôn ngữ. Có hai kích thước là nhỏ và lớn, đối với ngôn ngữ English, AIO Boot sử dụng phông DejaVuSansMono cho kích thước lớn.

if [ "$font" == "unicode-small" ]; then fontmenu="Switch to larger font"; else fontmenu="Switch to smaller font"; fi
menuentry "${fontmenu}" {
	if [ "$font" != "unicode-small" ]; then font=unicode-small;
	elif [ -z "$lang" ]; then font=DejaVuSansMono-large; else font=unicode-large; fi
	save_env font
	configfile ${prefix}/grub.cfg
}

Sử dụng lệnh grub-mkfont để chế tạo các tệp tin phông chữ cho Grub2.

Có thể bạn cần phải sửa đổi và cải thiện các đoạn mã Grub2 trước khi sử dụng. Để lại một bình luận nếu bạn có bất kỳ câu hỏi.

Share this...Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedInPin on PinterestShare on RedditShare on TumblrShare on VKBuffer this pageDigg thisEmail this to someoneFlattr the authorPrint this pageShare on StumbleUponShare on Yummly