리눅스/OpenSUSE

openSUSE 언어 설정이 한글로 되어 있는 경우 대화식 셸에서 y/n가 아닌 예/아니오로 나올 때 해결법

씨실과 날실 2020. 7. 15. 09:00

[관련 게시물]


대화식 셸에서 y/n 입력시 오류 발생

study@localhost:~> sudo zypper update
[sudo] root의 암호: 
리포지토리 데이터 로드 중...
설치된 패키지를 읽는 중...

다음 새 패키지가 설치됩니다.
  kernel-default-5.3.18-lp152.20.7.1

다음 패키지가 업그레이드됩니다.
  libpython3_6m1_0 python3 python3-base python3-curses python3-dbm

다음 1 패키지를 사용하려면 시스템을 재부팅해야 합니다.
  kernel-default-5.3.18-lp152.20.7.1

5 꾸러미로 업그레이드, 1 새로운.
전체 다운로드 크기: 79.4 MiB. 이미 캐싱됨: 0 B. 작업 후에 383.2 MiB이(가) 추가로
사용됩니다.

    참조: 시스템 재부팅이 필요합니다.
계속하시겠습니까? [예/아니오/버전/...? 모든 옵션 표시] (예): y
: 잘못된 대답 'y'입니다.
[예/아니오/버전/...? 모든 옵션 표시] (예): n
: 잘못된 대답 'n'입니다. 아무것도 실행되지 않는 경우 '#1'을 입력하여 첫 번째 옵션을 선택하고, '#2'를 입력하여 두 번째 옵션을, ...
[예/아니오/버전/...? 모든 옵션 표시] (예): 

오픈수세에서 패키지 관리 작업 등을 할 때 '계속하시겠습니까? [예/아니오/버전/...? 모든 옵션 표시] (예): ' 등과 같은 문구가 나오는 경우가 있을 것입니다. 이때 다른 배포판의 경우처럼 y나 n 등 사용하여 과정을 진행하려고 하면 오류 메시지를 출력하며 다시 한 번 묻습니다.


계속하시겠습니까? [예/아니오/버전/...? 모든 옵션 표시] (예): 예

이것은 오픈수세 언어 설정이 한글로 되어 있는 경우 대화식 셸에서 질의에 대한 답변도 위처럼 한글로 하도록 설정되어 있기 때문입니다.

터미널에서는 거의 대부분 영문자와 숫자, 특수 기호만을 사용합니다. 그런데 예/아니오를 대답하기 위해 매번 한영 전환을 하는 것은 여간 번거로운 것이 아닙니다.

한영 전환을 피하고 예/아니오를 입력할 수 있는 다른 방법이 있는데 바로 #N을 이용하는 것입니다.


계속하시겠습니까? [예/아니오/버전/...? 모든 옵션 표시] (예): #1

질의에 대한 답변 예시 순서대로 #에 숫자를 붙여 입력해주시면 됩니다.

위 예시에서 예는 #1, 아니오는 #2, 버전은 #3을 입력해주시면 해당 응답에 맞춰 실행됩니다.


해당 셸에서 임시로 언어 설정 변경

시스템 OS의 언어 설정이 한글로 되어 있는 경우 터미널 작업 과정에 대한 출력 내용도 한글로 나오는데 사실 이러한 배려는 시스템 관리자 입장에서 오히려 불편한 경우가 많습니다.

시스템 작업 중 해결책을 알지 못하는 어떤 오류와 마주치게 되었을 때 오류 메시지가 한글로 나오는 것보다 영어로 나오는 것이 문제 해결을 위한 검색에 유리하기 때문입니다.

따라서 전문적인 서버 및 시스템 관리자는 OS 기본 언어 설정을 영어로 해놓는 것이 보통입니다. 그러나 데스크톱 환경을 사용하는 일반 사용자의 경우 해결해야 하는 오류에 마주치는 경우가 서버 관리자나 고급 시스템 관리자에 비해 아무래도 적다보니 컴퓨터 활용에 한글이 좀 더 편할 것입니다.

그렇다고 일반 사용자가 오류를 스스로 해결해야 하는 경우가 아주 없는 것은 아닙니다. 이는 OS로 리눅스를 선택한 사람의 숙명과도 같습니다.

만약 터미널 작업을 하는 경우 터미널 작업 출력내용을 영어로 하는 것이 오류 해결에 좀더 도움이 됩니다. 영어로 된 오류 내용을 그대로 구글링하면 선구자들의 방대한 지식을 손쉽게 찾아 적용할 수 있기 때문입니다.

 

export LANG=en_US.UTF-8

OS의 전체적인 언어 환경을 바꾸지 않고 실행 중인 프로세스의 터미널 작업에서만 임시로 언어 설정을 바꿀 수 있는 방법이 있는데 터미널에서 위 명령을 실행해주시면 됩니다.

위 명령은 현재 실행 중인 프로세스의 터미널 내 언어 환경을 영어로 바꿔주는 명령입니다.

이 명령을 실행 한 이후 터미널 출력 언어가 영어로 전환됩니다.


study@localhost:~> export LANG=en_US.UTF-8
study@localhost:~> sudo zypper update
[sudo] password for root: 
Loading repository data...
Reading installed packages...

The following NEW package is going to be installed:
  kernel-default-5.3.18-lp152.20.7.1

The following 5 packages are going to be upgraded:
  libpython3_6m1_0 python3 python3-base python3-curses python3-dbm

The following package requires a system reboot:
  kernel-default-5.3.18-lp152.20.7.1

5 packages to upgrade, 1 new.
Overall download size: 79.4 MiB. Already cached: 0 B. After the operation, additional
383.2 MiB will be used.

    Note: System reboot required.
Continue? [y/n/v/...? shows all options] (y): 

export LANG=en_US.UTF-8 명령은 해당 터미널 작업에서만 적용됩니다. 만약 현재 작업 중인 터미널과 다른 새로운 프로세스의 터미널을 실행한다면 기존 터미널에 적용했던 영어 언어 환경은 적용되지 않습니다.