Ncurses prompts parecem quebrados no PuTTY do Windows

12

Byobu parece muito quebrado em PuTTY. Eu já corrigi o problema de mapeamento de chaves, mas esse problema não está especificado na página de manual nem no Google:

Console PuTTY quebrado

Observe a posição incorreta da lista de janelas, a posição do seletor quebrada, a duplicação da última janela, a aleatória a no canto superior direito e a opção de aplicação incorreta. Você não pode ver isso, mas a última opção não é selecionável.

Existe alguma opção no PuTTY que preciso usar para ver isso corretamente?

TheLQ
fonte
Se alguém quiser criar a puttytag, isso seria bom #
TheLQ
Não tenho mais o Windows, então não posso testar, mas analisaria as configurações de charset do PuTTY.
janc
1
A tela é ótima - você só precisa ter um bom .screenrc
senso

Respostas:

8

Relacionado a Putty, adicionei esta nota à página de manual do byobu (1) há algum tempo:

> 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.

Vejo:

Dustin Kirkland
fonte
Eu já fiz isso para tornar o Byobu pelo menos utilizável.
TheLQ
Apenas para confirmar o que eu disse acima para qualquer um que aparecer: eu quis dizer que a captura de tela acima está com massa no modo Xterm R6. Portanto, isso não é uma correção para esse problema.
TheLQ
3

O Ubuntu usa UTF-8 para seu terminal, mas o byobu parece usar o conjunto de caracteres "ISO-8859-1 (Europa Ocidental)" para seus menus. Você pode definir o conjunto de caracteres em Janela -> Tradução.

Encontrei o seguinte código na Internet e ainda estou feliz com ele. byobupode ter mais opções, mas também gosto disso ( ~/.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

Nota: para byobu, shelltitle "$ |bash" deve ser removido / comentado, caso contrário, o byobu não funcionará.

Lekensteyn
fonte
O Putty parece padrão ISO-8859-1:1998 (Latin-1, West Europe), então esse não é o problema. Mudar para UTF-8 tornou o terminal extremamente lento, mas o menu foi corrigido. O que esse código deveria fazer? Não mudou nada no byobu
TheLQ
Por padrão, a tela fornece apenas um shell com várias guias (invisíveis). Com esse código, você pode ter um shell sofisticado, com no fundo uma barra (colorida) como [ computername ][ 0$ bash 1-$ bash (2*$bash) ][2010-12-11 16:24 ] 1.30 1.40 1.43.
Lekensteyn
0

Portanto, para que o byobu tenha uma boa aparência em massa, você deve realmente fazer duas alterações.

Primeiro, mude o teclado para xterm-R6, como já mencionado, mas segundo, na sua máquina Linux, execute o comando como seu usuário normal: byobu-select-backend e depois escolha a opção screen(geralmente 2).

Deve funcionar muito bem agora! Desfrutar!

DanielS
fonte
0

Funcionou para mim (apto para Putty - temporário):

Janela -> Tradução -> Conjunto de caracteres remoto: DEC-MCS

Para uma solução definitiva em seu aplicativo:

  1. adicione o arquivo .bashrc (para o usuário atual olny) ou o arquivo etc / bash.bashrc (para todos os usuários)

NCURSES_NO_UTF8_ACS = 1

  1. Assegure-se de ter:

    • sudo apt-get -install ncurses

    • sudo apt-get install libncursesw5-dev

  2. Adicionar código: #include <locale.h> #include <ncurses.h> //change curses ------------------------------------- //add in main setlocale(LC_TYPE, "");

  3. Compile o aplicativo com -lncursesw , algo como isto:

    gcc -o arquivo arquivo.c -lncursesw

Edvaldo Silva
fonte