Grub2 배경화면을 깔아 볼까요!

[attachment=2:10vwollu]grub2_4.png[/attachment:10vwollu]
우분투 [b:10vwollu]9.04[/b:10vwollu]부터 [b:10vwollu]Grub2[/b:10vwollu]를 쉽게 설치해 사용할 수 있습니다.

Grub2로 넘어오면서 기존의 gfxboot를 사용할 순 없지만 배경화면에 사진을 넣을 수 있으며
해상도도 높게 설정할 수 있어 보다 고급스러운 화면을 표시할 수 있습니다.

9.04 Grub2와 9.10 Grub2는 버전이 달라 약간의 차이가 있어 따로 주석 달았습니다.
9.04 쓰시는 분들을 위해 grub2 설치부터 시작하겠습니다.

[list:10vwollu][b:10vwollu]sudo apt-get install grub2[/b:10vwollu][/list:u:10vwollu]

터미널에서 위 명령어를 입력하면 Grub2가 설치되면서 세팅까지 다 해줍니다.
다시 재부팅하면 기존의 Grub이 뜨고 제일 위에 Grub2 메뉴가 나타나는데 Grub2 메뉴를 눌러야
진정한 Grub2가 실행됩니다.

Grub2로 들어가 부팅이 잘 되는지 확인하고 성공하면 기존의 Grub을 지워줍니다.

[list:10vwollu][b:10vwollu]sudo upgrade-from-grub-legacy[/b:10vwollu][/list:u:10vwollu]

다시 재부팅하면 Grub2만 실행됩니다.
9.10 사용자 분들은 이미 Grub2가 설치되어 있으니 지금부터 설정해 주시면 됩니다.

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

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

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

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

혹시 자신의 그래픽카드가 지원하는 해상도를 알고 싶다면 Grub2가 떠 있는 상태에서 [b:10vwollu]c[/b:10vwollu] 를 누르고
다시 [b:10vwollu]vbeinfo[/b:10vwollu] 를 입력하면 지원 해상도가 나타납니다.

배경그림이 결정되었다면 그림 파일을 [b:10vwollu]/boot/grub[/b:10vwollu] 디렉토리로 옮겨줍니다.
옭길 때 [b:10vwollu]관리자 모드[/b:10vwollu]여야 하기 때문에 [b:10vwollu]Alt + F2[/b:10vwollu] 누르고 [b:10vwollu]gksu nautilus[/b:10vwollu]를 실행하면 편하실 겁니다.

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

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

[list:10vwollu][b:10vwollu]/etc/default/grub
/etc/grub.d/05_debian_theme
/boot/grub/grub.cfg[/b:10vwollu][/list:u:10vwollu]

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

[list:10vwollu][b:10vwollu]# This file is sourced by update-grub, and its variables are propagated

to its children in /etc/grub.d/

GRUB_DEFAULT=[color=#FF0000:10vwollu]0[/color:10vwollu]
GRUB_TIMEOUT=[color=#FF0000:10vwollu]5[/color:10vwollu]
GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_GFXMODE=[color=#FF0000:10vwollu]800x600[/color:10vwollu][/b:10vwollu][/list:u:10vwollu]

[b:10vwollu]GRUB_DEFAULT[/b:10vwollu]는 기본으로 선택할 항목을 설정하는 것으로 제일 위 부분이 0부터 시작합니다.
[b:10vwollu]GRUB_TIMEOUT[/b:10vwollu]은 5초후에 자동으로 선택 항목으로 부팅한다는 말입니다.
[b:10vwollu]GRUB_GFXMODE=800x600[/b:10vwollu]은 배경그림의 해상도를 설정하는 부분입니다.
[b:10vwollu]grub2splashimages[/b:10vwollu]를 이용하시는 분들은 [b:10vwollu]640x480[/b:10vwollu]으로 설정하면 됩니다.

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

[list:10vwollu][b:10vwollu]if [ "$GRUB_TERMINAL" = "gfxterm" ] ; then
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/[color=#FF0000:10vwollu]Oak_800[/color:10vwollu].{png,tga} ; do
if is_path_readable_by_grub $i ; then
bg=$i[/b:10vwollu][/list:u:10vwollu]

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

단 확장자 [b:10vwollu].png나 .tga는 빼고 [/b:10vwollu]입력해야 합니다.

다시 [b:10vwollu]38번 째[/b:10vwollu] 줄을 보면 아래와 같은 스크립트가 보일 겁니다.

[list:10vwollu][b:10vwollu]if background_image make_system_path_relative_to_its_root ${bg} ; then
set color_normal=[color=#FF0000:10vwollu]white/black[/color:10vwollu]
set color_highlight=[color=#FF0000:10vwollu]blue/white[/color:10vwollu]
else[/b:10vwollu][/list:u:10vwollu]

[b:10vwollu]set color_normal[/b:10vwollu]은 [b:10vwollu]메뉴폰트[/b:10vwollu]의 [b:10vwollu]전경색/배경색[/b:10vwollu]이고 [b:10vwollu]set color_highlight[/b:10vwollu]는 [b:10vwollu]선택항목[/b:10vwollu]의 [b:10vwollu]전경색/배경색[/b:10vwollu]입니다.
단 배경색이 [b:10vwollu]black[/b:10vwollu]일 경우는 투명으로 나타나니 유의해 주시고 사용할 수 있는 색깔은 아래와 같습니다.

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

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

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

[b:10vwollu]9.04[/b:10vwollu]에서 [b:10vwollu]800x600[/b:10vwollu] 그림을 사용할 경우 가끔 해상도가 바뀌지 않는 버그가 있는데
이럴 경우 /boot/grub/grub.cfg 파일을 직접 수정해 주어야 합니다.

[b:10vwollu]Alt + F2[/b:10vwollu]를 누르고 [b:10vwollu]gksu gedit /boot/grub/grub.cfg[/b:10vwollu] 를 입력합니다.

[list:10vwollu][b:10vwollu]if font /usr/share/grub/ascii.pff ; then
set gfxmode=[color=#FF0000:10vwollu]800x600[/color:10vwollu]
insmod gfxterm
insmod vbe
terminal gfxterm
fi[/b:10vwollu][/list:u:10vwollu]

[b:10vwollu]14번 째[/b:10vwollu] 줄을 찾아 붉은색 부분을 수정해 주고 저장합니다.

이제 다시 재부팅하면 멋진 Grub이 여러분을 기다릴 겁니다.
테마의 통일감을 주기 위해 바탕화면 배경그림을 줄여서 Grub 배경으로 사용해도 좋습니다.

마지막으로 Oak의 원본 이미지에 링크 겁니다. 데스크탑 배경으로 괸찮습니다.

[list:10vwollu][url=http://www.socksoff.co.uk/walls08.html:10vwollu][color=#000080:10vwollu][b:10vwollu]socksoff.co.uk

[b:10vwollu]Grub2용 gfxboot를 기다리며…[/b:10vwollu]

아흐… 보기 좋군요!!! 8-)

방법이 너무 길어서 패스입니다… ㅋㅋ
고작 몇초 나오는 화면이라…

[quote:3we9xop1]그러면 /boot/grub/grub.cfg 파일이 새로 생성되는데 9.04에서 800x600 그림을 사용할 경우 이 파일을 수정해야 합니다.
Alt + F2를 누르고 gksu gedit /boot/grub/grub.cfg 를 입력합니다.

  if font /usr/share/grub/ascii.pff ; then
  set gfxmode=[color=#FF0000:3we9xop1]800x600[/color:3we9xop1]
  insmod gfxterm
  insmod vbe
  terminal gfxterm
  fi

14번 째 줄을 찾아 붉은색 부분을 수정해 주고 저장합니다.[/quote:3we9xop1]
제가 해 본 걸로는 그전에 설정한 GRUB_GFXMODE=800x600 으로
sudo update-grub 하시면 이 부분도(set gfxmode=[color=#FF0000:3we9xop1]800x600[/color:3we9xop1]) 자동 수정 됩니다.
길다고 하시니까 줄여주셔요~
잠깐 나오는 화면이래도 환한게 좋네요.
화산폭발님 팁, 잘 보고 있습니다. :P

[quote:1uej99uz]for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/Oak_800.{png,tga} [/quote:1uej99uz]
위의 자료에서
/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub 이 셋 디렉토리중에
/boot/grub 디렉토리안에만 Oak_800.png가 있어도 배경화면이 나온는 건가요?

[quote="느림보":33obxfpd][quote:33obxfpd]for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/Oak_800.{png,tga} [/quote:33obxfpd]
위의 자료에서
/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub 이 셋 디렉토리중에
/boot/grub 디렉토리안에만 Oak_800.png가 있어도 배경화면이 나온는 건가요?[/quote:33obxfpd]

세 디렉토리중 사진 파일이 어디에 있어도 이름만 정확히 쓰신다면 배경화면으로 나올 겁니다.

저는 /usr/share/images/grub 에 있는 파일을 옮기지 않고 사용했습니다.

ps. 9.04에서 업그레이드 했는데 grub2가 설치되지 않았더군요… 그래서 grub2설치…

그 후 error 15 가 뜨더군요....ㅜㅜ  

강분도님 글 보고 하드디스크 순서를 바꾸는 걸로 해결했습니다. 

만약 이런 사이트가 없었다면  저 같은 초보는 우분투 사용하다가 적응하지 못하고 xp로 돌아갔을 겁니다. 

 이 자리를 빌어 여러 고수 분들께 감사드립니다.

[quote="화산폭발":hhg1yog9]설정이 끝나면 저장한 다음 다시 [b:hhg1yog9]Alt + F2[/b:hhg1yog9]를 누르고 [b:hhg1yog9]gksu gedit /etc/grub.d/05_debian_theme[/b:hhg1yog9] 을 입력합니다.
[list:hhg1yog9][b:hhg1yog9]if [ "$GRUB_TERMINAL" = "gfxterm" ] ; then
for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub}/[color=#FF0000:hhg1yog9]Oak_800[/color:hhg1yog9].{png,tga} ; do
if is_path_readable_by_grub $i ; then
bg=$i[/b:hhg1yog9][/list:u:hhg1yog9][/quote:hhg1yog9]
이 부분에서… for i in {/boot/grub,/usr/share/images/desktop-base,/usr/share/images/grub} 여기에 자신이 원하는 임의의 디렉토리 경로를 적어주셔도 됩니다. 굳이 노틸러스를 루트로 열 필요 없이 홈에 있는 이미지를 끌어쓰는게 편할수도 있으니까요. 전 이 줄을

for i in {/home/vulpes/Pictures}

로 바꿔서 Pictures안에 둔 이미지를 지정했습니다. 어차피 이미지를 여기서 찾으라는 거니까 다른 경로는 있어도 의미도 없고 해서 지웠죠. 아니면 이미 들어가 있는 경로 뒤에 , 붙이고 원하는 경로를 적으셔도 무방합니다.

[quote="akuna":1fb0g287]
제가 해 본 걸로는 그전에 설정한 GRUB_GFXMODE=800x600 으로
sudo update-grub 하시면 이 부분도(set gfxmode=[color=#FF0000:1fb0g287]800x600[/color:1fb0g287]) 자동 수정 됩니다.
길다고 하시니까 줄여주셔요~[/quote:1fb0g287]
몆일 일이 있어 못 들어왔는데 댓글이 많아서 놀랐습니다.
다른 분들이 답변도 해 주셔서 정말 고맙습니다.

"akuna"님 말대로 GRUB_GFXMODE를 수정하면 원래 자동으로 바뀌지만 9.04의 Grub2는 가끔 640x480으로
고정되는 버그가 있습니다. 그런 분들만 직접 수정해 주시면 됩니다.

설명이 너무 길다는 지적이 많이 나오는데 부끄럽습니다.

제가 원래 맨땅에서 시작한지라 그 옛날 팁 따라하다 막히던 추억이 자꾸 생각나서
팁을 읽는 분들을 리눅스 초보라고 생각하고 쓰기 때문입니다.

다음부터 가급적 필요없는 부분은 줄여서 간략하게 써 보도록 노력하겠습니다.

[b:1fb0g287]책 좀 읽어야겠어…[/b:1fb0g287]

[quote:r1xnt3lb]설명이 너무 길다는 지적이 많이 나오는데 부끄럽습니다.

제가 원래 맨땅에서 시작한지라 그 옛날 팁 따라하다 막히던 추억이 자꾸 생각나서
팁을 읽는 분들을 리눅스 초보라고 생각하고 쓰기 때문입니다.

다음부터 가급적 필요없는 부분은 줄여서 간략하게 써 보도록 노력하겠습니다.[/quote:r1xnt3lb]
설명이 길다는 얘기는 농담입니다. :P
팁은 초보자에게 필요하니까 설명은 자세할수록 좋습니다.
잘 하시는 분들은 스스로 찾을 수 있는 능력이 있으므로 대충만 설명해도 아시지만
초보자들은 1 부터 10 까지 자세히 설명해도
이해 못 하는 경우가 많습니다.
화산폭발님이 평소에 하시던 대로 개성있게 해 주세요~

자세한게 더 좋아요~ 앞으로도 자세하게 해 주세요~

[quote="Vulpes":39ux1djs] 전 이 줄을

for i in {/home/vulpes/Pictures}

로 바꿔서 Pictures안에 둔 이미지를 지정했습니다. [/quote:39ux1djs]

어라…? 이렇게 고쳐서 되었다고 생각했는데 아니었군요. For 루프 안에 값이 하나만 있으면 안되나 봅니다. 앞에 있던거 중에 아무거나 하나라도 남기고 , 로 원하는 경로를 추가하던가 아니면 코드상에서 for을 지워버리고 처리하는 수 밖에 없군요.

ㅋㅋㅋㅋ 멋집니다!! :mrgreen: :mrgreen: :mrgreen:

좋은팁갑사합니다

10.04에선 안에 내용이 쬐끔 다르긴했지만 기존내용과 크게 다르진안더군요 ㅎㅎ ^^/

=_= 단지 스샷을 찍어서 보여주고 싶지만…하도 금새 지나가버려서 찍을수 없다는게 조금 안타깝긴합니다 ㅎㅎ :mrgreen: :mrgreen: :mrgreen: