it-swarm.com.de

Wie kann ich die UTF-8-Unterstützung in der Linux-Konsole aktivieren?

Im Moment sieht es so aus:

(enter image description here

12
Mihai

Sicher (die Anzahl der Glyphen ist begrenzt, aber anscheinend verwendet Ihr Gebietsschema die UTF-8-Codierung).

Ich benutze dies zum Testen:

#!/bin/sh
# send character-string to enable UTF-8 mode
if test ".$1" = ".off" ; then
    printf '\033%%@'
else
    printf '\033%%G'
fi

und (nennt es "utf8"), "utf8 on" schaltet die Codierung ein.

Anhand des Beispiels mit pstree finden Sie hier ein Beispiel nach Ausführen des Skripts (vor der gleichen Art von Ausgabe wie in der Frage ):

(screenshot after "utf8 on"

Wie in einem Kommentar erwähnt, gibt es ein Skript unicode_start was mehr bewirkt, aber alles, was benötigt wird, um die gestellte Frage zu beantworten, ist das kleine Skript, das als Beispiel verwendet wird.

Einen anderen Kommentar ansprechen: Zumindest auf meinem System (und in dem in der Frage gezeigten Screenshot) werden alle von pstree verwendeten Zeichen in der 512-Glyphen-Schriftart geliefert, die standardmäßig für die Unicode-Unterstützung unter Linux verwendet wird Konsole.

Weiterführende Literatur:

6
Thomas Dickey

Überprüfen Sie, ob Sie das Paket locales installiert haben

dpkg -l locales

Wenn nicht, installieren Sie es

apt-get install locales

Geben Sie als root ein

dpkg-reconfigure locales

sie können in dieser Liste mit den Aufwärts-/Abwärtspfeiltasten navigieren. Wählen Sie beispielsweise en_US-UTF-8

bearbeite dein .bashrc durch Hinzufügen der folgenden Zeilen:

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

Führen Sie den Befehl locale aus. Die Ausgabe sollte der folgenden ähnlich sein:

LANG=en_US.UTF-8
LANGUAGE=en_US:en
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=
13
GAD3R

Einstellen CHARMAP=UTF8 im /etc/default/console-setup .

Lauf systemctl daemon-reload && systemctl restart console-setup.service danach.

2
alecov