ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [펌] 한글 LANG 변수와 솔라리스 한글 설정
    OS/Unix Linux 2008. 4. 2. 14:48
    반응형
    ▣ Shell : 쉽게 표현하면 도스의 command.com이 하는 역할처럼 login 이후부터 사용자가 입력하는 명령어를 기계어로 변역하여 커널에 전달하는 역할을 하는 명령해석기를 말합니다.


     - csh : 버클리 캘리포니아 대학에서 개발된 프로그래머들에게 적합한 shell입니다.
    대화형 사용법에서는 Bourne shell과 대부분 호환되지만 전혀 다른 프로그래밍 인터페이스를 가지고 있고, 히스토리 대체라는 복잡한 기능으로 대신하고 있지만 명령행 편집 기능은 제공 하지 않습니다.


     - ksh : 일반적으로 유닉스에서 가장 많이 사용되고 있는 shell이며 Bourne shell에 처음으로 현대적 인 shell 기능(C shell로부터 차용한 것이다.)을 도입한 shell 입니다. Bourne shell과 호환 되고, 명령행 편집 기능을 제공합니다.

     - bash : Bourne again shell은 최초로 개발된 쉘인 Bourne shell의 변종이라 할 수 있습니다.리눅스에서 가장 많이 사용되는 쉘이며, POSIX 호환이며 Borune shell과 호환되는 쉘로서 GNU 프로젝트에 의해 만들어지고 배포되고 있습니다. 명령행 편집 기능을 제공합니다.

    * 참고 - 사용하는 시스템에서 사용가능한 shell의 종류를 알아보려면 /etc/shells라는 파일을 보시면 됩니다. 이 파일에는 서버에서 지원되는 shell의 종류가 들어있습니다.

    ▣ locale
      - 어떤 프로그램의 메시지가 여러가지 언어로 주어져 있는 경우 이중에 어떤 언어의 것을 출력할 것인가를 사용자가 결정할 수 있게 해주는 수단.

    ▣ 현재 설정 되어 있는 언어 값 확인.

    (file>root)/etc# locale
    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=
    (file>root)/etc#

    ▣ 사용 가능한 언어 확인.
    (file>solo)/etc/rc2.d% locale -a
    POSIX
    common
    en_US.UTF-8
    C
    iso_8859_1
    ko
    ko_KR.EUC
    ko.UTF-8
    korean
    (file>solo)/etc/rc2.d%

    ▣ 현재 설정 된 언어 변경. C (영어) ----> ko ( 한글)

    (file>root)/# locale
    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=
    (file>root)/#

    (file>root)/# setenv LANG ko
    (file>root)/# locale
    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=
    (file>root)/#

     ######### locale 설정이 영어일 경우 ###########

    (file>root)/# setenv LANG C
    (file>root)/# sdf
    sdf: Command not found
    (file>root)/#

     ######### locale 설정이 한글일 경우 ###########

    (file>root)/# sdfsda
    sdfsda: 명령어가 없음
    (file>root)/#

    ▣ shell 따른 설정 방법

     - bash

    (file>root)/# bash
    bash-2.03# locale
    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=
    bash-2.03# LANG=ko
    bash-2.03# export LANG
    bash-2.03# locale
    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=
    bash-2.03#

     - kcs ( korn )

    # locale
    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=
    # LANG=C
    # export LANG
    # sdf
    ksh: sdf:  not found
    # locale
    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=
    #

     - csh

    (file>root)/# locale
    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=
    (file>root)/# setenv LANG C
    (file>root)/# locale
    LANG=C
    LC_CTYPE="C"
    LC_NUMERIC="C"
    LC_TIME="C"
    LC_COLLATE="C"
    LC_MONETARY="C"
    LC_MESSAGES="C"
    LC_ALL=
    (file>root)/#

    ▣ 언어설정....파일

    (file>root)/#
    (file>root)/# cd /etc
    (file>root)/etc# cd default
    (file>root)/etc/default# vi init
    # @(#)init.dfl 1.5 99/05/26
    #
    # This file is /etc/default/init.  /etc/TIMEZONE is a symlink to this file.
    # This file looks like a shell script, but it is not.  To maintain
    # compatibility with old versions of /etc/TIMEZONE, some shell constructs
    # (i.e., export commands) are allowed in this file, but are ignored.
    #
    # Lines of this file should be of the form VAR=value, where VAR is one of
    # TZ, LANG, CMASK, or any of the LC_* environment variables.
    #
    TZ=ROK
    CMASK=022
    LANG=ko ----> 영구적인 설정. ( C )

     - 터미널 상태에서 언어 변경을 하면 현재 상태에서만 적용이 되고 터미널 종료를 하거나 시스템 재부팅이 있을 경우 언어 설정 값은 현재 /etc/default/init 에 설정 되어 있는
    언어로 설정이 되거나 shell 설정 값에 따라 언어 값이 변경이 됩니다.



    ▣  Solaris 2.6에서 부팅을 하고 CDE 로그인.......

    Solaris 2.6에서 부팅을 하고 CDE 로그인 화면에서 한글을 선택하면 한글이
    모두 깨져서 나옵니다. 한글 비스무리한 것 모두 해 봤는데, 모두 깨지네요.
    깨진 한글 로그인 화면 무시하고 그냥 로그인을 하면 글짜가 몽땅 다
    깨져 나옵니다.
    왜 그럴까요? 아시분이 있으시면 알려주세요.

    OS : solaris 2.6
    Application : oracle, netscape web server
     
    solaris
    Site Admin

    --------------------------------------------------------------------------------
     
    일단 로그인 하셔서 다음 명령어를 확인하세요.

    $ locale

    LANG=ko
    LC_CTYPE="ko"
    LC_NUMERIC="ko"
    LC_TIME="ko"
    LC_COLLATE="ko"
    LC_MONETARY="ko"
    LC_MESSAGES="ko"
    LC_ALL=

    이 값이 ko로 설정되어 있는지 확인하시고, 그렇지 않다면

    root로 로그인 후 /etc/default/init 파일에 LANG=ko 로 설정 합니다.
    그리고 재부팅 ...

    만약 locale 명령어 수행이 올바르게 설정되어 있다면,
    로긴한 사용자의 홈디렉토리의 다음파일 로그를 찾아 확인해 보시기 바랍니다.

    $HOME/.dt/startlog
    $HOME/.dt/errorlog





    [참고]
    http://blog.naver.com/lemonaroma98?Redirect=Log&logNo=60022074975
    반응형

    'OS > Unix Linux' 카테고리의 다른 글

    [펌] AWK 사용법  (0) 2008.09.19
    not on system console 해결방법  (0) 2008.05.22
    파일 찾기 : find  (0) 2008.04.17
Designed by Tistory.