sudo systemd-nspawn -D ~/debian-tree/
Fedora 호스트에서 생성된 Debian 컨테이너에서 실행 중인 vim에 전력선/항공사 기호를 표시하려고 합니다.
이제 다이아몬드 모양의 물음표(��)만 표시됩니다. 로케일을 설정해야 한다고 확신하지만 올바르게 설정하는 방법에 대한 직접적인 답을 찾을 수 없습니다.
산출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=
산출locale -a
C
C.UTF-8
POSIX
답변1
로케일 설정은 데비안 설치 가이드에 문서화되어 있습니다. debootstrap을 사용하여 직접 설치하고 시스템을 직접 구성하는 방법에 대한 몇 가지 팁을 제공하는 부록이 있습니다.
영어 이외의 언어를 사용하도록 로케일을 구성하려면 로케일 지원 패키지를 설치하고 구성하십시오. 현재는 UTF-8 로케일을 사용하는 것이 좋습니다.
# aptitude install locales # dpkg-reconfigure locales
부록 전체에는 포괄적이지 않다는 면책 조항이 있지만 이는 공식 문서이며 이 특정 접근 방식은 완전히 정확합니다. 스크립팅에 더 적합한 다른 대안이 있습니다. 이 방법은 사용자에게 선택할 로캘을 묻는 메시지를 표시합니다.
두 번째 질문이 있는데, 이는 부록에서도 언급됩니다. 특정 문자 문제에 영향을 미치는지 확실하지 않지만 복잡한 출력과 같은 문제가 발생할 수 있습니다. TERM이 올바르게 설정되었는지 확인해야 합니다. echo $TERM
컨테이너 외부에서 실행합니다 . 컨테이너 내에서 예를 들어 export TERM=xterm-256color
이 세션의 터미널 유형을 설정하려면 다음을 실행하세요.
나는 이것을 당신을 위해 처리할 방법이 없다고 생각합니다 machinectl login
. 컨테이너 내부에서 systemd와 통신하는 방식을 고려하면 부끄러운 일입니다.
컨테이너 내에서 SSH 서버를 실행하는 경우 이를 사용하면 SSH가 TERM을 올바르게 전달하므로 아무 작업도 수행할 필요가 없습니다.