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?


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:


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.


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!


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

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.