由于有中文字符我把它放在附件里了,下载后使用 。
先给个图,然后慢慢说用法: 隶书字体的启动界面
1、首先下载脚本,解压到你的某个目录
2、更改属性为755
3、在终端下用sudo执行该脚本。
当然我假设你已经安装好grub-gfxboot。
如果没安装Ubuntu的grub-gfxboot也没关系,先执行完脚本然后安装grub-gfxboot。当然你要有相关的message.xxx文件放在脚本定义的位置。程序或自动安装gfxboot-theme-ubuntu和gfxboot两个包。如果和grub-gfxboot冲突可以先卸载grub-gfxboot。做好之后再安装。
推荐的方法是:Ubuntu装普通的grub,然后用OpenSUSE的LIVE CD启动安装它的GRUB。我就是这么做的!
代码: 全选
#!/bin/bash
DEBUG=1
START_DIR=`pwd`
##定义图形启动包的位置
MESSAGE=/boot/message
##定义字形生成程序位置
MKBLFONT=mkblfont
##定义键盘映射程序位置
KEYMAPCHARS=/usr/share/gfxboot/bin/keymapchars
##定义键盘映射表位置
KEYTABLES=/usr/share/gfxboot-theme-ubuntu/keytables.inc
##定义临时文件位置
TMP_FOLD=message
##定义字形所用字体
TTFFont=simli
##定义字体目录
TTFPath=/usr/share/fonts/truetype/microsoft
##定义界面语言
LANGUAGE=简体中文
##定义语言ID
LANG_ID=zh
##定义默认启动语言
DEF_LANG=zh_CN
debug_msg()
{
[ $DEBUG == 1 ] && echo "[`date +"%F %T"`] $@" >&2
}
install_pkg()
{
local PKG=`sudo dpkg-query -W --showformat='${Package}\n' |grep $1`
if [ -z $PKG ]; then
sudo aptitude install $1 -y
debug_msg "安装软件包 $1"
else
debug_msg "软件包 $1 已安装"
fi
}
install_pkg gfxboot-theme-ubuntu
echo $DEF_LANG >lang
mkdir $TMP_FOLD 2>/dev/null
cd $TMP_FOLD
#ls -l $MESSAGE #>/dev/null 2>&1
if [ -e $MESSAGE ]; then
cat $MESSAGE |cpio -i
else
echo "抱歉没发现要修改的$MESSAGE"
exit
fi
echo $DEF_LANG >lang
if [ -e translations.$LANG_ID ]
then
echo "发现${LANGUAGE}翻译文件!"
else
echo "没有${LANGUAGE}的翻译文件,退出!"
exit
fi
if grep -q $LANG_ID languages
then
echo "文件languages含有${LANGUAGE}的ID!"
else
echo $LANG_ID > tmp.txt
cat tmp.txt languages >languages1
mv -f languages1 languages
echo "文件languages含有${LANGUAGE}的ID!"
fi
cat *.tr translations.* /boot/grub/menu.lst >tmp.txt
echo $LANGUAGE>> tmp.txt
set -x
$MKBLFONT -v -l 18 -p /usr/share/fonts/X11/misc \
-c ISO-8859-15 -c ISO-8859-2 -c koi8-r \
`$KEYMAPCHARS $KEYTABLES` \
-t tmp.txt \
-p $TTFPath \
-f $TTFFont:prop=2:space_width=4:size=17:nobitmap=1:autohint=1 \
16x16.fnt >16x16.fnt.log
set +x
rm -f tmp.txt
mv 16x16.fnt.log $START_DIR
echo "备份以前文件"
mv $MESSAGE $MESSAGE.bck
ls . |cpio -o > $MESSAGE
cd $START_DIR
rm -rf $TMP_FOLD