Les invites ncurses semblent rompues dans PuTTY à partir de Windows

12

Byobu a l'air très cassé dans PuTTY. J'ai déjà résolu le problème de mappage des clés, mais ce problème n'est pas spécifié dans la page de manuel ou même dans Google:

BroT PuTTY Console

Remarquez la position mal placée de la liste des fenêtres, la position cassée du sélecteur, la duplication de la dernière fenêtre, l'aléatoire a en haut à droite et l'option d'application mal placée. Vous ne pouvez pas voir cela, mais la dernière option n'est pas sélectionnable.

Existe-t-il une option dans PuTTY que je dois utiliser pour voir cela correctement?

TheLQ
la source
Si quelqu'un veut créer le puttytag, ce serait bien
TheLQ
Je n'ai plus Windows, donc je ne peux pas tester, mais j'examinerais les paramètres du jeu de caractères de PuTTY.
JanC
1
L'écran est super - il vous suffit d'avoir un bon.screenrc
Marco Ceppi

Réponses:

8

Concernant Putty, j'ai ajouté cette note à la page de manuel de byobu (1) il y a quelque temps:

> PuTTY  users have reported that the
> F2, F3, and F4 shortcut keys are not
> working properly.  PuTTY sends the
> same escape sequences as the linux
> console for F1-F4 by default.  You can
> fix this problem in the PuTTY config,
> Terminal -> Keyboard -> Function keys:
> Xterm R6.

Voir:

Dustin Kirkland
la source
J'ai déjà fait ça pour rendre Byobu au moins utilisable.
TheLQ
Juste pour confirmer ce que j'ai dit ci-dessus pour toute autre personne: je voulais dire que la capture d'écran ci-dessus est avec du mastic en mode Xterm R6. Ce n'est donc pas une solution à ce problème.
TheLQ
3

Ubuntu utilise UTF-8 pour son terminal, mais byobu semble utiliser le jeu de caractères "ISO-8859-1 (Europe de l'Ouest)" pour ses menus. Vous pouvez définir le jeu de caractères dans Fenêtre -> Traduction.

J'ai trouvé le code suivant sur Internet et j'en suis toujours satisfait. byobupourrait avoir plus d'options, mais j'aime ça aussi ( ~/.screenrc):

startup_message off
hardstatus alwayslastline
hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{=kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B}%Y-%m-%d %{W}%c %{g}]%{w} %l'
shelltitle "$ |bash"
termcapinfo xterm ti@:te@
altscreen on

Remarque: pour byobu, shelltitle "$ |bash"doit être supprimé / commenté, sinon byobu ne fonctionnera pas.

Lekensteyn
la source
Le mastic semble par défaut ISO-8859-1:1998 (Latin-1, West Europe), ce n'est donc pas le problème. Le passage à UTF-8 a rendu le terminal extrêmement lent mais a corrigé le menu. Mais qu'est-ce que ce code est censé faire? N'a rien changé dans byobu
TheLQ
Par défaut, screen vous fournit juste un shell avec plusieurs onglets (invisibles). Avec ce code, vous pouvez avoir une coquille fantaisie, avec en bas une barre (colorée) comme [ computername ][ 0$ bash 1-$ bash (2*$bash) ][2010-12-11 16:24 ] 1.30 1.40 1.43.
Lekensteyn
0

Donc, pour que byobu ait une belle apparence de mastic, vous devez en fait apporter deux modifications.

Tout d'abord, changez votre clavier en xterm-R6 comme déjà mentionné, mais en second lieu, sur votre machine Linux, exécutez la commande en tant qu'utilisateur normal: byobu-select-backendpuis choisissez l'option screen(généralement 2).

Devrait fonctionner très bien maintenant! Prendre plaisir!

DanielS
la source
0

Cela a fonctionné pour moi (adapté pour Putty - temporaire):

Fenêtre -> Traduction -> Jeu de caractères distant: DEC-MCS

Pour une solution définitive dans votre application:

  1. ajoutez le fichier .bashrc (pour olny utilisateur actuel) ou ajoutez etc / bash.bashrc (pour tous les utilisateurs)

NCURSES_NO_UTF8_ACS = 1

  1. assurez-vous que vous avez:

    • sudo apt-get -install ncurses

    • sudo apt-get install libncursesw5-dev

  2. Ajoutez le code: #include <locale.h> #include <ncurses.h> //change curses ------------------------------------- //add in main setlocale(LC_TYPE, "");

  3. Compilez l'application avec -lncursesw , quelque chose comme ceci:

    gcc -o arquivo arquivo.c -lncursesw

Edvaldo Silva
la source