Grub2 배경화면을 깔아볼까요 ! (10.04 부터는 간단하게...)

[attachment=2:3mzj7y4q]grub2_1.png[/attachment:3mzj7y4q]
우분투 [b:3mzj7y4q]10.4[/b:3mzj7y4q]부터는 [b:3mzj7y4q]Grub2[/b:3mzj7y4q] 배경화면 설치가 좀더 쉬워졌습니다.
어차피 이전 팁과 거의 같지만 가급적 쉽고 빠르게 다시 정리했습니다.

우선 배경으로 이용할 사진을 준비합니다.

터미널에서 [b:3mzj7y4q]sudo apt-get install grub2-splashimages[/b:3mzj7y4q] 를 입력하면 Grub2용 배경그림이
[b:3mzj7y4q]/usr/share/images/grub[/b:3mzj7y4q]에 설치됩니다.
이것을 이용하셔도 되고 개인적으로 좋아하는 그림이 있으시면 아무거나 사용가능합니다.

그림은 [b:3mzj7y4q]png, tga[/b:3mzj7y4q] 포멧이어야 하며 해상도는 [b:3mzj7y4q]640x480, 800x600, 1024x768[/b:3mzj7y4q]정도가 적당합니다.
1280x1024도 가능하지만 폰트가 작게 보여서 불편합니다.

개인 사진을 넣고 싶으시다면 gimp를 이용해서 크기를 맞추고 png포멧으로 저장해 주면 됩니다.
예제로 800x600 해상도의 첨부파일 [url=http://ubuntu.or.kr/download/file.php?id=8487:3mzj7y4q][b:3mzj7y4q][color=#000080:3mzj7y4q]Oak_800.png[/color:3mzj7y4q][/b:3mzj7y4q][/url:3mzj7y4q]를 이용해 보겠습니다.

배경그림이 결정되었다면 그림 파일을 [b:3mzj7y4q]/boot/grub[/b:3mzj7y4q] 디렉토리로 옮겨줍니다.
(그림 파일을 꼭 옮길 필요는 없지만 한 곳에 모아 두어야 관리가 편합니다.)
옭길 때 관리자 모드여야 하기 때문에 [b:3mzj7y4q]Alt + F2[/b:3mzj7y4q] 누르고 [b:3mzj7y4q]gksu nautilus[/b:3mzj7y4q]를 실행하면 편하실 겁니다.

지금부터는 Grub2 설정입니다.

Grub2가 되면서 기존의 menu.lst 설정 파일이 사라지고 대신 여러개의 파일로 나누어졌습니다.
간략히 설명드리자면 다음 2개의 파일을 수정하고 마지막에 [b:3mzj7y4q]sudo update-grub[/b:3mzj7y4q]을 실행해 주면 됩니다.

[b:3mzj7y4q][list:3mzj7y4q]/etc/default/grub
/etc/grub.d/05_debian_theme[/list:u:3mzj7y4q][/b:3mzj7y4q]

우선 [b:3mzj7y4q]Alt + F2[/b:3mzj7y4q]를 누르고 [b:3mzj7y4q]gksu gedit /etc/default/grub[/b:3mzj7y4q]을 입력합니다.

[b:3mzj7y4q][list:3mzj7y4q]# If you change this file, run ‘update-grub’ afterwards to update

/boot/grub/grub.cfg.

[color=#FF0000:3mzj7y4q]GRUB_DEFAULT=0[/color:3mzj7y4q]
#GRUB_HIDDEN_TIMEOUT=0
GRUB_HIDDEN_TIMEOUT_QUIET=true
[color=#FF0000:3mzj7y4q]GRUB_TIMEOUT=5[/color:3mzj7y4q]
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

Uncomment to disable graphical terminal (grub-pc only)

#GRUB_TERMINAL=console

The resolution used on graphical terminal

note that you can use only modes which your graphic card supports via VBE

you can see them in real GRUB with the command `vbeinfo’

[color=#FF0000:3mzj7y4q]GRUB_GFXMODE=800x600[/color:3mzj7y4q][/list:u:3mzj7y4q][/b:3mzj7y4q]

관리자 모드로 파일이 열리면 붉은색 부분을 수정해 줍니다.

[b:3mzj7y4q]GRUB_DEFAULT[/b:3mzj7y4q]은 기본으로 선택할 항목을 설정하는 것으로 제일 위 부분이 [b:3mzj7y4q]0[/b:3mzj7y4q]부터 시작합니다.
[list:3mzj7y4q]=> MS Windows와 멀티부팅을 하고 자주 Windows로 부팅한다면 이부분을 수정해 줍니다.[/list:u:3mzj7y4q]
[b:3mzj7y4q]GRUB_TIMEOUT=5[/b:3mzj7y4q]는 5초후에 자동으로 선택 항목으로 부팅한다는 말입니다.
[b:3mzj7y4q]GRUB_GFXMODE=800x600[/b:3mzj7y4q]은 배경그림의 해상도를 설정하는 부분입니다.
[list:3mzj7y4q]=> grub2-splashimages를 이용하시는 분들은 640x480으로 설정하면 됩니다.[/list:u:3mzj7y4q]

설정이 끝나면 저장한 다음 다시 [b:3mzj7y4q]Alt + F2[/b:3mzj7y4q]를 누르고 [b:3mzj7y4q]gksu gedit /etc/grub.d/05_debian_theme[/b:3mzj7y4q] 을 입력합니다.

[b:3mzj7y4q][list:3mzj7y4q]#!/bin/bash -e

source /usr/lib/grub/grub-mkconfig_lib

this allows desktop-base to override our settings

f=/usr/share/desktop-base/grub_background.sh
if test -e ${f} ; then
source ${f}
else
WALLPAPER="[color=#FF0000:3mzj7y4q]/boot/grub/Oak_800.png[/color:3mzj7y4q]"
COLOR_NORMAL="[color=#FF0000:3mzj7y4q]white/black[/color:3mzj7y4q]"
COLOR_HIGHLIGHT="[color=#FF0000:3mzj7y4q]blue/white[/color:3mzj7y4q]"
fi[/list:u:3mzj7y4q][/b:3mzj7y4q]

파일이 열리고 위와 같은 스크립트가 나타나는데 [b:3mzj7y4q]10번 째 줄[/b:3mzj7y4q] 붉은색 부분이 배경으로 쓰일 파일이름입니다.
기존의 [b:3mzj7y4q]moreblue-orbit-grub[/b:3mzj7y4q]을 지우고 원하는 [b:3mzj7y4q]그림 파일의 경로[/b:3mzj7y4q]를 정확히 적어 넣으시면 됩니다.

[b:3mzj7y4q]11번째 줄[/b:3mzj7y4q] [b:3mzj7y4q]COLOR_NORMAL[/b:3mzj7y4q]은 메뉴폰트의 전경색/배경색이고 다음 줄 [b:3mzj7y4q]COLOR_HIGHLIGHT[/b:3mzj7y4q]는 선택항목의 전경색/배경색입니다.
단 배경색이 [b:3mzj7y4q]black[/b:3mzj7y4q]일 경우는 투명으로 나타나니 유의해 주시고 아래표를 참고해서 색깔은 선택해 주면 됩니다.

[attachment=1:3mzj7y4q]grub2_2.png[/attachment:3mzj7y4q]
메뉴폰트의 배경색은 black(투명)으로 설정하고 배경그림이 밝은 경우 전경색을 어둡게하고 배경그림이 어두우면
전경색을 밝게 하는 것이 눈에 잘 띄고 보기 좋습니다.

설정이 모두 끝나면 파일을 저장하고 나옵니다.

다시 터미널을 열고 [b:3mzj7y4q]sudo update-grub[/b:3mzj7y4q] 을 입력해 Grub2 설정을 시스템에 적용합니다.
그러면 [b:3mzj7y4q]/boot/grub/grub.cfg[/b:3mzj7y4q] 파일이 새로 생성되는데 부팅시 Grub2가 이 파일을 직접 읽어들입니다.

만약 Grub 메뉴의 위아래 순서를 바꾸고 싶다면 [b:3mzj7y4q]Alt+F2[/b:3mzj7y4q] 누르고 [b:3mzj7y4q]gksu gedit /boot/grub/grub.cfg[/b:3mzj7y4q] 한 후
[b:3mzj7y4q]menuentry 'ubuntu … … ’ { … … … }[/b:3mzj7y4q] 부위를 잘라내고 윈하는 위치에 붙여넣기 해 주면 됩니다.

설정이 모두 끝났으니 이제 다시 재부팅합니다.
멋진 Grub이 보이세요 !

테마의 통일감을 주기 위해 바탕화면 배경그림을 줄여서 Grub 배경으로 사용해도 좋습니다.
마지막으로 Oak의 원본 이미지에 링크 겁니다. 데스크탑 배경으로 괸찮습니다.

 [list:3mzj7y4q][url=http://www.socksoff.co.uk/walls08.html:3mzj7y4q][b:3mzj7y4q][color=#000080:3mzj7y4q]http://www.socksoff.co.uk/walls08.html[/color:3mzj7y4q][/b:3mzj7y4q][/url:3mzj7y4q][/list:u:3mzj7y4q]

[b:3mzj7y4q]간만에 글쓰니 손에 쥐나네 ㅎㅎㅎ[/b:3mzj7y4q]

방가워요 화산폭발님
MS에 납치 되었거나
수세로 재스카웃 되었던 소문을 들었는데 다 "카더라 통신" 이었군요 ;)

[quote="강분도":36l3c0hl]방가워요 화산폭발님
MS에 납치 되었거나
수세로 재스카웃 되었던 소문을 들었는데 다 "카더라 통신" 이었군요 ;)[/quote:36l3c0hl]

저도 방가워요 분도님 ^^;

제가 어찌 리눅스를 잊겠습니까 !
아직도 수세, 우분투 둘다 좋아합니다.

다만 요즘 다른 일이 많아서 컴퓨터 앞에 앉아 있는 시간이 많이 줄었어요.
이럴 땐 뭔가에 미쳐야 되는데 지난번 파이썬 시작하고 중도포기상태라 "에구에구"만 하고 있습니다.

가끔 시간나면 여기 홈피 들어와 열심히 눈팅하고 있습니다.
다를 잘 살고 계시는 것 같아 보기 좋아요.

이제 머리속에 든 것도 바닥나고 공부좀 해야겠어요.
실은 글을 쓰고 싶어도 요즘은 우분투가 너무 좋아져서 ㅎㅎㅎ

[b:36l3c0hl]여러분 !!! 추석에 맛있는 거 많이 드세요 !!![/b:36l3c0hl]

화산폭발님의 팁에 부연해서 약간 다른 방법 입니다.

관리자 권한으로 /etc/default/grub 파일만 수정합니다.
마지막에 저장하고 터미널에서 sudo update-grub 하면 됩니다.

GRUB_GFXMODE=800x600
GRUB_BACKGROUND="/boot/grub/Oak_800.png"
GRUB_COLOR_NORMAL="white/black"
GRUB_COLOR_HIGHLIGHT="blue/white"

설정내용은 화산폭발님과 동일하게 했고 동일한 효과가 나올 겁니다.
"GRUB_GFXMODE=" 부분만
/etc/default/grub 파일에 있고 나머지는 새로 추가해야 하는 부분입니다.

GRUB_GFXPAYLOAD_LINUX=keep 을 추가하면
미리 설정한 800x600 해상도가 유지되면서 플리머스와 콘솔 해상도에 영향을 줍니다.
"keep" 대신에 "GRUB_GFXMODE=800x600" 에서 설정한 해상도와 다른 해상도로 설정할 수도 있을 겁니다.

[url=http://wiki.archlinux.org/index.php/GRUB2:k7shoqy0]아치리눅스 GRUB2 문서[/url:k7shoqy0]

시간 설정이랑 기타 등등은 잘 됫는데

그 이후 05_debian_theme 부분이 다른 분들이랑은 좀 다르게 나오네요 ㅠ 도대체 무슨 일이죠 ㅠㅠ

#!/bin/sh
set -e

grub-mkconfig helper script.

Copyright (C) 2010 Alexander Kurtz <kurtz.alex@googlemail.com>

GRUB is free software: you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation, either version 3 of the License, or

(at your option) any later version.

GRUB is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with GRUB. If not, see <http://www.gnu.org/licenses/&gt;.

Include the GRUB helper library for grub-mkconfig.

. /usr/share/grub/grub-mkconfig_lib

We want to work in /boot/grub/ only.

test -d /boot/grub; cd /boot/grub

Set the location of a possibly necessary cache file for the background image.

NOTE: This MUST BE A DOTFILE to avoid confusing it with user-defined images.

BACKGROUND_CACHE=".background_cache"

set_default_theme(){
# Set a monochromatic theme for Ubuntu.
echo "${1}set menu_color_normal=white/black"
echo "${1}set menu_color_highlight=black/light-gray"

if [ -e /lib/plymouth/themes/default.grub ]; then
	sed &quot;s/^/${1}/&quot; /lib/plymouth/themes/default.grub
fi

}

module_available(){
local module
for module in "${1}.mod" */"${1}.mod"; do
if [ -f "${module}" ]; then
return 0
fi
done
return 1
}

set_background_image(){
# Step #1: Search all available output modes …
local output
for output in ${GRUB_TERMINAL_OUTPUT}; do
if [ "x$output" = "xgfxterm" ]; then
break
fi
done

이런식으로 해서 step 뭐뭐 하면서 나오네요 ㅠㅠ

배경을 바꾸는건 알겠는데, 메뉴 엔트리를 그래픽으로 바꾸는 거는 어디에도 안나와있네요 ㅠㅜ

메뉴 엔트리를 이미지로 바꾸려면 아예 GRUB2를 갈아엎어야 하나…