이 절은 로켈 환경 변수, 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_MONETARY 및 LC_TIME 범주는 설정되지 않거나 en_US.UTF-8로 설정됩니다. 범주가 설정되면 보다 낮은 우선 순위의 LANG 환경 변수를 무시합니다. 환경 변수의 계층에 대한 자세한 내용은 setlocale(3C) 설명서 페이지를 참조하십시오.
CDE 데스크탑에서 en_US.UTF-8 환경을 시작할 수도 있습니다. CDE 로그인 화면의 Options -> Language 메뉴에서 en_US.UTF-8을 선택하십시오.
사용 중인 단말기 및 단말기 에뮬레이터에 따라 특정한 코드 세트 특정 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-8과 ISO8859–1 (서부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/u8lat2 |
UTF-8과 ISO8859–2 (동부 유럽어) 사이의 코드 변환 STREAMS 모듈 |
/usr/kernel/strmod/u8koi8 |
다음 표는 en_US.UTF-8이 지원하는 64비트 STREAMS 모듈을 나열합니다.
표 5–8 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 모듈 |
커널에서 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
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 (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
필요한 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가 파일의 첫번째 열에서 시작해야 함을 주의하십시오.