본문 바로가기

리눅스

[draft] 우분투에서 로케일 및 문자셋 변경하는 방법

우분투에서 로케일(Locale) 및 문자셋 변경하는 방법(ko_KR.UTF-8)

우분투 서버나 데스크톱에서 한글 환경을 설정하려면 올바른 로케일(locale)과 문자셋(UTF-8) 설정이 필수입니다.

1. 현재 로케일 설정 확인

시스템 로케일 확인

localectl status
$ localectl status
   System Locale: LANG=C.UTF-8
       VC Keymap: n/a
      X11 Layout: n/a

개별 로케일 변수 확인

locale
$ locale
LANG=
LANGUAGE=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
  • 현재 로케일이 C/POSIX로 되어 있어 한글 출력이 제한적입니다.

시스템에서 사용 가능한 모든 로케일 목록

localectl list-locales
$ localectl list-locales
C.UTF-8

시스템에 설치된 실제 locale 목록

locale -a
$ locale -a
C
C.utf8
POSIX
  • 한국어 locale이 존재하지 않음을 확인할 수 있습니다.

2. 로케일 패키지 설치

한국어 로케일을 사용하려면 locales 및 language-pack-ko 패키지가 필요합니다.

 

locales 패키지 설치

sudo apt-get install -y locales

한국어 language-pack 검색

sudo apt-cache search language-pack-ko | grep -i korean
$ sudo apt-cache search language-pack-ko | grep -i korean
language-pack-ko - translation updates for language Korean
language-pack-ko-base - translations for language Korean

한국어 패지키 설치

sudo apt-get install -y language-pack-ko language-pack-ko-base
  • ko_KR.UTF-8 로케일을 사용할 수 있게 됩니다.
더보기
더보기

---

로케일 설정 변경

로케일 설정은 locale-gen 명령을 사용하여 변경할 수 있습니다.

 

  • ko_KR.UTF-8 로케일을 생성
sudo locale-gen ko_KR.UTF-8
$ sudo locale-gen ko_KR.UTF-8
Generating locales (this might take a while)...
  ko_KR.UTF-8... done
Generation complete.
  • 시스템의 기본 로케일을 ko_KR.UTF-8로 설정
sudo update-locale LANG=ko_KR.UTF-8

문자셋 설정 변경

기본적으로 UTF-8 문자셋을 사용하는 것이 좋습니다. 하지만 필요에 따라 다른 문자셋을 사용할 수도 있습니다. UTF-8 이외의 문자셋을 사용하려면 해당 문자셋을 로케일 설정과 함께 지정해야 합니다.

 

  • ko_KR.EUC-KR 문자셋을 생성
sudo locale-gen ko_KR.EUC-KR
$ sudo locale-gen ko_KR.EUC-KR
Generating locales (this might take a while)...
  ko_KR.EUC-KR... done
Generation complete.
  • 시스템의 기본 로케일을 ko_KR.EUC-KR로 설정
sudo update-locale LANG=ko_KR.EUC-KR

---

3. 한국어 로케일 생성 및 적용

한국어 로케일 생성

sudo locale-gen ko_KR.UTF-8

시스템 기본 로케일 설정 우분투에서는 update-locale 명령을 사용하는 것이 공식적이고 안전한 방법입니다.

sudo update-locale LANG=ko_KR.UTF-8 LC_ALL=ko_KR.UTF-8

또는 최소 설정(권장)

sudo update-locale LANG=ko_KR.UTF-8
LC_ALL은 시스템 전체의 우선순위를 강제하는 변수이므로 가급적 LANG만 지정하고 LC_ALL은 비우는 것이 더 권장됩니다.

localectl로 로케일 적용(대안)

우분투 데스크톱 또는 systemd 환경에서 가장 깨끗한 방식

sudo localectl set-locale LANG=ko_KR.UTF-8

4. 현재 로케일 확인

locale
$ locale
LANG=
LANGUAGE=
LC_CTYPE="ko_KR.UTF-8"
LC_NUMERIC="ko_KR.UTF-8"
LC_TIME="ko_KR.UTF-8"
LC_COLLATE="ko_KR.UTF-8"
LC_MONETARY="ko_KR.UTF-8"
LC_MESSAGES="ko_KR.UTF-8"
LC_PAPER="ko_KR.UTF-8"
LC_NAME="ko_KR.UTF-8"
LC_ADDRESS="ko_KR.UTF-8"
LC_TELEPHONE="ko_KR.UTF-8"
LC_MEASUREMENT="ko_KR.UTF-8"
LC_IDENTIFICATION="ko_KR.UTF-8"
LC_ALL=ko_KR.UTF-8
  • LC_ALL이 비어 있고 LANG이 ko_KR.UTF-8이면 정상 설정입니다.

5. 환경변수 방식 설정(세션 단위)

일시적(현재 세션만) 로케일 적용

export LC_ALL=ko_KR.UTF-8

다시 확인

locale

6. 재부팅(필요 시)

전체 시스템 로케일이 정상 적용되려면 로그아웃 또는 재부팅이 필요할 수 있습니다.

sudo reboot

 

locale 명령을 실행하여 변경된 로케일 및 문자셋을 확인할 수 있습니다. 설정이 올바르게 적용되면 변경된 로케일과 문자셋이 표시됩니다.