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.