Un modo per correggere la cattiva gestione dello schermo dell'involucro di linea? (Forse solo Terminal.app)


9

Sto riscontrando un problema con screen e Terminal.app. Se ricevo un prompt bash nella parte inferiore dello schermo e continuo a digitare fino a quando la riga non si sposta sulla riga successiva, vedo la riga successiva, ma non vedo la riga sopra questa cambiare.

Ecco un modo visivo di illustrare il mio problema. Il | rappresenta il lato destro del terminale.

Prima. Il mio cursore si trova dopo il terzo "esempio" e sto per digitare "esempio" una quarta volta:

$ asdf                        |
bash: asdf: command not found |
$ example example example     |

Dopo. Nota come dopo il wrapping, lo schermo non scorreva, ma invece 'mangiava' la linea in cui mi trovavo e ricominciava da capo:

$ asdf                        |
bash: asdf: command not found |
ple                           |

Quello che mi aspettavo (e cosa succede senza l'uso dello schermo) è che l'intero schermo scorre uno dopo l'altro.

bash: asdf: command not found |
$ example example example exam|
ple                           |

Alla fine, questo succede quando sposto il cursore sulla linea avvolta all'inizio della riga di comando, mangia la riga precedente:

$ asdf                        |
$ example example example exam|
ple                           |

Qualche idea di cosa stia succedendo?


Terminale GNOME e schermo 4 avvolgono come previsto qui, FWIW. Quale versione stai utilizzando e hai modificato le configurazioni rispetto a quelle predefinite?
Bernard,

Questo accade quando è collegato a due macchine diverse. La mia macchina debian ha lo schermo 4 con alcune configurazioni personalizzate, e la mia casella rhel 5.3 ha anche lo schermo 4 senza configurazioni personalizzate ed entrambe le scatole mostrano lo stesso identico comportamento.
AlexMax,

Ho lo stesso identico comportamento. Un altro sintomo (non descritto sopra) è che dopo che la riga precedente è stata "mangiata", accadono cose strane con le selezioni. Inizia a selezionare con il mouse e tutto ciò che si trova sotto la selezione apparirà corretto. Esempio: se dovessi selezionare la riga "$ asdf" nell'ultimo esempio sopra, cambierebbe improvvisamente in "bash: asdf: comando non trovato" (che è quello che dovrebbe dire la riga precedente.) È come se lo schermo non ha ridisegnato quelle linee, ma avrebbe dovuto. È come se stesse dimenticando di contrassegnare quelle linee come sporche, che necessitano di essere ridigitate.
Eddificato il

In qualsiasi momento inizia a peggiorare, basta selezionare tutto (COMANDO + A) per far sembrare il buffer dello schermo giusto.
Eddificato il

Inoltre, questo non è un problema in iTerm.app
Eddified

Risposte:


7

Successo! Ho provato il suggerimento da qui:

/server/272818/screen-not-dropping-down-a-line

che è da aggiungere:

termcapinfo xterm* ti@:te@

alla tua .screenrcschermata di riavvio. Ciò modifica il comportamento di scorrimento dello schermo in qualcosa di probabilmente migliore per il mio caso d'uso medio (ad esempio, posso usare lo scorrimento del Terminale finché rimango nella stessa finestra), oltre a risolvere il problema di OP.

Inoltre, posso confermare il problema in Terminal.app di 10.7.


Bel lavoro da investigatore! Sfortunatamente, sono un utente pesante delle finestre multiple dello schermo, quindi questo non funzionerà per me.
AlexMax,

non funziona neanche per me, quando ho SSH su un altro server, che è dove sto incontrando il problema. non sono sicuro che possa essere specificato in questo modotermcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm' ti@:te@
Brian Thomas il

2

Potrebbe essere la 'modalità scorrimento orizzontale' di readline. Esegui il seguente comando:

bind 'set horizontal-scroll-mode off'

e vedere se i sintomi cambiano. In tal caso, puoi impostarlo in ~ / .inputrc


1
non l'ho aiutato nel mio caso.
Eddificato il

0

Accedere alle impostazioni del terminale e modificare l'impostazione "Dichiara terminale come:" da "xterm-color" a "xterm". Ciò ha risolto il problema per me (ma ha anche la conseguenza di disattivare altscreen :()


Ho già configurato Terminal.app in questo modo e non mi aiuta con il mio problema. la modalità di scorrimento orizzontale è disattivata per impostazione predefinita in base alla pagina man dello schermo e non vedo da nessuna parte sia attivata. Bummer. Mi piacerebbe davvero trovare una soluzione a questo.
Tim Harper,
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.