배경:
- 프롬프트에 유니 코드 문자가 있습니다 (기본적으로 git status markers)
- 아치 리눅스에서 xfce로 urxvt를 실행하고 있습니다.
.Xresources 줄을 통해 지정된 Powerline 글꼴에 DejaVu Sans Mono를 사용하고 있습니다.
URxvt*font: xft:DejaVu Sans Mono for Powerline:pixelsize=14
urxvt를 시작할 때 유니 코드 문자가 올바르게 렌더링되지 않습니다.
예를 들어
●으로 렌더링
그러나 urxvt
첫 번째 터미널에서 새 것을 시작하면 모든 것이 올바르게 렌더링됩니다.
두 터미널 사이의 환경에는 차이가없는 것으로 보입니다.
첫 번째 호출과 중첩 된 호출의 차이점은 무엇입니까? 'outer'인스턴스에서 글꼴이 올바르지 않은 것 같지만 실행중인 X 창의 글꼴을 확인하는 방법을 잘 모르겠습니다
업데이트 : 로케일이 xfce4의 앱 실행기에서 올바르게 설정되지 않은 것 같지만 아마도 첫 번째 터미널 내부의 쉘은 자체 로케일을가집니다. 두 쉘 모두 동일한 로케일을 의미합니다.
첨가
export LANG=en_GB.UTF-8
xfce4를 시작하기 전에 .xinitrc로 수정하면 문제가 해결됩니다. 나는 이것이 아니다 의심 올바른 방법 하지만 그것은 나에게 충분합니다.
스크린 샷은 문제를 보여줍니다.
참고 : serverfault.com 에서이 질문을 옮겼습니다.이 사이트가 더 적합하기를 바랍니다.
LC_ALL=ru_RU.utf8 urxvt
현재 X 세션에서 실행하십시오 . 러시아어 (및 다른 유니 코드) 문자가 올바른 경우 환경이 C 로캘에서 실행 중일 수 있습니다. 로케일 설정을 확인하십시오 xfce
. 예를 들어 시작한 경우 다음 .xinitrc
과 같이 실행하기 전에 로케일을 설정하십시오 LANG=ru_RU.utf8 exec startxfce4
.