부팅시의 화면을 조절해봅시다

[img:cs2405ut]https://lh6.googleusercontent.com/_nrs4cj8TbR0/TcDZpgUfW3I/AAAAAAAAAHg/gzsWf8x1QAQ/How-to-Fix-the-Big-and-Ugly-Plymouth-Logo-in-Ubuntu-10-04-2.jpg[/img:cs2405ut]

컴퓨터에 따라 (특히 넷북)이 부팅화면이 깨져서 나오거나 화면에 딱 맞게 나오지 않는다거나 이미지 잘리거나…
어쨌든 문제아닌 문제가 발생하는 경우가 꽤 있습니다.

이 글에서는 이 부팅 스크린 문제에 대해서 다뤄보고자 합니다.
(우리 포럼에는 강좌게시판이 없고, 위키는 현재 수정중이라 당장에 올릴만한 곳이 없군요)

[b:cs2405ut]1. 어째서 이런 문제가 발생하는거야?[/b:cs2405ut]
우분투를 포함한 리눅스들은 부팅과정 중에는 Xwindow시스템이 로드되지 않습니다.
무슨 말이냐 하면, 우리가 항상 보는 [b:cs2405ut]‘마우스로 깔짝깔짝 움직일 수 있는 화면’[/b:cs2405ut]을 볼 수 없다는 말입니다.
그래서 [b:cs2405ut]‘제대로 그래픽을 표현해 줄 프로그램’[/b:cs2405ut]이 없기 때문에 이런 현상이 발생하는겁니다.

[b:cs2405ut]2. 그럼 부팅시에 보이는 화면은 무엇인가?[/b:cs2405ut]
이런 상황에서 그래픽을 기반으로 한 화려한(?) 부팅 화면을 제공해 주는 기능을 프레임버퍼(FrameBuffer)라고 합니다.
앞뒤 떼고 간단히 설명하면 Xwindow시스템의 아~~주 밑바닥의 그래픽을 화면에 보여주는 기능을 또 축소해서
Xwindow가 없는 상황에서도 일정 품질 이상의 그래픽을 보여줄 수 있게 하는 기능입니다.

ps>이 프레임 버퍼 기능은 콘솔 화면에서 멀티바이트 문자셋 (비 영어권 문자)을 제대로 출력하게 해 주는 기능도 가지고 있습니다.

[b:cs2405ut]3. 그럼 시작해봅시다.[/b:cs2405ut]
일단 다음의 패키지가 필요합니다.
콘솔에서

sudo apt-get install v86d

또는 시냅틱 패키지 매니저에서 v86d 로 검색해서 설치하시면 됩니다.

다음은 리눅스 부팅과는 뗄 수 없는 그녀석! GRUB 설정을 수정합니다.

sudo gedit /etc/default/grub

자신이 쓰는 우분투 배포판에 따라 kate나 mousepad 등 기본 텍스트 에디터를 사용하시면 되겠습니다.
단, 시스템 파일이기 때문에 반드시 sudo명령어가 포함되어야 수정이 가능합니다.

이제 파일이 열리면 이것저것 써 있을텐데요, 다음과 같이 따라서 수정해 주세요.

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" 항목을 찾아서

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset video=uvesafb:mode_option=1280x1024-24,mtrr=3,scroll=ywrap"

로 수정해주세요. 해상도를 나타내는 1280x1024는 자신의 화면 해상도에 맞춰주시면 됩니다.
제 경우에는 1280x720이군요. 요즘은 보통 1920x1080이지요? :)

다음으로 넘어갑니다.

GRUB_GFXMODE=640x480

아마 이렇게 되어 있을겁니다. 앞에 # 문자가 없는 경우도 있고, 해상도가 다르게 표현되어 있기도 합니다.
이 글의 내용과 다르다고 걱정하지 마세요. 아무 문제 없습니다.

GRUB_GFXMODE=1280x1024

이 부분의 해상도 역시 위에서 자신이 넣은 해상도와 같게 적어 넣어주시면 되겠습니다.
여기까지 수정을 하셨으면 파일을 저장하고 닫아주세요.

다음 과정입니다.
이곳에서는 처음 커널이나 기타 등등 시스템을 구동할 때 가상 작업공간으로 쓰이는 RAM-DISK 관련 옵션을 수정합니다.
이 파일을 열어주세요.

sudo gedit /etc/initramfs-tools/modules

마찬가지로 자신의 우분투 배포판에 맞는 텍스트 에디터를 사용하세요.

파일이 열리면 아마 전부 다 줄 앞에 # 문자를 덜렁덜렁 가지고 있고 그 외엔 아무것도 없을겁니다.

uvesafb mode_option=1280x1024-24 mtrr=3 scroll=ywrap

이 내용을 역시 자신이 설정한 해상도로 고쳐서 추가한 다음, 저장하고 파일을 닫습니다.

이제 지금까지 수정한 파일들을 적용할 시간입니다.
터미널에서 다음을 따라해주세요.

[code:cs2405ut]
echo FRAMEBUFFER=y —> 대/소문자를 구분합니다. 유의하세요.
sudo update-grub2
sudo update-initramfs -u
[/code:cs2405ut]
이것으로 설정이 모두 끝났습니다.
이제 그 동안 부팅시에 이미지가 깨졌던 분들은 멀쩡해진 부팅화면을 볼 수 있을겁니다.

[b:cs2405ut]4. 그런데 맨날 보던거라 질려요… 바꿀 수 없나요?[/b:cs2405ut]
리눅스가 괜히 장난감이겠습니까. 바꿀 수 있지요 :)
일단 기본 제공되는 테마로 연습을 해 보죠.

sudo apt-get install plymouth-theme*

그럼 주룩주룩 대략 한 10개 내외의 패키지를 설치할겁니다.
패키지 설치가 완료되면 이제 테마를 바꿔보도록 합시다.

sudo update-alternatives --config default.plymouth

명령어가 길어도 걱정 마세요. 그런 당신을 위해(?!) 해커들은 자동완성 기능을 만들었습니다.
update-alternatives를 입력한다고 하면 upda 정도만 입력하고 탭을 눌러보세요.
입력한 문자를 포함하는 명령어가 한개 뿐이라면 그걸로 완성해 줍니다.

@ 탭을 눌렀는데 반응이 없어요!!
중복되는 명령어들이 있거나 해당하는 명령어가 전혀 없다면 탭은 아무것도 보여주지 않습니다.
이때는 탭을 두번 눌러주세요.
그러면 해당하는 문자를 포함하고 있는 명령어 리스트를 보여줍니다.
만약 아무것도 없다면 시스템 명령어 수천개를 모두 보여줄까? 하고 물어봅니다 (야!)
이 기능은 명령어 뿐 아니라 폴더를 찾는데도 쓸 수 있습니다.

명령어를 입력하면 다음과 같은 화면을 보여줄겁니다.
[img:cs2405ut]https://lh4.googleusercontent.com/_nrs4cj8TbR0/TcDfiQNipgI/AAAAAAAAAHo/3129IgXX90g/s512/default-plymouth.png[/img:cs2405ut]
여기서 자신이 원하는 테마의 번호를 입력하고 엔터를 눌러주세요.
앞에 * 표시가 있는 것이 현재 사용하고 있는 테마입니다.

이게 끝입니다.
이것만으로 여러분은 부팅화면 바꾸기를 완성하셨습니다.

축하합니다 :)

강좌게시판은 활용게시판이 대신 하고 있으며
위 같은 글은 팁 게시판이 맞을 것입니다.

[list=1:2b82q1v4]이미 한달 반 전에도 또 이야기 한 방법인데…
[:2b82q1v4] viewtopic.php?p=79732#p79732
문제점은 nvidia 사용자 경우 드라이버 설치 후엔 이미 프레임 버퍼를 지원하기에…
그래픽 카드에 따라 v86d 패키지 사용을 결정해야 할 것입니다. (ATI도 드라이버 설치 후엔 자동으로 프레임 버퍼를 지원 할것입니다.)
제 느낌엔 v86d 패키지의 적용은 인탤사용자 중 LCD 좀 큰 화면(해상도 고) 사용자에게 맞는 방법 또는 그래픽 드라이버 설치 안한 상태의 방법으로 느껴집니다. [/
:m:2b82q1v4]
[:2b82q1v4] 그리고 echo FRAMEBUFFER=y 만 해준경우 그 다음 커널이 업데이트 되어 커널 모듈 정보 빌드를 한다면 적용된 것이 사라지기에…
제가 쓴 글타래 참고한 링크처럼 echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash 설정을 저장하여 주어야 할 것입니다.[/
:m:2b82q1v4][/list:o:2b82q1v4]

그리고 update-alternatives --list default.plymouth (사용가능한 plymouth 목록 확인) ;)

[quote="강분도":1srqvhis]강좌게시판은 활용게시판이 대신 하고 있으며
위 같은 글은 팁 게시판이 맞을 것입니다.

[list=1:1srqvhis]이미 한달 반 전에도 또 이야기 한 방법인데…
[:1srqvhis] http://ubuntu.or.kr/viewtopic.php?p=79732#p79732
문제점은 nvidia 사용자 경우 드라이버 설치 후엔 이미 프레임 버퍼를 지원하기에…
그래픽 카드에 따라 v86d 패키지 사용을 결정해야 할 것입니다. (ATI도 드라이버 설치 후엔 자동으로 프레임 버퍼를 지원 할것입니다.)
제 느낌엔 v86d 패키지의 적용은 인탤사용자 중 LCD 좀 큰 화면(해상도 고) 사용자에게 맞는 방법 또는 그래픽 드라이버 설치 안한 상태의 방법으로 느껴집니다. [/
:m:1srqvhis]
[:1srqvhis] 그리고 echo FRAMEBUFFER=y 만 해준경우 그 다음 커널이 업데이트 되어 커널 모듈 정보 빌드를 한다면 적용된 것이 사라지기에…
제가 쓴 글타래 참고한 링크처럼 echo FRAMEBUFFER=y | sudo tee /etc/initramfs-tools/conf.d/splash 설정을 저장하여 주어야 할 것입니다.[/
:m:1srqvhis][/list:o:1srqvhis]

그리고 update-alternatives --list default.plymouth (사용가능한 plymouth 목록 확인) ;)[/quote:1srqvhis]

내용 추가 감사합니다.
앞으로는 활용게시판과 팁게시판을 이용하도록 하겠습니다. :)

아울러 곧 개장(?)할 위키도 많이 이용해주세요 / 함께 참여해 주세요

http://wiki.ubuntu.or.kr