국제 언어 환경 설명서

시스템 환경

이 절은 로켈 환경 변수, TTY 환경 설치, 32비트 및 64비트 STREAMS 모듈, 단말기 지원을 설명합니다

로켈 환경 변수

시스템에 en_US.UTF-8 로켈이 설치되어 있는지 확인하십시오. 변수 범주의 현재 로켈 설정을 확인하려면 로켈(1) 유틸리티를 사용하십시오.

system% locale 
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_ALL=

en_US.UTF-8 로켈 데스크탑 환경을 사용하려면 로켈을 먼저 선택하십시오. TTY 환경에서 다음 C-셸 예제에서와 같이 LANG 환경 변수를 en_US.UTF-8 로 설정하여 먼저 로켈을 선택하십시오.

system% setenv LANG en_US.UTF-8

LC_ALL, LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_NUMERIC, LC_MONETARYLC_TIME 범주는 설정되지 않거나 en_US.UTF-8로 설정됩니다. 범주가 설정되면 보다 낮은 우선 순위의 LANG 환경 변수를 무시합니다. 환경 변수의 계층에 대한 자세한 내용은 setlocale(3C) 설명서 페이지를 참조하십시오.

CDE 데스크탑에서 en_US.UTF-8 환경을 시작할 수도 있습니다. CDE 로그인 화면의 Options -> Language 메뉴에서 en_US.UTF-8을 선택하십시오.

TTY 환경 설정

사용 중인 단말기 및 단말기 에뮬레이터에 따라 특정한 코드 세트 특정 STREAMS 모듈을 스트림에 푸시해야 할 수 있습니다.

STREAMS 모듈 및 일반적인 스트림에 대한 자세한 내용은 STREAMS Programming Guide를 참조하십시오.

다음 표는 단말기 환경에서 en_US.UTF-8 로켈이 지원하는 STREAMS 모듈을 보여줍니다.

표 5–7 en_US.UTF-8이 지원하는 32비트 STREAMS 모듈

32비트 STREAMS 모듈 

설명 

/usr/kernel/strmod/u8lat1

UTF-8ISO8859–1 (서부 유럽어) 사이의 코드 변환 STREAMS 모듈

/usr/kernel/strmod/u8lat2

UTF-8ISO8859–2 (동부 유럽어) 사이의 코드 변환 STREAMS 모듈

/usr/kernel/strmod/u8koi8

UTF-8KOI8–R (키릴 문자)사이의 STREAMS 모듈

다음 표는 en_US.UTF-8이 지원하는 64비트 STREAMS 모듈을 나열합니다.

표 5–8 en_US.UTF-8이 지원하는 64비트 STREAMS 모듈

64비트 STREAMS 모듈  

설명 

/usr/kernel/strmod/sparcv9/u8lat1

UTF-8ISO8859-1(서부 유럽어) 사이의 코드 변환 STREAMS 모듈

/usr/kernel/strmod/sparcv9/u8lat2

UTF-8ISO8859-2(동부 유럽어) 사이의 코드 변환 STREAMS 모듈

/usr/kernel/strmod/sparcv9/u8koi8

UTF-8KOI8-R(키릴 문자) 사이의 코드 변환 STREAMS 모듈

커널에서 STREAMS 모듈 로드하기

커널에서 STREAMS 모듈을 로드하려면 먼저 루트가 되어야 합니다.

64비트 Solaris 또는 32비트 Solaris 시스템 실행 여부를 확인하려면 다음과 같이 isainfo(1) 유틸리티를 사용하십시오.

system# isainfo -v
64-bit sparcv9 applications
32-bit sparc applications

명령이 이 정보를 반환하면 64비트 Solaris 시스템을 실행 중입니다. 32비트 Solaris 시스템을 실행 중이면 유틸리티가 다음을 표시합니다.

system# isainfo -v
32-bit sparc applications

시스템이 STREAMS 모듈에 이미 로드되지 않았음을 확인하려면 modinfo(1M)을 사용하십시오.

system# modinfo | grep  modulename

u8lat1과 같은 STREAMS 모듈이 이미 설치되었으면 출력은 다음과 같습니다.

system# modinfo | grep u8lat1
89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)

모듈이 이미 설치되었으면 로드할 필요 없습니다. 그러나 모듈이 아직 로드되지 않았으면 다음과 같이 modload (1M)을 사용하십시오.

system# modload /usr/kernel/strmod/u8lat1

이 명령은 커널에 32비트 u8lat1 STREAMS 모듈을 로드하여 스트림으로 푸시할 수 있습니다. 64비트 Solaris 제품을 실행 중이면 다음과 같이 modload( 1M)을 사용하십시오.

system# modload /usr/kernel/strmod/sparcv9/u8lat1

STREAMS 모듈이 커널에 로드되고 이제 스트림으로 푸시할 수 있습니다.

커널에서 모듈을 언로드하려면 다음과 같이 modunload (1M)을 사용하십시오. 이 예제에서 u8lat1 모듈이 언로드됩니다.

system# modinfo | grep u8lat1
89 ff798000  4b13  18   1  u8lat1 (UTF-8 <--> ISO 8859-1 module)
system# modunload -i 89

dtterm 및 UTF-8 문자의 입출력이 가능한 단말기

Solaris 운영 환경의 이전 릴리스와 달리 dtterm(1) 단말기와 UTF-8 코드 세트의 입출력을 지원하는 다른 단말기는 스트림에 추가 STREAMS 모듈이 필요 없습니다. ldterm(7M) 모듈은 이제 코드 세트 독립이며 Unicode/UTF-8도 지원합니다.

Unicode 로켈의 적합한 단말기 환경을 설정하려면 stty(1) 유틸리티를 사용하십시오. 현재 설정을 질의하려면 다음과 같이 stty(1) 유틸리티의 -a 옵션을 사용하십시오.

system% /bin/stty -a

주 –

/usr/ucb/stty는 국제화되지 않았기 때문에 대신 /bin/stty를 사용하십시오.


라틴-1, 라틴-2 또는 KOI8-R에 대한 단말기 지원

라틴-1 (ISO8859-1), 라틴-2 (ISO8859-2) 또는 KOI8-RF만 지원하는 단말기의 경우 다음 STREAMS 구성이 있어야 합니다.

head <-> ttcompat <->  ldterm <->  u8lat1 <-> TTY

이 구성은 라틴-1을 지원하는 단말기 전용입니다. 라틴-2 단말기에 대하여 STREAMS 모듈 u8lat1 u8lat2로 바꾸십시오. KOI8-R 단말기에 대하여 모듈을 u8koi8로 바꾸십시오.

커널로 이미 STREAMS 모듈을 로드했는지 확인하십시오.

위와 같이 STREAMS 구성을 설정하려면 예제의 두번째 명령줄에서와 같이 strchg (1M)를 사용하십시오.

system% cat> tmp/mystreams 
ttcompat
ldterm
u8lat1
ptem
^D
system% strchg -f /tmp/mystreams

strchg(1)를 사용할 때 장치의 루트 또는 소유자인지 확인하십시오. 현재 구성을 확인하려면 다음과 같이 strconf( 1)를 사용하십시오.

system% strconf
ttcompat
ldterm
u8lat1
ptem
pts
system%

원래 구성을 재설정하려면 다음과 같이 STREAMS 구성을 설정하십시오.

system% cat> /tmp/orgstreams
ttcompat
ldterm
ptem
^D
system% strchg -f /tmp/orgstreams

~/.cshrc에 설정 저장하기

필요한 STREAMS 모듈이 커널로 이미 로드되었다고 가정하면 편의적으로 .cshrc 파일(C 셸 예제)에 다음 행을 저장할 수 있습니다.

setenv LANG en_US.UTF-8
if ($?USER != 0 && $?prompt != 0) then
     cat>! /tmp/mystreams$$ << _EOF
     ttcompat
     ldtterm
     u8lat1
     ptem
_EOF
     /bin/strchg -f /tmp/mystreams$$
     /bin/rm -f /tmp/mystreams$$
     /bin/stty cs8 -istrip defeucw
endif

이러한 행이 .cshrc 파일에 있으면 STREAMS 모듈을 사용할 때마다 모든 명령을 입력할 필요가 없습니다. 두번째 _EOF가 파일의 첫번째 열에서 시작해야 함을 주의하십시오.