VIDCONTROL(1)

명칭
vidcontrol - 시스템 콘솔의 제어와 설정의 유틸리티

서식
vidcontrol [-CdLPpx] [-b color] [-c appearance] [ -f [size] file] [-g geometry] [-h size] [-i adapter | mode] [-l screen_map] [-M char] [-m on | off] [-r foreground background] [-S on | off] [-s number] [-t N | off] [mode] [foreground [background]] [show]

해설
vidcontrol 명령을 이용해 syscons(4) 콘솔 드라이버의 여러가지 옵션, 예를 들면, 화면 모드, 색, 커서 형상, 화면 출력 MAP, 폰트, 화면 보호기 타임 아웃을 설정할 수 있습니다.

이하의 명령행 옵션을 서포트하고 있습니다:

mode
    새로운 비디오 모드를 선택합니다. 현재 서포트하고 있는 모드는 다음과 같습니다: 80x25, 80x30, 80x43, 80x50, 80x60, 132x25, 132x30, 132x43, 132x50, 132x60, VGA_40x25, VGA_80x25, VGA_80x50, VGA_90x25, VGA_90x30, VGA_90x43, VGA_90x50, VGA_90x60, EGA_80x25, EGA_80x43, VESA_132x25, VESA_132x43, VESA_132x50, VESA_132x60 라스터 텍스트 모드 VGA_800x600 도 선택할 수 있습니다. 후술의 비디오 모드 서포트 (을)를 참조해 주세요.

foreground [background]
    텍스트를 표시할 때의 색을 변경합니다. 전경색 (예: “vidcontrol white”) , 혹은 전경색 및 배경색 (예: “vidcontrol yellow blue”) (을)를 지정하는 것으로써 변경할 수 있습니다. 후술의 show 명령을 사용해, 사용 가능한 색을 볼 수 있습니다.

show
    지정한 플랫폼에서 서포트되고 있는 색을 표시합니다.

-b color
    보더색을 color (으)로 설정합니다. 본옵션을 비디오 드라이버가 항상 서포트하고 있는 것은 아닐지도 모릅니다.

-C  역사 버퍼를 클리어 합니다.

-c normal | blink | destructive
    커서의 외관을 변경합니다. 커서는, 반전 블록 (normal) 혹은 낡은 하드웨어 커서모양의 것 (destructive) 의 머지않아인가입니다. 전자는, 옵션으로 blink (으)로 할 수 있습니다. 후자는 실제로는 시뮬레이트 하고 있습니다.

-d  현재의 화면 출력 MAP를 표시합니다.

    -f [size] file 사이즈 size 용무의 폰트를 파일 file (으)로부터 읽어들입니다. (현재로서는 size 에는 8x8, 8x14, 8x16 만을 지정할 수 있습니다). 폰트 파일은 uuencode 된 형식에서도 생의 바이너리 포맷에서도 상관하지 않습니다. 메뉴에 의한다 vidfont(1) 명령을 사용해, 좋아하는 폰트를 로드 가능합니다.

    size (은)는 생략 가능합니다. 이 경우, vidcontrol (은)는 폰트 파일의 크기로부터, 추측합니다.

    MDA 나 CGA 와 같이 낡은 비디오 카드는 소프트웨어 폰트를 서포트하지 않는 것에 주의해 주세요. 후술의 비디오 모드 서포트 (와)과 사용예 (와)과 syscons(4) 의 메뉴얼 페이지도 참조해 주세요.

-g geometry
    텍스트 모드의 geometry (을)를, 선택 가능한 지오메트리로 설정합니다. 현재, VESA_800x600 등의 라스터 모드만이, 본옵션을 서포트합니다. 후술의, 비디오 모드 서포트 (와)과 사용예를 참조해 주세요.

-h size
    역사 (스크롤 백) 버퍼를 size 행으로 설정합니다.

-i adapter
    현재의 비디오 아답터에 관한 정보를 표시합니다.

-i mode
    현재의 비디오 하드웨어로 사용 가능한 비디오 모드를 표시합니다.

-l screen_map
    화면 출력 MAP를 파일 screen_map (으)로부터 읽어들여 설정합니다. syscons(4) 도 참조해 주세요.

-L  출력 화면 MAP를 디폴트로 설정합니다.

-M char
    마우스 포인터를 그리는 기본이 되는 캐릭터를 char (으)로 합니다.

-m on | off
    마우스 포인터를 on 또는 off 합니다. 텍스트 모드에서의 컷 & 페이스트 기능을 이용하기 위해서 moused(8) demon와 함께 사용합니다.

-p  표준 입력으로서 참조되는 단말 디바이스에 대응하는, 비디오 버퍼의 현재의 내용을 capther 합니다. vidcontrol 유틸리티는, 비디오 버퍼의 내용을 표준 출력에 대해, 생의 바이너리 포맷으로 출력합니다. 이 포맷에 관한 자세한 것은, 후술의 비디오 버퍼 덤프의 포맷 (을)를 참조해 주세요.

-P  -p (와)과 같습니다만, 비디오 버퍼의 내용을 프레인테키스트로 덤프 해, 인자 불가의 캐릭터와 텍스트 속성 정보를 무시합니다.

-r foreground background
    반전 표시 모드로 이용하는 색을 전경색 foreground 및 배경색 background (으)로 변경합니다.

-S on | off
    vty 의 변환을 온 또는 오프로 합니다. vty 의 변환이 오프의 경우, 다른 가상 단말에의 변환의 시도는 실패합니다 (디폴트는, vty 의 변환이 가능합니다).

-s number
    현재의 vty 를 number (으)로 설정합니다.

-t N | off
    화면 보호기의 타임 아웃치를 N 초로 설정, 혹은 화면 보호기를 무효 ( off )(으)로 합니다.

-x  출력에 16 진수를 이용합니다.

  비디오 모드 서포트
앞에서 본 전모드를 비디오 카드가 서포트하고 있다고는 할 수 없는 것에 주의해 주세요. -i mode 옵션을 사용하는 것으로써, 비디오 카드가 서포트하고 있는 모드를 조사하는 것이 가능합니다.

VESA 비디오 모드 혹은 132 자리수 모드를 사용하는 경우에는, VESA BIOS 서포트를 커널에 링크 할까 KLD 에서 로드할 필요가 있게도 주의해 주세요 ( vga(4) (을)를 참조해 주세요).

VGA 90 자리수 모드를 사용하는 경우에는, 커널을 VGA_WIDTH90 옵션 첨부로 컴파일 할 필요가 있습니다 ( vga(4) (을)를 참조해 주세요).

25 또는 30 행 모드 이외의 비디오 모드는, 특정의 크기의 폰트가 필요할지도 모릅니다. 전술의 -f 옵션을 사용해, 폰트 파일을 커널에 로드해 주세요. 필요한 크기의 폰트가 커널에 로드되어 있지 않으면 유저가 신규 비디오 모드를 설정하려고 했을 경우에 vidcontrol (은)는 실패합니다.

모드 | 폰트의 크기 25 행 모드 | 8x16 (VGA), 8x14 (EGA) 30 행 모드 | 8x16 43 행 모드 | 8x8 50 행 모드 | 8x8 60 행 모드 | 8x8

같은 폰트의 3 개의 크기 모든 것 (8x8, 8x14, 8x16)을 항상 로드하는 것이 바람직합니다.

/etc/rc.conf 또는 /etc/rc.conf.local 안의 변수를 희망의 폰트 파일로 설정할 수 있습니다. 이것에 의해, 시스템 기동시에 이러한 폰트가 자동적으로 로드 됩니다. 후술을 참조해 주세요.

라스터 텍스트 모드 VESA_800x600 (을)를 사용하고 싶은 경우, SC_PIXEL_MODE 옵션 첨부로 커널을 재컴파일 할 필요가 있습니다. 이 커널 옵션에 대한 자세한 것은, syscons(4) (을)를 참조해 주세요.

  비디오 버퍼 덤프의 포맷
vidcontrol 유틸리티는, syscons(4) CONS_SCRSHOT ioctl(2) (을)를 사용해, 비디오 버퍼의 현재의 내용을 capther 합니다. vidcontrol 유틸리티는, 버젼과 추가 정보를 표준 출력에 써내, 그 후에 단말 디바이스의 내용을 계속해 써냅니다.

PC 비데오메모리는, 전형적으로는 2 바이트타풀의 줄이며, 1 타풀이 각 캐릭터 위치에 대응합니다. 각 타풀에서는, 최초의 바이트가 문자 코드이며, 2 번째의 바이트가 캐릭터의 색속성입니다.

색속성 바이트는, 더욱, 어느 전경색이 유효한가를 지정하는 하위 니블과 어느 배경색이 유효한가를 지정하는 상위 니블과에 분해됩니다.

0   흑
1   청
2   록
3   시안(cyan)
4   적
5   마젠타
6   다
7   흰색
8   회
9   명 있고 파랑
10  명 있고 초록
11  명 있고 시안(cyan)
12  명 있고 빨강
13  명 있고 마젠타
14  황
15  흰색

마지막 8 색은, 최초의 8 색을 밝게 보이도록(듯이) 한 것입니다.

예를 들면, 2 바이트

    65 158

(은)는, 대문자 A (문자 코드 65)를, 명 있고 파랑의 배경 (고위 니블 9)으로 황색 (하위 니블 15)이라고 하는 지정입니다.

vidcontrol 의 출력에는 작은 헤더가 있어, 거기에는, 출력을 처리하는 유틸리티에 유용한 추가 정보가 포함됩니다.

최초의 10 바이트는, 항상 다음의 줄입니다.
바이트 범위내용
1 에서 8 | 리터럴 텍스트 “SCRSHOT_”
9 | 파일 포맷 버젼 번호
10 | 헤더의 나머지 바이트수

이것에 계속되는 바이트는, 버젼 번호 의존입니다.
버젼 바이트 의미
1 | 11 | 캐릭터수단위의 단말폭
 | 12 | 캐릭터수단위의 단말의 깊이
 | 13 이후 snapshot 데이터

80x25 화면의 덤프는 (16 진수로) 다음과 같이 개시합니다.

    53 43 52 53 48 4f 54 5f 01 02 50 19
    ----------------------- -- -- -- --
              |              |  |  |  ` 10 진수의 25
              |              |  |  `--- 10 진수의 80
              |              |  `------ 나머지의 헤더 데이터의 바이트수 2
              |              `--------- 파일 포맷 버젼 1
              `------------------------ 리터럴 "SCRSHOT_"

비디오 출력 설정

  부트시의 설정
다음의 변수를 /etc/rc.conf 또는 /etc/rc.conf.local (으)로 설정하는 것으로써, 부트시에 비디오 출력을 설정 가능합니다.

blanktime
    -t 옵션용의 타임 아웃을 설정합니다.
font8x16, font8x14, font8x8
    -f 옵션용의 폰트 파일을 지정합니다.
scrnmap
    -l 옵션용의 화면 출력 MAP 파일을 지정합니다.

한층 더 자세한 것은 rc.conf(5) (을)를 참조해 주세요.

  드라이버의 설정
디폴트 폰트등의 디폴트 설정 옵션의 변경을, 비디오 카드 드라이버가 허락하는 경우가 있습니다. 그 경우, 부트시의 옵션 설정의 필요는 없어집니다. 자세한 것은 비디오 카드 드라이버 메뉴얼 (예를 들면 vga(4)) (을)를 참조해 주세요.

관련 파일
/usr/share/syscons/fonts/*
    폰트 파일.
/usr/share/syscons/scrnmaps/*
    화면 출력 MAP 파일.

사용예
커널에 /usr/share/syscons/fonts/iso-8x16.fnt (을)를 로드하고 싶은 경우, vidcontrol (을)를 다음과 같이 실행합니다.

    vidcontrol -f 8x16 /usr/share/syscons/fonts/iso-8x16.fnt

폰트 파일이 /usr/share/syscons/fonts 에 있는 경우, 파일명을 iso-8x16 (와)과 같이 단축 가능합니다.

    vidcontrol -f 8x16 iso-8x16

더욱, 폰트의 크기 “8x16” (을)를 생략 가능합니다.

    vidcontrol -f iso-8x16

더욱, 폰트의 크기를 지정하는 사픽스도 생략 가능합니다. 이 경우, vidcontrol (은)는, 현재 표시되고 있는 폰트의 크기를 사용해 사픽스를 작성합니다.

    vidcontrol -f iso

같이 화면 출력 MAP 파일이 /usr/share/syscons/scrnmaps 에 있는 경우, -l 옵션용의 파일명을 단축 가능합니다.

    vidcontrol -l iso-8859-1_to_cp437

이 명령은 /usr/share/syscons/scrnmaps/iso-8859-1_to_cp437.scm (을)를 로드합니다.

다음의 명령은, 100x37 의 라스터 텍스트 모드를 설정합니다 (LCD 모델에 따라서는 유용합니다):

    vidcontrol -g 100x37 VESA_800x600

다음의 명령은, 최초의 가상 단말의 내용을 capther 해, 출력을 shot.scr 파일에 향합니다.

    vidcontrol -p < /dev/ttyv0 > shot.scr

다음의 명령은, 4 번째의 가상 단말의 내용을, 인간이 읽을 수 있는 포맷으로 표준 출력에 덤프 합니다.

    vidcontrol -P < /dev/ttyv3

관련 항목
kbdcontrol(1), vidfont(1), keyboard(4), screen(4), syscons(4), vga(4), rc.conf(5), kldload(8), moused(8), watch(8)

여러가지 scr2* 유틸리티가, Ports Collection 의 graphics (와)과 textproc 의 카테고리에 있습니다.

저자
Søren Schmidt <sos@FreeBSD.org>