한국어 Solaris 사용 설명서

부분 III 시스템 관리자 정보

여기에는 시스템 관리자 정보가 포함됩니다.

8장 한국어 Solaris 시스템 구성

이 장의 절차대로 시스템 전체의 기본 로켈을 설정하거나 Solaris DVD 및 CD 매체에서 새 로켈을 추가할 수 있습니다. 또한 한국어 Solaris 운영 체제에 포함된 Xsession 스크립트를 사용하여 설정된 글꼴 경로를 변경할 수 있습니다. 이 장의 내용은 다음과 같습니다.

기본 로켈 설정

여기의 절차를 사용하여 시스템 전체의 로켈을 변경할 수 있습니다.

기본 로켈 설정 방법

  1. 수퍼유저가 되도록 합니다.

  2. /etc/default/init 파일을 편집합니다.

  3. LANG 변수를 적절한 로켈로 추가 또는 업데이트합니다.


    LANG=locale
    

    로켈

    C, ko 또는 ko.UTF-8

  4. 모든 사용자에게 CDE를 종료하도록 지시합니다.

  5. dtconfig 프로세스를 종료합니다.


    # /usr/dt/bin/dtconfig -kill
    
  6. 시스템을 다시 부트합니다.


    # reboot
    

별명을 사용하여 로켈 설정

별명을 사용하여 매 번 긴 명령을 입력하거나, .dtlogin 파일을 편집하고 source를 실행하지 않고 한국어 로켈과 ASCII/영어 로켈 사이의 터미널 에뮬레이션을 변경할 수 있습니다.

Korn 쉘용 로켈 별명 설정 방법

    .profile 파일에 다음과 같이 별명을 설정합니다.


    alias kor_EUC "export LANG=ko; /bin/stty cs8 -istrip defeucw"
    alias kor_UTF "export LANG=ko.UTF-8; /bin/stty cs8 -istrip \defeucw"
    alias asc "export LANG=C; /bin/stty cs7 istrip defeucw" 

C 쉘용 로켈 별명 설정 방법

    .cshrc 파일에 다음과 같이 별명을 설정합니다.


    alias kor_EUC "setenv LANG ko; /bin/stty cs8 -istrip defeucw"
    alias kor_UTF "setenv LANG ko.UTF-8; /bin/stty cs8 -istrip \defeucw"
    alias asc "setenv LANG C; /bin/stty cs7 istrip defeucw" 

9장 htt 입력기 서버 관리

입력기 서버(IM 서버)는 한국어 Solaris 소프트웨어용 한국어 입력을 처리합니다. IM 서버는 키보드 입력을 수신하여 한국어 Solaris 시스템 응용 프로그램에서 입력을 한국어 문자로 사용할 수 있도록 합니다. IM 서버는 X Windows 입력기(XIM) 응용 프로그램 인터페이스(API)를 사용하여 언어 입력을 수신하는 모든 국제화된 X Window 응용 프로그램을 처리할 수 있습니다.

이 장의 다음 부분에서는 IM 서버의 기본 표시 기능에 대하여 설명합니다.

입력기 서버 기본 등록 정보

한국어 Solaris 운영 체제에서 입력기가 필요한 로켈로 로그인하면 자동으로 IM 서버가 시작됩니다.

한국어 문자 입력용 IM 서버를 사용하는 한국어 Solaris 응용 프로그램은 보통 응용 프로그램이 시작할 때 IM 서버를 찾습니다. 언어 입력을 위하여 IM 서버에 연결하려면 IM 서버가 응용 프로그램이 시작되기 전에 실행 중이어야 합니다. 응용 프로그램이 시작되기 전에 IM 서버가 실행되지 않은 상태인 경우 응용 프로그램이 입력 서비스에 연결할 수 없습니다. IM 서버가 나중에 시작되는 경우라도 응용 프로그램은 입력 서비스에 연결할 수 없게 됩니다.

세 가지 htt 프로세스

입력기 서버는 세 가지 관련 프로그램으로 구성됩니다. htt, htt_serverhtt_xbe 프로세스가 함께 실행됩니다. 한 프로세스는 입력기 서버의 등록 정보를 제어합니다. 워치독 프로세스는 입력기 서버의 입력을 제어하며 세 번째 프로세스는 클라이언트의 입력기를 처리합니다.

일반적으로 사용자는 세 가지 프로세스의 세부사항은 몰라도 됩니다. htt가 시작되면 htt_propshtt_server 또한 시작됩니다.

htt 응용 프로그램 화면 표시

htt 입력기가 사용되는 경우의 일반적인 응용 프로그램 표시 화면은 다음 그림과 같습니다.

그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.

htt를 시작하는 방법과 시기

IM 서버를 사용하여 한국어 문자를 수신하는 응용 프로그램은 반드시 서버가 한국어 문자 입력을 수신하기 전에 실행되는 htt를 찾아야 합니다. 예를 들어 기본 로켈이 htt를 필요로 하지 않는 C이며 단일 터미널에서 C에서 다른 로켈로 변경하는 경우, 반드시 다음과 같은 명령을 사용하여 htt를 시작해야 합니다.


system% /user/openwin/bin/htt -if kole -xim htt_xbe &

로켈을 ko_KR.EUC로 설정하는 경우 한국어 윈도우화 환경이 시작되면 htt가 자동으로 시작됩니다. CDE의 경우 htt/usr/dt/config/Xsession.d/0020.dtims 스크립트에서 시작됩니다. 이 스크립트는 Xsession에 의하여 실행되며, 이는 dtlogin에서 로그인할 때 모든 초기화 단계에서 실행됩니다. 스크립트를 사용하면 CDE에서 다른 응용 프로그램이 시작되기 전에 htt를 시작할 수 있습니다.

ko_KR.UTF-8 로켈에서 iiim 서버 사용

인터넷 인트라넷 입력기 서버(iiim)는 Compose 키를 사용하는 유럽어 로컬 입력기를 지원합니다. iiim 서버는 또한 IIIM 프로토콜을 사용하는 아시아어 원격 입력기를 지원합니다. 기본 언어 엔진은 ASCII와 독일어 및 프랑스어 등의 일부 유럽어를 지원하는 영어/유럽어입니다.

한국어 입력기로 전환하려면 Control-spacebar를 누릅니다.

다른 언어 엔진으로 전환하려면 상태 영역에서 마우스 왼쪽 버튼을 누릅니다.

다음의 언어 엔진 목록이 표시됩니다.

해당 로켈이 설치된 경우 다음의 언어 엔진이 표시됩니다.

한국어 입력기를 사용하는 자세한 방법은 제 4 장, 한국어 텍스트 입력을(를) 참조하십시오.

10장 글꼴

이 장의 다음에서는 한국어 Solaris 글꼴을 사용 및 편집하는 방법에 대하여 설명합니다.

이 장은 이식 가능 컴파일 형식(PCF) 형식으로 BDF 글꼴 파일을 변환하는 방법과 그 글꼴을 시스템에서 사용 가능하게 만드는 방법에 대해서도 설명합니다.

포스트스크립트 시스템 표시(DPS)

한국어 Solaris 운영 체제에는 DPS(Display PostScript System)에서 포스트스크립트 글꼴이 제공됩니다. 여기에서는 한국어 Solaris 소프트웨어에서 DPS를 사용할 때 필요한 내용을 설명합니다. 더 자세한 내용은 Adobe Systems에서 출판한 Programming the Display PostScript System with X를 참조하십시오.

한국어 포스트스크립트 글꼴 및 DPS 기능 사용

한국어 Solaris 운영 체제 DPS에서는 다음 테이블의 글꼴이 제공됩니다.

표 10–1 한국어 Solaris 운영 체제 DPS 글꼴

글꼴 이름 

설명 

고딕-중간-COMB-H 

한글과 로마어 텍스트로 인코드된 조합형의 가로 표시 고딕-중간 글꼴, 9/7 혼합 글꼴 코드화 

고딕-중간-COMB-V 

한글과 로마어 텍스트로 인코드된 조합형의 세로 표시 고딕-중간 글꼴, 9/7 혼합 글꼴 코드화 

고딕-중간 

고딕-중간 글꼴, 고딕-중간-EUC-H 글꼴의 별명은 로마어 글꼴처럼 사용할 수 있습니다. 

고딕-중간-EUC-H 

EUC 텍스트의 가로 표시 고딕-중간 글꼴, 9/7 혼합 글꼴 코드화는 로마어 글꼴처럼 사용할 수 있습니다.  

고딕-중간-EUC-V 

EUC 텍스트의 세로 표시 고딕-중간 글꼴, 9/7 혼합 글꼴 인코딩은 로마어 글꼴처럼 사용할 수 있습니다.  

고딕-중간-H 

변경된 ISO2022 텍스트의 가로로 표시된 고딕-중간 글꼴, 8/8 혼합 글꼴 코드화 

고딕-중간-V 

변경된 ISO2022 텍스트의 세로 표시 고딕-중간 글꼴, 8/8 혼합 글꼴 코드화 

명조-중간-COMB-H 

한글과 로마어 텍스트로 인코드된 조합형의 가로 표시 명조-중간 글꼴, 9/7 혼합 글꼴 코드화 

명조-중간-COMB-V 

한글과 로마어 텍스트로 인코드된 조합형의 세로 표시 명조-중간 글꼴, 9/7 혼합 글꼴 코드화 

명조-중간 

명조-중간 글꼴, 명조-중간-EUC-H 글꼴의 별명은 로마어 글꼴처럼 사용할 수 있습니다. 

명조-중간-EUC-H 

EUC 텍스트의 가로로 표시된 명조-중간 글꼴, 9/7 혼합 글꼴 인코딩은 로마어 글꼴처럼 사용할 수 있습니다. 

명조-중간-EUC-V 

EUC 텍스트의 세로로 표시된 명조-중간 글꼴, 9/7 혼합 글꼴 인코딩은 로마어 글꼴처럼 사용할 수 있습니다.  

명조-중간-H 

변경된 ISO2022 텍스트의 가로 표시 명조-중간 글꼴, 8/8 혼합 글꼴 코드화 

명조-중간-V 

변경된 ISO2022 텍스트의 세로 표시 명조-중간 글꼴, 8/8 혼합 글꼴 코드화 

로마어 글꼴을 사용하는 것과 마찬가지로 다음의 한국어 글꼴을 사용할 수 있습니다.

다음 그림은 고딕-중간과 명조-중간 텍스트의 예제를 나타낸 것입니다.

터미널 창에 텍스트 그래픽에 고딕 중간 및 명조 중간 텍스트를 표시할 때 실행되는 dpsexec 프로그램이 표시됩니다. 제목이 Display PostScript Executive인 창에는 고딕 중간 및 명조 중간 텍스트가 표시됩니다.

또한 중간의 ASCII(0x20) 문자 없이 SO와 SI 문자 사이에 순수한 한글용 한국어 글꼴을 사용할 수 있습니다.

혼합 한국어 글꼴 생성

로마어 글꼴 하나와 다음 한국어 글꼴 중 하나를 사용하여 혼합 글꼴을 만들 수 있습니다.

예를 들어 다음 포스트스크립트 코드는 예제 혼합 글꼴을 정의합니다. Times-Italic+고딕 중간 글꼴의 ASCII 문자가 고딕 중간 가로 글꼴의 한국어 문자와 조합됩니다.


/Times-Italic+Kodig-Medium
13 dict begin
				/FontName 1 index def
				/FMapType 4 def
				/Encoding [ 0 1 ] def
				/WMode 0 def
				/FontType 0 def
				/FontMatrix [1.0 0.0 0.0 1.0 0.0 0.0] def
				/FDepVector [
								/Times-Italic findfont
								/Kodig-Medium-COMB-H findfont
				] def
currentdict
end
definefont pop

DPS 프로그래밍에서 한국어 글꼴 사용

DPS 줄 바꾸기 정의에서 로마어 글꼴을 사용하는 것과 마찬가지로 한국어 글꼴을 사용할 수 있습니다. 이 예제 코드는 다음과 같은 내용을 표시합니다.


defineps PSWDisplayText(char *text)
			/pointSize 50 def
			/Helvetica pointSize selectfont
			(Hello World) stringwidth pop 2 div neg 0 moveto
			(Hello World) show

			/cpSize 40 def
			/Kodig-Medium-KO cpSize selectfont
			(text) stringwidth pop 2 div neg pointSize neg moveto
			(text) show
endps

C 프로그램에서 PSWDisplayText를 설정하여 지정된 한국어 텍스트를 표시할 수 있습니다.

창에는 Hello World가 영어와 한국어 문자로 표시됩니다.

BDF 및 PCF 형식

한국어 Solaris 응용 프로그램에서 글꼴을 사용할 수 있도록 하려면 반드시 BDF 글꼴을 PCF 형식으로 변환해야 합니다.

BDF 글꼴을 PCF 형식으로 변환

    BDF 글꼴을 PCF 형식으로 변환하려면 bdftopcf 명령을 사용합니다.


    system% bdftopcf -o myfont14.pcf myfont14.bdf
    

    -o 옵션으로 아시아어 PCF 글꼴 파일에서 사용되는 매트릭스 인코딩을 사용 설정할 수 있습니다.

편집된 글꼴 설치 및 확인 방법

  1. .pcf 글꼴 파일을 압축하여 사용하는 글꼴 디렉토리로 옮깁니다.


    system% compress myfont14.pcf
    
  2. 글꼴 디렉토리에서 다음 명령을 실행하십시오.

    .bdf 파일이 글꼴 디렉토리에 있으면 안 됩니다.


    system% cat >> fonts.alias
    -new-myfont-medium-r-normal--16-140-75-75-c-140-ksc5601.1987-0 
    Myfont-Medium14
    ^D
    system% mkfontdir
    system% xset +fp `pwd`
    

  3. 글꼴을 보려면 다음과 같은 명령을 사용합니다.


    system% xfd -fn Myfont-Medium14
    

글꼴 디렉토리 변경

한국어 Solaris 운영 체제의 /usr/dt/bin 디렉토리 Xsession 스크립트에는 다음의 글꼴 경로가 포함됩니다. /usr/openwin/lib/locale/locale/X11/fonts. 여기에서 localeko 또는 ko.UTF-8입니다. 다른 글꼴 디렉토리 경로를 동적으로 추가하려면 다음 명령을 입력합니다.


system% xset +fp font_directory-path
system% xset fp rehash

비트맵 및 TrueType 글꼴

여기의 표는 ko, ko.UTF-8ko/ko.UTF-8 로켈에서 지원되는 비트맵 및 TrueType 글꼴 목록입니다.

ko 로켈용 한국어 비트맵 글꼴 목록은 다음 표와 같습니다.

표 10–2 ko 로켈용 한국어 비트맵 글꼴

전체 패밀리 이름 

하위 패밀리 

형식 

코드화 

 고딕 R/B PCF (12,14,16,18,20,24) KS X 1001
 그래픽 R/B PCF (12,14,16,18,20,24) KS X 1001
 해서 R/B PCF (12,14,16,18,20,24) KS X 1001
 고딕 R/B PCF (12,14,16,18,20,24) KS X 1001
 명조 R/B PCF (12,14,16,18,20,24) KS X 1001
 필기 R/B PCF (12,14,16,18,20,24) KS X 1001
 둥근 고딕 R/B PCF (12,14,16,18,20,24) KS X 1001

ko.UTF-8 로켈용 한국어 비트맵 글꼴 목록은 다음 표와 같습니다.

표 10–3 ko.UTF-8 로켈용 한국어 비트맵 글꼴

전체 패밀리 이름 

하위 패밀리 

형식 

코드화 

 고딕 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)
 그래픽 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)
 해서 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)
 고딕 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)
 명조 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)
 필기 R/B PCF (12,14,16,18,20,24)KS X 1001 (조합)

ko/ko.UTF-8 로켈용 한국어 TrueType 글꼴 목록은 다음 표와 같습니다.

표 10–4 ko/ko.UTF-8 로켈용 한국어 TrueType 글꼴

전체 패밀리 이름 

하위 패밀리 

형식 

판매업체 

코드화 

고딕 

트루 타입 

한양 

유니코드 

명조 

트루 타입 

한양 

유니코드 

해서 

트루 타입 

한양 

유니코드 

둥근 고딕 

트루 타입 

한양 

유니코드 

11장 한국어 인쇄 기능

이 장은 다음 내용으로 구성되어 있습니다.

한국어 출력을 라인 프린터로 인쇄

여기의 명령을 사용하여 서로 다른 형식의 파일을 라인 프린터로 인쇄할 수 있습니다.

    EUC 파일을 인쇄하려면 이 명령을 사용합니다.


    system% lp euc-filename 
    

    팩 형식 파일을 팩 형식을 지원하는 프린터로 인쇄하려면 이 명령을 사용합니다.


    system% lp -T PACK PACK-filename
    

    조합 형식 파일을 조합 형식을 지원하는 프린터로 인쇄하려면 이 명령을 사용합니다.


    system% lp -T JOHAP JOHAP-filename
    

    ko.UTF-8 파일을 EUC 프린터로 인쇄하려면 다음과 같은 명령을 사용합니다.

    첫 번째 줄의 명령은 파일을 EUC 형식으로 변환합니다. 두 번째 줄은 파일을 인쇄합니다.


    system% iconv -f ko_KR-UTF-8 -t ko_KR-euc
    ko.UTF-8_filename 
    > euc-filename
    system% lp euc-filename 


    주 –

    인쇄된 출력에는 EUC 코드 세트에 정의된 문자만 포함됩니다.


    ko.UTF-8 파일을 조합(KS C 5601-1992) 프린터로 인쇄하려면 다음과 같은 명령을 사용합니다.

    첫 번째 줄의 명령은 파일을 조합 형식으로 변환합니다. 두 번째 줄은 파일을 인쇄합니다.


    system% iconv -f ko_KR-UTF-8 -t ko_KR-johap92ko.UTF-8_filename >\
    johap92-filename
    system% lp johap92-filename


    주 –

    인쇄된 출력에는 조합 코드 세트에 정의된 문자만 포함됩니다.


mp 유틸리티 사용

현재 한국어 Solaris 릴리스에서는 개선된 mp 인쇄 유틸리티를 사용할 수 있습니다. ko 로켈의 ko 파일 또는 ko.UTF-8 로켈의 UTF-8 파일을 인쇄하려면 mp를 사용합니다.

유틸리티의 출력은 표준 포스트스크립트이며 원하는 포스트스크립트 프린터로 전송할 수 있습니다.

mp 유틸리티로 파일을 인쇄하려면 다음 명령을 사용합니다.


system% mp filename | lp

또한 mpstdin 스트림을 받아들이므로 이 유틸리티를 필터로 사용할 수 있습니다.


system% cat filename | mp | lp

유틸리티를 라인 프린터용 인쇄 필터로 설정할 수 있습니다. 예를 들어 다음 명령 시퀀스는 프린터 서비스에 프린터 lp1가 오직 mp 형식 파일만 허용하는 것으로 알립니다. 또한 이 명령으로 프린터 lp1/dev/ttya 포트에 설치합니다. 자세한 내용은 lpadmin(1M) 매뉴얼 페이지를 참조하십시오.


system% lpadmin -p lp1 -v /dev/ttya -I MP
system% accept lp1
system% enable lp1 

다음 명령을 사용하여 LP 인쇄 서비스용 필터를 추가할 수 있습니다.


system% lpfilter -f filtername -F pathname

필터는 /usr/bin/mp 명령으로 기본 입력 유형을 포스트스트립트 출력으로 변환합니다.

UTF-8 텍스트 파일을 인쇄하려면 다음과 같은 명령을 사용합니다.


system% lp -T MP UTF-8-file

mp(1)에 대한 자세한 내용은 매뉴얼 페이지를 참조하십시오.

Xprt(X 인쇄 서버) 클라이언트로 mp 사용하기

mp을 Xpert 클라이언트로 사용하면 mp가 Xprt 인쇄 서비스가 지원하는 네트워크에 연결된 임의의 프린터 출력을 인쇄할 수 있습니다. Xprt 클라이언트로서 mp는 포스트스크립트 및 여러 버전의 PCL을 지원합니다.

Xprt 클라이언트는 다음 규칙에 따라 Xprt 서버로의 연결을 시도합니다.

12장 TTY 환경과 지원

이 장에서는 사용자가 다음의 내용에 익숙한 것으로 가정합니다.

이 장은 다음 내용으로 구성되어 있습니다.

STREAMS 및 TTY 드라이버에 대한 배경 정보는 termio(7I) 매뉴얼 페이지를 참조하십시오.

TTY STREAMS

사용자의 쉘과 터미널 사이의 데이터 경로를 스트림이라고 합니다. 스트림상의 데이터는 코드 세트나 통신 프로토콜의 변경에 우선하는 제어 시퀀스와 같이 데이터 처리에 영향을 주는 문자 및 제어 정보를 포함합니다. 터미널에서 스트림을 입력하는 데이터는 원시 또는 처리되지 않은 데이터입니다. 데이터는 쉘 또는 응용 프로그램이 적절히 사용할 수 있도록 STREAMS 모듈에서 순차적으로 처리됩니다.

STREAMS는 처리 명령을 기능적 모듈로 그룹화할 수 있도록 행에서의 처리를 모듈화합니다. 이러한 모듈은 사용자의 필요에 따라 터미널에 다른 환경을 제공하기 위해 행에 추가하거나 삭제할 수 있습니다.

전형적인 STREAMS

전형적인 STREAMS TTY 환경에는 원시 장치 드라이버, 회선 제어 모듈 및 스트림 헤드가 있습니다. 원시 장치 드라이버는 커널과 하드웨어 사이의 I/O 인터페이스를 제공합니다. 물리적 하드웨어에 가깝기 때문에 기본적인 통신 프로토콜, 보 속도 전환 및 기타 낮은 수준의 서비스를 제공합니다. 회선 제어 모듈은 명령 또는 제어 세트로서 원시 데이터를 처리된 데이터로 변환합니다. 이 모듈에는 삭제 문자, 행 강제 종료 문자 및 기타 문자가 포함됩니다. 스트림 헤드는 사용자의 프로세스와 스트림 사이의 인터페이스를 제공합니다.

한국어 Solaris STREAMS

한국어 Solaris 운영 체제는 STREAMS의 모듈 방식 특성을 사용하여 한국어를 지원합니다. 전형적인 TTY 모듈과 더불어 이 제품은 STREAMS에서 코드 변환을 실행합니다. 한글-한자 변환은 보통 기존의 많은 한국어 TTY에 의하여 제공되며 한국어 Solaris TTY 환경에서는 사용할 수 없습니다.

한국어 Solaris 운영 체제는 종래의 모듈을 개선합니다. 운영 체제의 회선 제어는 일반 프로토콜뿐 아니라 넓은 문자의 적절한 커서 이동 또한 처리합니다. 한국어 Solaris 코드 변환 모듈은 두 개의 서로 다른 문자 코드 형식 사이에서 변환합니다. 예를 들어 KS C 5601-1987의 조합 코드인 팩 형식은 완성 코드인 EUC 형식으로 변환될 수 있습니다.

코드 변환은 플래그나 매개변수 설정에 따라 달라집니다. 예를 들어, 조합 코드 터미널을 사용하면 터미널의 입력은 EUC로 변환되고 터미널로의 출력은 조합 코드로 변환됩니다.

스트림으로 푸시할 수 있는 주요 모듈은 ldterm, kpackkjohap입니다.

TTY 유틸리티

ioctl(입력/출력 제어) 호출은 장치의 입력과 출력을 처리하기 위한 하위 수준의 루틴입니다.

응용프로그램은 터미널 표시를 적절히 구성하기 위해 termcapterminfo 데이터베이스를 사용합니다.

EUC ioctl 기능

한국어 Solaris 운영 체제은 일반 EUC 처리에 ioctl STREAMS 명령을 사용합니다. ioctl 요청에 대한 설명은 다음 표와 같습니다.

표 12–1 ioctl요청 및 설명

ioctl 요청

설명 

EUC_WGET

TTY 스트림에서 cswidth값 얻기

EUC_WSET

TTY 스트림의 cswidth값 설정

EUC_OXLOFF

코드 변환을 OFF로 설정 

EUC_OXLON

코드 변환을 ON으로 설정 

터미널에서 수행되는 문자 코드 변환은 EUC_OXLONEUC_OXLOFF으로 제어합니다.

termcap 데이터베이스

termcapterminfo 데이터베이스는 터미널 특성을 응용 프로그램에 맞추는 데 사용됩니다. termcap 데이터베이스의 변수는 다음 표의 설명과 같습니다.

표 12–2 termcap변수 및 설명

변수 

설명 

dv

장치 유형: 언어 및 코드 세트 

ci

다중 코드 세트용 초기 시퀀스 

s0

코드 세트 0으로 시프트 

s1

코드 세트 1로 시프트 

s2

코드 세트 2로 시프트 

s3

코드 세트 3으로 시프트 

terminfo 데이터베이스

다음은 terminfo의 확장입니다. s0-s3 문자열 값은 터미널 입력/출력 동안 각 코드 세트용 데이터 선언 메커니즘으로 사용됩니다.

표 12–3 terminfo 변수 및 설명

변수 

단축명 

Tc 

정의 

device_type

devt

dv

장치 유형: 언어 및 코드 세트 

code_set_init

csin

ci

다중 코드 세트용 초기 시퀀스 

set0_des_set

s0ds

s0

코드 세트 0으로 시프트 

set1_des_set

s1ds

s1

코드 세트 1로 시프트 

set2_des_set

s2ds

s2

코드 세트 2로 시프트 

set3_des_set

s3ds

s3

코드 세트 3으로 시프트 

TTY 명령

TTY 환경을 구성 및 사용하는 명령어는 setterm/bin/stty입니다. setterm은 특정 터미널 유형을 위한 TTY 스트림을 구축하고 필요한 모듈을 스트림에 제공하는데 사용됩니다. stty는 스트림에서 모듈의 작동을 변경합니다.

setterm 명령

setterm은 TTY STREAMS 환경을 구성하는데 사용됩니다. 이 명령은 특정 TTY 포트의 STREAMS 모듈을 조회하고 조정할 수 있습니다. setterm을 통하여 시스템이 제공하는 STREAMS 모듈 또는 사용자가 제공하는 STREAMS 모듈을 사용하여 TTY STREAMS를 조정할 수 있습니다.

setterm은 TTY 포트의 STREAMS 모듈을 구성하기 위해 terminfo 데이터베이스에서 devt(장치 유형) 필드를 반영하는 터미널 장치 이름을 사용합니다. 이 장치 이름은 setterm 구성 파일인 /usr/share/lib/setterm/ko/conf.file 또는 /usr/share/lib/setterm/ko.UTF-8/conf.file에 있는 동일한 이름의 항목과 일치됩니다. 항목에는 STREAMS 환경을 적절히 구성하기 위해 어떤 모듈이 팝되고 푸시되는지에 대한 세부 명령이 포함됩니다.

setterm은 직접 인자로 장치 유형을 가질 수 있습니다. 이 장치 유형은 마찬가지로 /usr/share/lib/setterm/ko/conf.file 또는 /usr/share/lib/setterm/ko.UTF-8/conf.file에 있는 항목과 일치됩됩니다.

setterm 구성 파일은 실행할 작업을 지시하기 위해 특별한 언어를 사용합니다. 이 언어는 사용자가 STREAMS 스택에서 모듈의 이름을 결정하고 스택에서 모듈을 푸시하거나 팝하고 기타 작동을 수행하도록 합니다. settermioctl을 호출하여 STREAMS 스택을 조작합니다.

/bin/stty 명령

/bin/stty 명령의 defeucw 옵션은 사용자 환경의 변경 사항을 반영하기 위해 STREAMS 모듈을 수정하는 옵션입니다. 이 옵션은 국제화되지 않은 stty/usr/ucb 버전에서는 사용할 수 없습니다.

다음 명령은 EUC 코드 세트 너비 및 설정에 대한 정보의 사용자 환경을 쿼리합니다.


system% /bin/stty defeucw

예를 들어 환경 변수 LC_CTYPElocale로 설정하는 경우 이 옵션은 koko.UTF-8 환경에 있는 코드 세트의 문자당 바이트 수와 화면 너비에 대한 정보를 구한 후 이 정보를 스트림에 있는 관련 모듈로 전송합니다.

TTY 설정의 예

시스템 관리자는 /etc/rcn.d 디렉토리(여기에서 n은 실행 수준)의 시작 스크립트에 setterm을 추가하여 시스템이 부트할 때 실행할 수 있습니다. 또한 로그인할 때 setterm 명령을 실행하여 한국어 입력 코드 변환용으로 적절한 모듈을 포함하여 터미널용 스트림을 구성할 수 있습니다. 다음 예에서는 setterm을 사용하며 시스템 프롬프트에서 입력되는 명령으로 작동하거나 .cshrc, login 등의 시스템 파일이나 시작 스크립트로 포함될 수 있습니다. 이러한 명령은 장치 유형을 명시적으로 설정하거나 terminfo 데이터베이스를 사용할 수 있습니다.

한국어 Solaris 소프트웨어용 STREMS 구성

이 부분의 명령을 이용하여 STREAMS 모듈을 구성할 수 있습니다.

    다음 명령을 사용하여 EUC 완성 코드 터미널 유형용 STREAMS 모듈을 명시적으로 구성합니다.


    system% setterm -x EUC
    

    다음 명령을 사용하여 KS C 5601-1987의 조합 코드를 지원하는 팩 STREAMS 모듈을 명시적으로 초기화합니다.


    system% setterm -x PACK
    

    다음 명령을 사용하여 KS C 5601-1992의 조합 코드를 지원하는 조합 STREAMS 모듈을 명시적으로 초기화합니다.


    system% setterm -x JOHAP
    

이 절차를 사용하여 terminfo 데이터베이스의 항목을 참조하는 구성 명령을 실행합니다.

  1. terminfo 데이터베이스에 다음의 FAST-15 팩 코드 터미널 항목을 추가합니다.


    fast-15 | fast-pack | korean terminal packed mode,
    devt=PACK,
    use=vt100-w,
  2. 다음 구성 명령을 사용하여 FAST-15 팩 코드 터미널용 항목을 참조합니다.


    system% setterm -t fast-15
    

setterm이 올바로 작동하려면 /usr/share/lib/setterm/ko/conf.file에 반드시 장치 유형에 해당하는 항목이 있어야 합니다. 이 항목은 TTY 스트림에 적합한 변환 모듈을 배치하는 setterm 명령을 부여합니다.

    /usr/share/lib/setterm/ko/conf.file에 장치 유형에 해당하는 다음 항목을 추가합니다.


    #
    KoreanPACK|PACKthrow \
    							popto zs|mcp|mti|ptem \
    							push kpack \
    							push ldterm \
    							push ttcompat \
    							run {stty defeucw} \
    							catch
    #
    KoreanJOHAP|JOHAP	throw \
    							popto zs|mcp|mti|ptem \
    							push kjohap \
    							push ldterm \
    							push ttcompat \
    							run {stty defeucw} \
    							catch
    #
    GenericEUC|EUCthrow \
    							popto zs|mcp|mti|ptem \
    							push ldterm \
    							push ttcompat \
    							run {stty defeucw} \
    							catch
    #
    ASCIIthrow \
    							popto zs|mcp|mti|ptem \
    							push ldterm \
    							push ttcompat \
    							catch
    # 

ko.UTF-8 로켈용 STREAMS 구성

이 부분의 명령을 이용하여 ko.UTF-8 로켈의 STREAMS 모듈을 구성할 수 있습니다.

    다음 명령을 사용하여 ko.UTF-8 로켈용 STREAMS 모듈을 명시적으로 구성합니다.


    system% setterm -x u8
    

    다음 명령을 사용하여 ko.UTF-8 로켈을 사용하도록 EUC 터미널을 명시적으로 초기화합니다.


    system% setterm -x ku8euc
    

    다음 명령을 사용하여 조합 STREAMS 모듈을 명시적으로 초기화합니다. 이 모듈은 ko.UTF-8 로켈을 사용하는 KS C 5601-1992 터미널의 조합 코드를 지원합니다.


    system% setterm -x ku8johap
    system% stty defeucw cs8 -istrip
    

이 절차를 사용하여 terminfo 데이터베이스의 항목을 참조하는 구성 명령을 실행합니다.

  1. terminfo 데이터베이스에 다음의 FAST-15 팩 코드 터미널 항목을 추가합니다.


    fast-15 | fast-pack | korean terminal packed mode,
    devt=PACK,
    use=vt100-w,
  2. 다음 구성 명령을 사용하여 FAST-15 팩 코드 터미널용 항목을 참조합니다.


    system% setterm -t fast-15
    

setterm이 올바로 작동하려면 /usr/share/lib/setterm/ko.UTF-8/conf.file에 반드시 장치 유형에 해당하는 항목이 있어야 합니다. 이 항목은 TTY 스트림에 적합한 변환 모듈을 배치하는 setterm 명령을 부여합니다.

    /usr/share/lib/setterm/ko.UTF-8/conf.file에 장치 유형에 해당하는 다음 항목을 추가합니다.


    # Korean specific entries:
    #
    # Completion/Wansung/EUC code terminal support (KS C 5601-1992)
    KoreanU8EUC|KU8EUCthrow			\
    			popto zs|mcp|mti|ptem   \
    			push ku8euc		\
    			push eucu8		\
    			push ldterm		\
    			push ttcompat		\
    			push u8euc		\
    			run {stty defeucw}	\
    			catch
    #
    # Combination code terminal support (KS C 5601-1992 Annex 3)
    KoreanU8JOHAP|KU8JOHAPthrow			\
    			popto zs|mcp|mti|ptem   \
    			push ku8johap		\
    			push eucu8		\
    			push ldterm		\
    			push ttcompat		\
    			push u8euc		\
    			run {stty defeucw}	\
    			catch
    #

터미널 지원

한국어 Solaris 운영 체제는 완성 코드 터미널 및 팩 코드 터미널을 지원합니다. 터미널에는 내장된 자동화, 한글/한자 글꼴 및 한글/한자 입력기가 있어야 합니다.


주 –

팩 코드는 또한 조합 코드 KS C 5601-1987 및 KS C 5601-1992라고 합니다.


터미널 설치

이전에 터미널을 시스템에 추가한 적이 없다면 먼저 ASCII 모드로만 터미널을 설치하십시오.

KS C 5601 지원을 위한 터미널 설치 방법

  1. 수퍼유저가 되도록 합니다.


    system% su
    
  2. admintool을 입력하십시오.

    admintool 메뉴가 나타납니다.


    system# admintool
    
  3. 직렬 포트 아이콘을 선택합니다.

  4. 직렬 포트 메뉴에서 편집을 선택합니다.

    서비스 수정 하위 메뉴가 표시됩니다.

  5. 서비스 수정 하위 메뉴에서 사용 및 전송 속도 9600을 선택한 후 터미널 유형을 입력합니다.

    그래픽에 대한 설명은 이전 컨텍스트를 참조하십시오.
  6. 전문가 옵션에서 utemp 항목 작성을 선택하고 스트림 모듈 필드에 적절한 모듈을 입력합니다.

    한국어 Solaris 운영 체제용 KS C 5601-1987 버전 조합 코드를 지원하는 터미널을 설치하려면 스트림 모듈 필드에 kpack를 추가합니다.

    한국어 Solaris 운영 체제용 KS C 5601-1992 버전 조합 코드를 지원하는 터미널을 설치하려면 스트림 모듈 필드에 kjohap를 추가합니다.

    그래픽에 대한 설명은 이전 컨텍스트에 있습니다.

    admintool에 대한 자세한 설명은 System Administration Guide: Solaris Containers-Resource Management and Solaris Zones을 참조하십시오.

명령줄에서 ttya 포트 설정 방법

다음과 같이 명령줄에서 ttya 포트의 터미널을 구성합니다.

  1. 포트 모니터 버전 번호를 결정하십시오.


    # ttyadm -V
    

    포트 모니터 버전 번호가 표시됩니다.

  2. 다음 명령을 입력하고 ver의 포트 모니터 버전 번호를 대체합니다.


    # pmadm -r -p zsmon -s ttya
    #sacadm -a -p zsmon -t ttymon -c /usr/lib/saf/ttymon -v ver
    

    자세한 내용은 pmadm(1M)sacadm(1M) 매뉴얼 페이지를 참조하십시오.

  3. 터미널 유형과 일치하는 pmadm 명령을 사용하여 로그인 서비스를 추가합니다.

    EUC 터미널의 경우 다음 명령을 사용합니다.


    # pmadm -a -p zsmon -s ttya -i root -fu -v ver -m “ `ttyadm -S y \
      -T terminal_type -d /dev/ttya -l 9600 -m ldterm,ttcompat -s \
      /usr/bin/login`”
    

    조합 코드의 KS C 5601-1987 버전을 사용하는 한국어 팩 코드 터미널의 경우 ttyadm 명령에서 STREAMS 모듈 kpack을 입력합니다.


    # pmadm -a -p zsmon -s ttya -i root -fu -v ver -m “`ttyadm -S y \
      -T terminal_type -d /dev/ttya -l 9600 -m kpack,ldterm,ttcompat -s \
      /usr/bin/login`”
    

    조합 코드의 KS C 5601-1992 버전을 사용하는 한국어 조합 코드 터미널의 경우 ttyadm 명령에서 STREAMS 모듈 kjohap을 입력합니다.


    # pmadm -a -p zsmon -s ttya -i root -fu -v ver -m “`ttyadm -S y \
      -T terminal_type -d /dev/ttya -l 9600 -m kjohap,ldterm,ttcompat -s \
      /usr/bin/login`”
    
  4. 터미널을 켜십시오.

    터미널과 함께 제공되는 설명서를 참조하십시오.

  5. 터미널에 로그인하십시오.

  6. 설치가 올바른지 확인하십시오.


    # setenv LANG ko
    # /bin/stty cs8 -istrip  defeucw
    

    주 –

    이 값은 운영 체제가 8비트 패리티 없음 모드에서 통신하도록 설정되었음을 나타냅니다. 터미널이 8비트 패리티 없음 모드로 설정되었는지 확인하십시오. 터미널 옵션을 설정하는 방법은 터미널 설정 설명서를 참조하십시오.


TTY 설정 검증 방법

다음과 같이 TTY가 적절히 설정되었는지 검증합니다.

  1. /bin/stty 명령을 -a 옵션을 포함하여 입력합니다.


    system% /bin/stty -a
    
  2. 이전에 설정된 cs8, -istrip 값이 표시되지 않는 경우 다음 명령을 사용하여 설정합니다.


    system% /bin/stty cs8 -istrip defeucw
    

이 단계는 터미널을 설정하는 마지막 단계입니다. 한국어 터미널의 기본 설정은 완성 코드 모드입니다. 팩 코드 TTY를 설치하려면 다음 부분으로 계속합니다.

ko 로켈에서의 팩 코드 및 조합 TTY 사용 방법

팩 코드(KS C 5601-1987) 터미널을 사용하는 경우 반드시 커넬에 kpack STREAMS 모듈을 로드해야 합니다.

  1. 수퍼유저가 되도록 합니다.


    system% su
    Password: (Type superuser password here if required.)
    
  2. kpack 모듈을 로드합니다.


    #modload /kernel/strmod/kpack
    
  3. 모듈을 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% setterm -x PACK
    

ko 로켈에서의 완성 코드 및 조합 TTY 사용 방법

조합 코드(KS C 5601-1992) 터미널을 사용하는 경우 반드시 커넬에 kjohap STREAMS 모듈을 로드해야 합니다.

  1. 수퍼유저가 되도록 합니다.


    system% su
    Password: (Type superuser password here if required.)
    
  2. kjohap 모듈을 로드합니다.


    # modload /usr/kernel/strmod/kjohap
    
  3. 모듈을 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% setterm -x JOHAP
    

ko.UTF-8 로켈에서의 EUC TTY 사용 방법

EUC(KS C 5601-1987-0) 터미널을 사용하는 경우 반드시 커넬에 ku8euc STREAMS 모듈을 로드해야 합니다.

  1. 수퍼유저가 되도록 합니다.


    system% su
    Password: (Type superuser password here if required.)
    
  2. ku8euc 모듈을 로드합니다.


    #modload /kernel/strmod/ku8euc
    
  3. 스트림 모듈을 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% setterm -x KU8EUC
    
  4. 8비트 I/O를 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% stty defeucw cs8 -istrip
    
  5. dtterm을 사용하려는 경우 다음 명령을 입력합니다.


    system% setterm -x u8
    

ko.UTF-8 로켈에서의 조합 TTY 사용 방법

조합(KS C 5601-1992-3) 코드 터미널을 사용하는 경우 커넬에 ku8johap STREAMS 모듈을 로드해야 합니다.

  1. 수퍼유저가 되도록 합니다.


    system% su
    Password: (Type superuser password here if required.)
    
  2. ku8johap 모듈을 로드합니다.


    #modload /kernel/strmod/ku8johap
    
  3. 모듈을 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% setterm -x KU8JOHAP
    
  4. 8비트 I/O를 사용하도록 설정하려면 다음 명령을 입력합니다.


    system% stty defeucw cs8 -istrip
    
  5. dtterm을 사용하려는 경우 다음 명령을 입력합니다.


    system% setterm -x u8