쉘에서 명령어로 jpg 파일을 xpm.gz 그림 포멧으로 바꾸기



먼저 이미지매직이 깔려있는지 알아보기.
rpm -qf /usr/bin/convert
ImageMagick-5.5.7.15-1.3


Grub 부트로더를 사용할 때 splash 이미지 바꾸기


                        <? $eMail = "indra"."\x40"."linux.co.kr"; ?>
                        http://indra.linuxstudy.pe.kr


grub 부트로더를 사용할 때 백그라운드에는 xpm 포멧의 파일이 사용된다.
사용되는 xpm 포멧 파일은 gz 형식으로 압축되어 있으며, /boot/grub/splash.xpm.gz 의 경로로 되어 있다.
xpm 파일의 앞 부분을 잠시 보면 comment 와 같이 되어 있어 그 구조를 짐작 할 수 있다.



/* columns rows colors chars-per-pixel */
"640 480 14 1",


가로: 640, 세로: 480, 색: 16색.
그리고 chars-per-pixel 은 미루어 짐작 컨대 한 캐릭터(character) 를 표현하기 위해
사용되는 pixel 의 크기 지정인것 같다.
일반 jpg,gif 의 파일을 linux 의 convert 명령으로 splash 파일을 만드는것이 가능하다.


convert 의 옵션에는 다음과 같은 옵션들이 있다.


option: -geomatry, -colors


-geomatry 는 이미지를 변환할때 가로x세로 에 대한 값을 지정해주어,
이미지 리사이징을 가능케 한다.
-colors 는 이미지를 변환 할 때 사용되는 색의 수를 지정 할 수 있게 한다.
이를 이용하여, 일반 이미지를 다음과 같이 xpm 포멧으로 변환한다.


# convert -geometry 640×480 -colors 14 indra-splash.xpm splash.jpg
# gzip indra-splash.xpm


일반 splash.jpg 라는 jpg 포멧의 파일을 convert 명령으로 xpm 파일로 바꾸었다.
그 후, gz 형태로 xpm 을 압축 한 후 이를 적용시키기 위해 파일을 /boot/grub 으로 복사 한 후,
/boot/grub/grub.conf 파일을 수정하여야 한다.


grub.conf 파일을 보면



splashimage=(hd0,6)/grub/splash.xpm.gz


위와 같이 splash 이미지를 적용하기 위해 설정된 것을 볼 수 있다.
이를 주석처리 하여 주고 다음과 같이 새로운 경로로 재 설정 하여 준다.



# splashimage=(hd0,6)/grub/splash.xpm.gz
splashimage=(hd0,6)/grub/hiphop.xpm.gz


일반적으로 lilo를 부트로더로 사용했던 경우 lilo 의 내용을 적용하기 위해
/sbin/lilo 명령을 사용했지만 grub 의 경우는 reboot 만 하면 새로운 내용이 적용 된다.
reboot 을 했을 경우 새로운 백그라운드가 grub 으로 설정 되어 있을 것이다.

아래는 김프 툴을 이용해서 바꾸는 것을 설명







리눅스 부팅시 보여지는 여러 화면들을 개개인의 취향에 따라 알맞게 변경하여 사용할 수 있다.


부팅시 보여지는 대표적인 화면들을 찾아보면 아래와 같다.







■ 부트매니저(grub) 배경


■ 부트스플래쉬 (boot splash)


■ 로그인매니저(gdm) 배경


■ 로그인스플래쉬 (kde/gnome)


■ 바탕화면 (wallpapers)


■ 종료스플래쉬 (shutdown splash)



이제부터 위의 화면들을 사용자에 맞게 변경하는 방법에 대해 알아보도록 하자.







부트매니저(Grub) 배경 바꾸기





부트매니저라 함은, 컴퓨터 부팅시 여러 운영체제들 중에서 어느 것으로 부팅할지를 결정하게 해주는 것으로 리눅스에서는 Grub이라는 프로그램을 사용한다. 이 Grub의 배경으로 들어가는 이미지를 자신이 원하는 이미지로 바꾸어 보도록 하자.





먼저 grub의 설정파일을 열어서 어떤 배경화면 이미지를 불러오는지 확인해보자.


# vi /boot/grub/grub.conf






# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/hda1
#          initrd /boot/initrd-version.img
#boot=/dev/hda
default=0
timeout=5
splashimage=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Haansoft Linux (2.6.15-5.1hs)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.15-5.1hs ro root=/dev/hda1
        initrd /boot/initrd-2.6.15-5.1hs.img


title Other
        rootnoverify (hd1,0)
        chainloader +1


위 예제에서는 hda1파티션(hd0,0)의 /boot/grub/ 경로에 있는 splash.xpm.gz 파일을 지정하고 있다.


그럼 위의 splash.xpm.gz 파일을 내가 원하는 파일로 교체하면 간단히 수정되는 것이다.







※ 주의


여기서 주의할 점은 해당 파일의 종류이다.


*.xpm.gz이란? 리눅스 등에서 사용되는 xpm 형태의 이미지 파일을 gzip 압축으로 묶은 것을 말하는 것으로, 반드시 이와 같은 형태의 이미지 파일이어야만 Grub의 배경이미지로 사용할 수 있게 된다.


gnome(또는 kde) 디자인 관련 사이트를 방문하면 부트매니저(grub)의 배경이미지들을 쉽게 구할 수 있다. (검색어: grub)


원하는 이미지를 다운받아 위의 경로에 넣어주기만 하면 부팅시 해당 이미지가 적용된 모습을 확인할 수 있다.






http://www.gnome-look.org


http://www.kde-look.org


 






※ 참고


부트로더는 운영체제가 부팅되기 이전에 구동되는 간단한 매니저 프로그램으로, 실제 운영체제 부팅후 이미지를 보는 것과 같은 미세한 처리가 어렵다. 그래서 해상도와 표현가능한 색상수 등에 제한을 가지게 되어 보여지는 이미지들이 다소 매끄럽지 않게 나타나게 된다. 리눅스 배포판에서는 이러한 문제를 보완하기 위해 가능하면 깔끔하고 단순한 형태의 이미지들을 많이 사용한다. Grub 배경이미지가 그다지 화려하지 않은 이유는 바로 여기에 있는 것이다.



위의 디자인 관련 사이트에서 제공하는 이미지를 사용하지 않고 나만의 이미지를 활용하고자 한다면, *.xpm.gz 포맷의 이미지를 직접 만들어야 한다. 그럼 지금부터 아래의 내용을 하나하나 따라하며 직접 만들어 보도록 하자.



① 먼저 *.xpm.gz 포맷은 리눅스의 Gimp라는 프로그램에서 지원한다.


   내 시스템에 gimp가 설치되어 있는지 확인하자. (시작 > 응용 프로그램 > 그래픽 > gimp)


② 그리고 gimp 프로그램에 grub 이미지 제작을 지원할 수 있는 플러그인이 설치되어 있어야 한다.


  일반적으로 리눅스 배포판에 포함되어 있는 gimp에는 이러한 플러그인을 기본 탑재하지 않는다.


  플러그인은 www.gimp.org 개발 사이트에서 구해야 하는데,


  필자가 구해보려고 여기저기 뒤져본 결과 구하기가 쉽지 않았다.


  그래서 필자가 구한 플러그인 파일을 공유하니 이를 받아 사용하자.







■ Grub 이미지 제작 Gimp 플러그인 : grub-image.scm   <-- 다른이름으로 저장


■ 플러그인 설치 방법


  [root@ ~]# gimptool --install-script grub-image.scm
  /usr/bin/install -c -d /root/.gimp-2.2/scripts
  /usr/bin/install -c -m 644 grub-image.scm /root/.gimp-2.2/scripts/grub-image.scm



플러그인이 설치되었다면, gimp의 File 메뉴 제일 하단에서 추가된 메뉴를 확인할 수 있을 것이다.





③ Gimp를 실행하고 작업하기를 원하는 이미지 파일을 열어, 앞서 등록된 플러그인 메뉴를 실행하자. 잠시 시간이 경과된 후 splash.xpm.gz 파일이 만들어 지는 것을 확인할 수 있을 것이다.





④ 생성된 splash 파일을 앞서 보았던, /boot/grub/splash.xpm.gz 파일에 덮어쓰고 재부팅하면 변경된 Grub 배경이미지를 확인할 수 있을 것이다.







만약 위의 플러그인이 동작하지 않거나 설치되지 않는다면, 아래와 같이 수동작업도 가능하다.






① 사용할 이미지 파일을 Gimp에서 xpm 포맷으로 저장(다른 이름으로 저장)한다.


② 저장된 xpm 이미지를 gzip 명령 또는 압축관리자 프로그램을 사용하여 *.gz 압축 처리한다.


③ 해당 경로에 덮어쓴다. (/boot/grub/splash.xpm.gz)



# 위에서 언급된 grub-image.scm 플러그인의 내용은 아래와 같다.


  다운로드가 안될 경우 아래 내용을 담은 grub-image.scm 텍스트 파일을 만들면 된다.



(define (script-fu-grub-pixmap img drw filename)
(gimp-undo-push-group-start img)
(gimp-image-scale img 640 480)
(gimp-convert-indexed img 1 0 14 0 0 "")
(gimp-undo-push-group-end img)
(gimp-file-save 0 img drw filename filename)
)

(script-fu-register "script-fu-grub-pixmap"
"<Image>/File/Grub Boot Image…"
"Save this image in the format used by the Grand Unified
Boot Loader. (http://www.gnu.org/software/grub/)"
"Mark Moss"
""
"January 31, 2002"
"*"
SF-IMAGE "Input Image" 0
SF-DRAWABLE "Input Layer" 0
SF-FILENAME "Output File" "splash.xpm.gz"

)

부트로더 이미지 변경하기

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다