Debian
在 systemd-nspawn 容器中設置語言環境 (debian jessie)
試圖在
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
設置語言環境記錄在 Debian 安裝指南中 - 有一個附錄提供了一些關於直接使用 debootstrap 安裝和自己配置系統的提示。
要將您的語言環境設置配置為使用英語以外的語言,請安裝語言環境支持包並進行配置。目前推薦使用 UTF-8 語言環境。
# aptitude install locales # dpkg-reconfigure locales
附錄整體有一個不全面的免責聲明,但它是官方文件,這個具體方法是完全正確的。還有其他替代方案可能更適合腳本 - 此方法提示使用者選擇哪個區域設置。
附錄還順便提到了第二個問題。我不確定它是否會影響您的特定字元問題,但它可能會導致類似複雜輸出的問題。您需要確保正確設置了 TERM。
echo $TERM
在容器外執行。在容器內,執行 egexport TERM=xterm-256color
來設置這個會話的終端類型。我認為也不會
machinectl login
為您處理這個問題,考慮到它如何與容器內的 systemd 對話,這很可悲。如果您在容器內執行 SSH 伺服器,則只需使用它,SSH 將正確轉發 TERM,您無需執行任何操作。