그놈 터미널 프로파일이 기본적으로 UTF-8을 사용할 수 있습니까?


19

우분투 시스템에 있습니다. 내가 없는 내가 로케일을 변경할 수 있도록 루트가있다. 기본 터미널 프로필이 기본적으로 UTF-8을 사용하도록하고 싶습니다. .gconf/apps/gnome-terminal/디렉토리 어딘가 또는 환경 변수 등에서 이를 수행 할 수있는 방법이 있어야합니다 . 그러나 나는 그것을 찾을 수없는 것 같습니다.

자세한 내용으로 편집하십시오.

터미널에는 다음이 있습니다.

grid-unv55$ 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_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
grid-unv55$ gnome-terminal

새 터미널에서 더 많은 UTF 문서를 시도하면 다음과 같은 결과가 나타납니다.

\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd
\noise:bgspeech \ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd

내 화면에 점으로 나타납니다. (퍼프는 잘라서 붙여 넣었습니다. 나는 "\ noise : bgspeech"를 그대로 두어 아스키가 올바르게 잘라 붙여 넣는 것을 볼 수있었습니다)

답변:


12

난 당신이 활성화 할 필요하므로 UTF-8, 쉘에서 사용 가능으로 그 그놈 터미널 의지 그냥 일을 믿는 것을 . 놓다

export LANG=en_US.UTF-8

~/.bashrc거기 당신은 간다.


편집하다:

자, 대답은 현재 이것을 설정할 수 없습니다 . 그놈 터미널은 현재 환경의 LANG 설정을 따르고 그에 대한 인코딩을 기본값으로 사용합니다. 따라서 gnome-terminal이 시작 되기 전에 LANG에 UTF-8이 포함되도록해야합니다 . 이를 설정하면 ~/.bashrc로그 아웃 한 후 다시 로그인하면됩니다.

(실제로 이것을 넣는 ~/.bash_profile것이 서브 쉘에 대해 그것을 재정의하는 것이 낫지 만, Gnome 환경 설정의 일부로 bash가 반드시 로그인 쉘로 실행되는지 확실하지 않습니다. 테스트 할 가치가 있습니다 ...)


1
작동하지 않는 것 같습니다.
Brian Postow

흠. $ LANG은 기본적으로 무엇으로 설정되어 있습니까? bashrc에 넣으면 변경됩니까?
mattdm

C를 bashrc에 넣으면 변경되었습니다. 물론, 로그 아웃했다가 다시 로그인하지 않았지만 새 터미널을 시작하고 LANG에서 UTF로 시작했지만 로캘도 UTF로 설정되었지만 터미널에 여전히 일본어가 표시되지 않습니다 ...
Brian Postow

1
이전에는 gnome-terminal 내부 의 쉘에서만 설정되었습니다 . 이제 그놈 터미널 자체가 실행되는 환경에서 설정되고 있습니다.
mattdm

2
우분투 10.04에서, 당신은에서 전체 세션에 대한 환경 변수를 설정할 수 있습니다 ~/.profile- 아니~/.bashrc , 및 없습니다 ~/.bash_profile중 하나 .
Gilles 'SO- 악한 중지'

9

gnome-terminal다음 명령으로 로케일을 설정할 수 있습니다. 여기서 Default, 프로파일 이름입니다.

gconftool --set --type=string /apps/gnome-terminal/profiles/Default/encoding en_US.UTF-8

이것은 나를 위해 일했습니다. 그러나 변경 한 후 불필요 LANG=en_US.UTF-8.bashrc와 다시 시작
안토니오스 Hadjigeorgalis을

나를 위해 일했다!
Josh M.

7

비슷한 문제가 있었고 LANGin 설정 으로 .bash_profile트릭을 수행하지 않았을 때 Gnome에서 세션 시작시 GDM 로그인 화면에서 기본 로케일을 설정할 수 있음을 알았습니다. 루트 액세스없이 수행 할 수 있습니다.


3

방금 체크인했는데 menu->terminal->set character encodingutf-8입니다.

터미널과 bash는 같은 것이 아닙니다.

나는 수행하여 시작할 것 cat utf-8-file(은 stty가) 줄 바꿈 등 carrage 반환에 줄 바꿈으로 변환됩니다 stty를 실제로 잘 (터미널로 변경이 파일을 전달합니다 고양이와 bash는) 경우이 표시 파일이 제대로 다음 설정이 그놈 터미널입니다. (이것은 영어로 utf-8을 사용함에 따라 지금까지 수행 한 모든 것입니다; 이미 우분투 10.10 및 데비안 6에서 설정되었습니다). 그런 다음 bash 등을 설정하십시오.

~ / .bashrc 다시 읽기

편집 ~/.bashrc하면 다시 읽 . ~/.bashrc거나 새 셸을 시작 해야합니다 (점을 잊지 마십시오)


1
수동으로 문자 인코딩을 utf-8로 변경하면 바로 그 곳에서 할 수 있지만 올바른 로케일이있는 터미널에서도 새 그놈 터미널을 시작할 때 인코딩은 여전히 ​​ASCII입니다. 질문에 더 자세한 내용을 추가하겠습니다.
Brian Postow

3

최신 버전의 그놈 (및 그놈 터미널)을 사용하는 신규 사용자와 관련이있는 문제를 해결했습니다.

사용하려는 텍스트 인코딩의 경우 셸 (예 : bash)과 터미널 에뮬레이터 (예 : gnome-terminal)는 동일한 인코딩을 사용해야합니다. 예를 들어 쉘이 사용 en_US.utf8하고 터미널 에뮬레이터가 사용하는 경우 en_US.ISO-8859-1(일명 latin1) UTF-8 출력을 가진 모든 프로그램에 대해 이상한 텍스트가 터미널에 표시됩니다.

이제는 로그인시 인코딩을 설정할 수 없습니다. 제안 된 것처럼 가능합니다. 이것은 우리가 여기에 이전 버전의 GDM이 있다는 사실 때문일 수 있습니다. 그렇기 때문에 다른 솔루션이 필요했습니다.

어쨌든 그놈 3은 자동으로 로그인 .bashrc하거나 .profile로그인 할 때 보이지 않습니다 . 그러나 source .gnomerc을 사용하면 그놈 프로그램으로 내보낼 환경 변수를 넣을 수 있습니다 (내가 알 수있는 한).

퍼팅 export LANG="en_US.utf8"에서 .gnomerc이렇게하면 새로운 인스턴스가 시작 기본적하여 UTF-8 인코딩을 사용 그놈 터미널 시작한다. (필요에 따라 로케일을 변경하십시오.)

잘만되면 이것은 누군가에게 유용했습니다!


-1

다른 사용자가 언급했듯이 셸에 사용중인 인코딩을 알려주십시오.

export LANG=en_US.UTF-8

이것을 .bashrc에 넣고 gnome-terminal 다음 로그인시 그것을 가져와야합니다.

그놈 터미널의 인코딩을 즉석에서 설정하십시오 : 메뉴 바> 터미널> 문자 인코딩 설정

기본 인코딩을 영구적으로 설정 : gconf-editor> Apps> gnome-terminal> Profiles> Default> encoding> utf-8


2
이것은 사실이 아닙니다. 나에게는 .profile과 .bashrc 파일이 있습니다. 내 로그인 쉘은 bash입니다. gnome-terminal은 .bashrc의 LANG 설정이 .profile의 LANG 설정과 충돌하면 무시합니다. 따라서 LANG은 두 파일 모두에 설정되어야합니다.
Gary

일종의… 내 이해는 bash가 로그인 쉘에 .profile 을 사용 하고 그렇지 않으면 .bashrc 를 사용한다는 것입니다 . Linux에서 새 명령 창은 .bashrc를 사용합니다 (Mac에서는 .profile ). 두 가지가 모두 자동으로 실행되는 상황을 알지 못하지만 모든 구성을 하나에 넣고 다른 구성에서 호출하는 것이 매우 일반적입니다. 일반적으로 .bashrc.profile (일반적으로 대화식 쉘에서만)에서 실행됩니다 . if [ -n "$BASH_VERSION" -a -f "$HOME/.bashrc"; then . "$HOME/.bashrc"; fi
Edward Falk
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.