Faire fonctionner les caractères de dessin ET 256 couleurs et PuTTY

31

J'ai du mal à configurer PuTTY avec Ubuntu.

J'essaie de faire fonctionner les caractères de ligne dans les aptitudes ainsi que le support 256 couleurs, mais je ne peux obtenir que l'un ou l'autre.

  • Ubuntu Config
    • Utilisation d'Ubuntu 64 bits
    • Le type de terminal xterm-256color ou putty-256color donne 256 caractères de ligne, mais incorrects.
    • Le type de terminal linux donne des lignes appropriées en aptitude, mais seulement 16 couleurs.
  • PuTTY Config
    • Utilisation d'une police avec des caractères Unicode. (DejaVu Sans Mono)
    • Les données reçues sont supposées être en UTF-8.
    • Définissez pour utiliser les points de code de dessin au trait Unicode.

Sortie de locale:

LANG=en_US.UTF-8
LANGUAGE=
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=
Suisse
la source

Réponses:

42

Le problème est que PuTTY en mode UTF-8 ignore 1 commandes VT100 "Jeu de caractères alternatif" et ncurses tente d'utiliser le jeu de caractères "graphique" pour dessiner l'interface graphique. (Les personnages de dessin de boîte sont dans les mêmes positions que d' klmqxhabitude.)

export NCURSES_NO_UTF8_ACS=1 dans votre environnement, il devrait résoudre le problème en indiquant à ncurses de toujours utiliser les caractères de dessin de zone Unicode lorsqu'un paramètre régional UTF-8 est sélectionné.

1 Il y a une entrée de liste de souhaits PuTTY pour cela, avec une explication pourquoi le comportement actuel est meilleur .

Mise à jour (12/05/2018): Il semble que cette combinaison sera pris en charge dans PuTTY 0,71.

Grawity
la source
C'est intéressant. J'ai toujours utilisé la console Lucida car le dessin au trait fonctionnait toujours en mode UTF-8. Maintenant, je peux utiliser de bien meilleures polices. Merci. :)
Ariel
8
Je veux juste souligner que l'exécution d'un programme qui convertit le jeu de caractères alternatif en UTF-8 résout également le problème. J'ai trouvé cela à partir du lien que vous avez fourni. L'écran est le meilleur exemple de programme.
Suisse
2
ne pas déterrer les anciens messages, mais KiTTY - un fork PuTTY - fournit une case à cocher pour "Autoriser le dessin de ligne ACS en UTF" (paramètres de session nouveaux / actuels -> Fenêtre-> Traduction) qui semble bien fonctionner avec des applications comme aptitude.
surprescrit le
1
@swiss: ce n'est pas screenqui fait la conversion, mais ncurses.
Thomas Dickey
Je travaille dans Putty et j'utilise zsh. J'ai un problème similaire à OP, en ce que dans VIM, certains caractères tels que la flèche dans NERDtree ne sont pas affichés. Lorsque je "exporte NCURSES_NO_UTF8_ACS = 1" et que j'ouvre à nouveau VIM, cela ne fait rien de différent. Les flèches ne sont toujours pas affichées. Une idée de ce qui se passe?
alpha_989
4

Ceci est maintenant implémenté en option dans PuTTY git master .

Mastic 0,71 ->

Catégorie -> Fenêtre -> Traduction -> cochez "Activer le dessin au trait VT100 même en mode UTF-8"

capture d'écran

ismail
la source