이 절은 로켈 환경 변수, TTY 환경 설치, 32비트 및 64비트 STREAMS 모듈, 단말기 지원을 설명합니다
시스템에 en_US.UTF-8 로켈이 설치되어 있는지 확인하십시오. 다양한 범주의 현재 로켈 설정을 확인하려면 locale 유틸리티를 사용합니다.
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_MONETARY, 및 LC_TIME 범주가 설정되지 않았거나 en_US.UTF-8로 설정되었는지 확인합니다. 범주가 설정되면 보다 낮은 우선 순위의 LANG 환경 변수를 무시합니다. 환경 변수 계층에 대한 자세한 내용은setlocale(3C) 매뉴얼 페이지를 참조하십시오.
CDE 데스크탑에서 en_US.UTF-8 환경을 시작할 수도 있습니다. CDE 로그인 화면의 옵션 -> 언어 메뉴에서, en_US.UTF-8를 선택하십시오.
사용하는 단말기 및 단말기 에뮬레이터에 따라 특정한 코드 세트 특정 STREAMS 모듈을 스트림으로 푸시해야할 수 있습니다.
STREAMS 모듈 및 일반적인 스트림에 대한 자세한 내용은 STREAMS Programming Guide를 참조하십시오.
다음 표는 단말기 환경의 en_US.UTF-8 로켈이 지원하는 64비트 STREAMS 모듈을 나열합니다. 자세한 내용은 Solaris 64–bit Developer's Guide를 참조하십시오.
표 5–12 en_US.UTF-8이 지원하는 STREAMS 모듈
32비트 STREAMS 모듈 |
설명 |
---|---|
/usr/kernel/strmod/sparcv9/u8lat1 |
UTF-8과 ISO8859-1(서부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/sparcv9/u8lat2 |
UTF-8과 ISO8859-2(동부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/sparcv9/u8koi8 |
UTF-8과 KOI8-R(키릴 문자) 사이의 코드 변환 STREAMS 모듈 |
Solaris 10 릴리스부터 32비트 커널은 SPARC sun4u 플랫폼에서 더 이상 지원되지 않습니다. 표 5–12는 x86 플랫폼에 대한 32비트 커널에만 적용됩니다. 자세한 내용은 릴리스 노트를 참조하십시오.
다음 표는 en_US.UTF-8이 지원하는 64비트 STREAMS 모듈을 나열합니다.
표 5–13 en_US.UTF-8이 지원하는 64비트 STREAMS 모듈
64비트 STREAMS 모듈 |
설명 |
---|---|
/usr/kernel/strmod/sparcv9/u8lat1 |
UTF-8과 ISO8859-1(서부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/sparcv9/u8lat2 |
UTF-8과 ISO8859-2(동부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/sparcv9/u8koi8 |
UTF-8과 KOI8-R(키릴 문자) 사이의 코드 변환 STREAMS 모듈 |
루트 사용자로 64비트 Solaris 시스템을 실행하는지 32비트 시스템을 실행하는지 결정합니다.
system# isainfo -v
시스템이 이미 STREAMS 모듈에 있는지 결정합니다..
system# modinfo | grep modulename
u8lat1과 같은 STREAMS 모듈이 이미 설치되었으면 출력은 다음과 같습니다.
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 module)
모듈이 아직 로드되지 않았으면 modload(1M) 명령을 사용하여 로드하십시오.
루트로 커널 모듈이 로드되었는지 확인합니다.
예를 들어, u8lat1이 로드되었는지 확인하려면 다음을 입력합니다.
system# modinfo | grep u8lat1 89 ff798000 4b13 18 1 u8lat1 (UTF-8 <--> ISO 8859-1 module)
커널을 로드 해제하려면 modunload(1M) 명령을 사용합니다.
u8lat1 모듈을 로드 해제하려면 다음을 입력합니다.
system# modunload -i 89
두번째 명령줄에서 보이듯이strchg(1M)를 사용합니다.
system% cat > tmp/mystreams ttcompat ldterm u8lat1 ptem ^D system% strchg -f /tmp/mystreams
strchg(1)를 사용할 때 장치의 루트 또는 소유자인지 확인하십시오.
현재 구성을 조사하려면 stconf 명령을 실행합니다.
system% strconf ttcompat ldterm u8lat1 ptem pts system%
원래 구성을 재설정하려면 strchg 명령을 실행합니다.
system% cat > /tmp/orgstreams ttcompat ldterm ptem ^D system% strchg -f /tmp/orgstreams
Solaris Operating System 이전 버전과 달리 UTF-8 코드 세트의 입출력을 지원하는 dtterm 및 xterm 단말기 에뮬레이터 및 기타 단말기는 스트림에 추가 STREAMS 모듈이 있을 필요가 없습니다. ldterm 모듈는 이제 코드 독립적이고 stty(1) 유틸리티로 단말기 환경을 설정하는 경우 유니코드/UTF-8을 지원합니다.
유니코드 로켈의 적합한 단말기 환경을 설정하려면 stty(1) 유틸리티를 사용하십시오.
system% /bin/stty defeucw
현재 설정을 질의하려면 다음과 같이 stty 유틸리티의 -a 옵션을 사용합니다.
system% /bin/stty -a
/usr/ucb/stty는 국제화되지 않았기 때문에 대신 /bin/stty를 사용하십시오.
라틴-1 (ISO8859-1), 라틴-2 (ISO8859-2) 또는 KOI8-R만 지원하는 단말기의 경우 다음 STREAMS 구성이 있어야 합니다.
head <-> ttcompat <-> ldterm <-> u8lat1 <-> TTY
이 구성은 라틴-1을 지원하는 단말기에만 해당됩니다. 라틴-2 단말기의 경우 STREAMS 모듈 u8lat1을 u8lat2로 교체합니다. KOI8-R 단말기에 대하여 모듈을 u8koi8로 바꾸십시오.
커널로 이미 STREAMS 모듈을 로드했는지 확인하십시오.
필요한 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가 파일의 첫번째 열에서 시작해야 함을 주의하십시오.