Le istruzioni di Ncurses sembrano interrotte in PuTTY da Windows


12

Byobu sembra molto rotto in PuTTY. Ho già risolto il problema relativo alla mappatura dei tasti, ma questo problema non è stato specificato nella pagina man o in Google:

Console PuTTY rotta

Notare la posizione fuori posto dell'elenco di finestre, la posizione del selettore interrotta, la duplicazione dell'ultima finestra, la casuale a in alto a destra e l'opzione di applicazione collocata nella posizione errata. Non puoi vederlo, ma l'ultima opzione non è selezionabile.

C'è qualche opzione in PuTTY che devo usare per vederlo correttamente?


Se qualcuno vuole creare il puttytag, sarebbe bello
TheLQ

Non ho più Windows, quindi non posso testarlo, ma vorrei esaminare le impostazioni del set di caratteri di PuTTY.
JanC

1
Lo schermo è fantastico - devi solo avere un discreto.screenrc
Marco Ceppi

Risposte:



8

Relativamente a Putty, ho aggiunto questa nota alla manpage byobu (1) qualche tempo fa:

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

Vedere:


L'ho già fatto per rendere Byobu almeno utilizzabile.
TheLQ

Giusto per confermare ciò che ho detto sopra per chiunque si presenti: intendevo che lo screenshot sopra è con stucco in modalità Xterm R6. Quindi questa non è una soluzione per questo problema.
TheLQ

3

Ubuntu usa UTF-8 per il suo terminale, ma byobu sembra usare il set di caratteri "ISO-8859-1 (Europa occidentale)" per i suoi menu. È possibile impostare il set di caratteri in Finestra -> Traduzione.

Ho trovato il seguente codice su Internet e ne sono ancora contento. byobupotrebbe avere più opzioni, ma mi piace anche questo ( ~/.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: per byobu, shelltitle "$ |bash"deve essere rimosso / commentato, altrimenti byobu non funzionerà.


Putty sembra predefinito ISO-8859-1:1998 (Latin-1, West Europe), quindi non è questo il problema. Il passaggio a UTF-8 ha reso il terminale estremamente lento ma ha risolto il menu. Cosa dovrebbe fare quel codice?
Byobu

Per impostazione predefinita, lo schermo fornisce solo una shell con più schede (invisibili). Con quel codice, puoi avere una shell fantasia, con in basso una barra (colorata) come [ computername ][ 0$ bash 1-$ bash (2*$bash) ][2010-12-11 16:24 ] 1.30 1.40 1.43.
Lekensteyn,

0

Quindi, affinché byobu abbia un bell'aspetto nello stucco, dovresti effettivamente apportare due modifiche.

Il primo è cambiare la tastiera in xterm-R6 come già accennato, ma in secondo luogo, sulla macchina Linux eseguire il comando come normale utente: byobu-select-backende quindi scegliere l'opzione screen(di solito 2).

Ora dovrebbe funzionare alla grande! Godere!


0

Ha funzionato per me (adatto per Putty - temporaneo):

Finestra -> Traduzione -> Set di caratteri remoti: DEC-MCS

Per una soluzione definitiva nella tua applicazione:

  1. aggiungi nel file .bashrc (per l'utente corrente) o aggiungi etc / bash.bashrc (per tutti gli utenti)

NCURSES_NO_UTF8_ACS = 1

  1. assicurati di avere:

    • sudo apt-get -install ncurses

    • sudo apt-get install libncursesw5-dev

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

  3. Compilare l'applicazione con -lncursesw , in questo modo:

    gcc -o arquivo arquivo.c -lncursesw

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.