2010-11-27

ubuntuでGrub2の背景画像の設定memo

Ubuntu 10.10を先日クリーンInstallした際に、GrubもGrub2に変更されていました。
標準では、"640x480"で綺麗とは言えない画面なので、これをせめて"1024x768"にしたいと思い、
あちこち参考にしながら、変更してみましたので、そのMemoです。

参考:
起動画面を美しく表示する方法《GRUB2》  via  独学Linux
(Ubuntu 9.10) Grub2の設定 via r271-635

さて、とは言え参考Siteの内容を見ていて思ったのは、
「設定パラメータ部分が分離されてないのは何故?」
と言う事を感じました。
なんかあるはず。

で、有りました。
GrubのBackgroundを設定するのに、"/etc/grub.d/05_debian_theme"内で
"WALLPAPER"という変数にfull pathで設定されています。
その、設定の前の行に"/usr/share/desktop-base/grub_background.sh"が有れば、そのshell scriptを実行する様になっています。
# this allows desktop-base to override our settings
f=/usr/share/desktop-base/grub_background.sh
if test -e ${f} ; then
  . ${f}
else
  WALLPAPER="/usr/share/images/desktop-base/moreblue-orbit-grub.png"
  COLOR_NORMAL="black/black"
  COLOR_HIGHLIGHT="magenta/black"
fi
つまり、”少なくとも/usr/share/desktop-base/grub_background.sh”に設定されたWALLPAPER,COLOR_NORMAL,COLOR_HIGHLIGHT は反映されるはず。
と言うことで、/usr/share/desktop-base/grub_background.shを作ります。
(標準では、grub_background.shは有りません

#!/bin/sh

WALLPAPER="/usr/share/images/grub/MyImage.png"
COLOR_NORMAL="white/black"
COLOR_HIGHLIGHT="light-green/black"

そして、この変更と同時に、Grubの画面解像度を変更しなければならないのですが、これに付いては、"/etc/grub.d/00_header"の変更しか判りませんでした。


# Do this as early as possible, since other commands might depend on it.
# (e.g. the `loadfont' command might need lvm or raid modules)
for i in ${GRUB_PRELOAD_MODULES} ; do
  echo "insmod $i"
done

# User Added
GRUB_TIMEOUT=20
GRUB_GFXMODE=1024x768
# End User Added


if [ "x${GRUB_DEFAULT}" = "x" ] ; then GRUB_DEFAULT=0 ; fi
if [ "x${GRUB_DEFAULT}" = "xsaved" ] ; then GRUB_DEFAULT='${saved_entry}' ; fi
if [ "x${GRUB_TIMEOUT}" = "x" ] ; then GRUB_TIMEOUT=5 ; fi
if [ "x${GRUB_GFXMODE}" = "x" ] ; then GRUB_GFXMODE=640x480 ; fi

ここでは、GRUB_TIMEOUTの変更も行なっています。
この2つの変更で、Grubに背景画像が付くようになります。
因みに、"MyImage.png"を指定しているのは、/usr/share/images/grub"に表示したい画像を"MyImage.png"で入れておけば、設定ファイルを触る必要が無くなるためです。

以上。





Powered by ScribeFire.

0 件のコメント:

SSH Keyを作成してGitHubなどに接続してみる - Qiita

大事なことなので。 SSH Keyを作成してGitHubなどに接続してみる - Qiita : GitHubやGitLab上のリポジトリへgitコマンドでファイルをpushする時に、上手く接続出来なかったのでSSH Keyの作成からやり直してみました。これはその作業ログなので自分...