SPLASH(4)

명칭
splash - 기동 화면 (splash screen)과 화면 보호기의 인터페이스

서식
pseudo-device splash

해설
splash 유사 디바이스 드라이버는, 커널에 기동 화면과 화면 보호기의 서포트를 더합니다. 이 드라이버는 기동 화면의 비트 맵 이미지를 읽어들이고 싶을 때나, 화면 보호기를 사용하고 싶을 때에 필요합니다.

기동 화면 (SPLASH SCREEN)
시스템이 기동하려고 하고 있을 때에, 임의의 비트 맵 이미지를 화면상에 표시할 수 있습니다. 이 화상은 커널의 초기화 프로세스의 사이 총화면에 표시되어 ``Login''prompt가 화면에 나타나는지, 화면 보호기가 읽혀 초기화될 때까지 남습니다. 또, 이 화상은 키를 치면(자) 사라집니다만, 커널이 아직 디바이스를 검출하고 있는 동안은 곧바로는 사라지지 않을지도 모릅니다.

만약 커널을 읽어들일 때에 -c 없고 -v 부트 옵션을 지정하면(자), 기동 화면의 화상은 표시되지 않습니다. 다만 그런데도 화상은 읽히고 있어, 다음에 화면 보호기로서 사용할 수 있습니다. 아래와 같이를 참조해 주세요.

비트 맵을 표시하기 위해서는, 비트 맵 파일과 거기에 대응한 기동 화면 이미지 복호 모듈이 부트 로더에 의해 읽히고 있는 것이 필요합니다. 현재, 이하의 복호 모듈이 이용 가능합니다:

splash_bmp.ko
    W*ndows BMP 파일 복호기. BMP 파일 포맷에는 다양한 색 가지수의 것이 있습니다만, 이 복호기는 현재로서는 256 색의 비트 맵만을 취급할 수 있습니다. 그 이외의 색 가지수의 비트 맵은 표시할 수 없습니다.

사용예 시에로 기동 화면의 설정법을 자세하게 설명하고 있습니다.

VGA 의 표준적인 비디오 모드를 사용하는 경우에는 비트 맵의 사이즈는 320x200 이하인 것이 필요합니다. VESA 모듈을 정적으로 링크 할까 혹은 VESA 모듈을 읽어들일까 해, 커널의 VESA 모드 서포트를 유효하게 하고 있다면 (vga(4) 참조) , VESA BIOS 와 비디오 카드상의 비데오메모리의 양에도 따릅니다만, 최대로 1024x768 의 해상도의 비트 맵을 읽어들일 수가 있습니다.

화면 보호기
화면 보호기는 시스템이 아이돌 상태라고 생각될 때에 기동됩니다. 아이돌 상태란, 지정한 시간의 사이, 유저가 키를 치지 않고, 마우스도 작동시키지 않았던 때입니다. 화면 보호기는 선택 가능한 모듈이므로, 명시적으로 메모리에 읽히고 있을 필요가 있습니다. 현재, 이하의 화면 보호기 모듈이 이용 가능합니다:

blank_saver.ko
    이것은 단지 화면을 공백으로 할 뿐입니다.
daemon_saver.ko
    BSD demon의 애니메이션.
fade_saver.ko
    화면이 서서히 사라져 갑니다.
green_saver.ko
    모니터가 전력 절약 모드를 갖추고 있으면, 전원을 끕니다.
logo_saver.ko
    그래픽에 의한 BSD demon의 애니메이션.
rain_saver.ko
    화면에 소나기를 그립니다.
snake_saver.ko
    캐릭터 라인으로 완성된 뱀을 그립니다.
star_saver.ko
    별이 깜박입니다.
warp_saver.ko
    별이 재빠르게 흐릅니다.

화면 보호기 모듈은 kldload(1) (을)를 사용해 읽어들입니다:

    kldload logo_saver

이하와 같이 해 타임 아웃의 초수를 지정할 수 있습니다:

    vidcontrol -t N

또 /etc/rc.conf 파일의 saver 변수를 당신이 선택한 화면 보호기로 설정해 타임 아웃을 blanktime 변수로 설정할 수 있습니다. 이것에 의해 시스템 기동시에, 자동적으로 화면 보호기를 읽어들여, 타임 아웃을 설정할 수 있습니다.

saver 키를 누르는 것으로 화면 보호기를 즉시 기동할 수 있습니다. 디폴트는 AT 확장 키보드에서는 Shift-Pause , AT 84 키보드에서는 Shift-Ctrl-NumLock/Pause 입니다. 키 MAP (kbdcontrol(1,) keymap(5) 참조) (을)를 고쳐 써 saver 기능을 좋아하는 키에 할당하는 것으로, saver 키를 변경할 수 있습니다.

화면이 텍스트 모드가 아닐 때에는 화면 보호기는 기능하지 않습니다.

기동 화면을 화면 보호기로서 사용한다
기동 화면의 화상을 읽어들이고 있어 화면 보호기를 읽어들이지 않은 경우, 기동 화면의 화상을 화면 보호기로서 계속 사용할 수가 있습니다. 화면을 바꿀 때까지의 간격은, 위의 화면 보호기 시에에 있는 사용 방법으로 지정할 수 있습니다.

관련 파일
/boot/loader.rc
    부트 로더가 읽어들이는 스크립트
/etc/rc.conf
    시스템의 설정 정보
/modules/splash_*.ko
    기동 화면 이미지 복호 모듈
/modules/*_saver.ko
    화면 보호기 모듈
/modules/vesa.ko
    VESA 서포트 모듈

사용예
기동 화면이나 화면 보호기를 읽어들이기 위해서(때문에)는, 커널 설정 파일에 이하의 행이 있는 것이 필요합니다.

    pseudo-device splash

이하의 예는, 부트 로더의 prompt로부터 기동 화면의 화상을 읽어들이는 방법을 나타내고 있습니다. 이것들은 prompt의 곳에서 손뼉으로 쳐도 좋으며, 부트 로더의 스크립트 /boot/loader.rc (loader.rc(5) 참조) 에 써도 괜찮습니다.

    load kernel
    load -t splash_image_data chuck.bmp
    load splash_bmp

2 행 째에 기동 화면에 사용하는 비트 맵 이미지 파일을 읽어들입니다. 위의 예에서는, 파일 chuck.bmp 하지만 읽힙니다. 이 행에 -t splash_image_data 그렇다고 하는 옵션을 포함하는 것이 매우 중요합니다. 기동 화면 이미지 복호 모듈은, 이미 읽히고 있어야할 비트 맵 데이터를 찾을 때에 이 태그명을 찾기 때문입니다. 3 행 째에 기동 화면 이미지 복호 모듈 splash_bmp (을)를 읽어들이고 있습니다.

이하의 예에서는, VESA 모듈을 읽어들이고 있으므로, 표준의 VGA 모드에서는 표시할 수 없는 비트 맵 파일도, VESA 비디오 모드를 사용해 표시될 것입니다.

    load kernel
    load vesa
    load -t splash_image_data chuck.bmp
    load splash_bmp

만약 VESA 서포트가 커널에 정적으로 링크 되고 있다면, VESA 모듈을 읽어들일 필요는 없습니다. 위의 최초의 예의 같게, 다만 비트 맵 파일과 기동 화면 이미지 복호 모듈을 읽어들이는 것만으로 좋습니다.

경고
기동 화면도 화면 보호기도, 콘솔 드라이버로서 syscons(4) (을)를 이용하는 경우에게만 유효합니다. 또 하나의 콘솔 드라이버 pcvt(4) 그럼 이용할 수 없습니다.

버그
화면 보호기가 이미 읽히고 있을 때에 다른 화면 보호기를 읽어들였을 경우, 최초의 화면 보호기는 자동적으로는 제거되지 않고 메모리에 남아, 커널의 메모리를 쓸데없게 소비합니다.

관련 항목
vidcontrol(1), syscons(4), vga(4), rc.conf(5), kldload(8), kldunload(8)

역사
splash 드라이버는 FreeBSD 3.1 에 처음으로 등장했습니다.

저자
splash 드라이버와 이 메뉴얼 페이지는 Kazutaka Yokota <yokota@FreeBSD.org> 하지만 썼습니다. splash_bmp 모듈은 Michael Smith <msmith@FreeBSD.org> (와)과 Kazutaka Yokota 하지만 썼습니다.