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.