Forzare lo schermo GNU a ridisporre alla larghezza corrente del terminale al riattacco?


32

Vorrei forzare lo schermo GNU a ridisporre alla larghezza del terminale esistente quando ricollego una sessione. Mi sembra che abbia funzionato correttamente prima di aggiornare una macchina a CentOS 6, ma non riesco a capire come ripristinarla. ( TERM=xterm)

Ogni volta che ricollego una sessione, indipendentemente dallo stato quando l'ho staccata, si avvia a 80 colonne, ridimensionando il mio terminale (PuTTY, in questo caso) insieme ad esso.

Sto avviando e ricollegando con:

screen -aA -R <session>

Il mio .screenrc contiene solo i seguenti e alcuni collegamenti chiave irrilevanti:

term xterm

defscrollback 10000

# status line at the bottom
hardstatus on
hardstatus alwayslastline
hardstatus string "${-}%{.0c}%-w%{.y0}%f%n %t%{-}%+w %=%{..G}[%H] %{..Y} %D %M %d, %Y %c | Load: %l"
caption splitonly "%{.yK}%3n t"
caption string "%{.c0}%3n %t"

vbell off

# Fix fullscreen programs
altscreen on

Potresti avere più fortuna con tmux, posso ridimensionare dinamicamente la finestra del mio Terminale e seguirà il tmux all'interno.
— 5

Risposte:


38

dopo aver ricollegato a ctrl-a Fviene eseguito il comando "adatta" per ridimensionare la finestra corrente. se si ricollega utilizzando l' -Aopzione, dovrebbe ridimensionare tutte le finestre quando si ricollega. Ci sono altri ancora collegati alla sessione dello schermo quando si allega? Ad esempio, devi usare -x per ricollegare invece di -r? puoi staccare gli altri quando ti ricolleghi con "screen -D -r" invece di "screen -x", e mi aspetto che questo cambi automaticamente le finestre.


Sto lanciando con -a -A, e nessun altro è attaccato.
— Michael,

1
Questo è ancora un problema con lo schermo tramite Ubuntu 14.04. La vestibilità non funziona. Disconnessione e riconnessione fanno. La schermata 4.2.1 è disponibile da backport affidabili . Consultare la documentazione dei backport utente per informazioni sull'abilitazione e l'utilizzo dei pacchetti dal repository backports.
— Greg Bell,

1
Anche dopo aver fatto questo, ho dovuto ridimensionare la finestra del mio terminale per inviare qualsiasi segnale screennecessario per eseguire effettivamente il ridimensionamento.
— krs013,

Questo problema non ha funzionato per me, forse perché sto usando un terminale diverso (iTerm2 su Mac). Fit non ha funzionato, quindi ho rimosso e ricollegato utilizzando screen -D -re ho anche provato a ridimensionare la finestra, ma è rimasto lo stesso. Quando in Vim, posso vedere che columnsera impostato su 204.
— Haridsv,

schermo -D -r ha funzionato per me dopo aver provato tutte le altre opzioni, come hai detto Stew - il mio schermo era ancora mostrato come allegato quando ho eseguito lo schermo -ls
— Hayden Crocker,

8

Questa risposta si applica solo a PuTTY. Anch'io sono costretto a utilizzare un sistema operativo che preferirei non fare, e PuTTY è l'unica vera opzione a causa di altre restrizioni sul sistema. Avevo lo stesso problema, il mio schermo si ridimensionava all'avvio o alla connessione a una sessione di schermo esistente. Ho provato le risposte qui inutilmente (Windows 10 con PuTTY 0.67 installato tramite MSI). Queste risposte potrebbero aver funzionato con un terminale UN * X standard, ma non con PuTTY, è una bestia diversa.

Sono andato a scavare tra le opzioni, ed ecco, sotto "Terminale -> Funzionalità" c'è un'opzione etichettata "Disabilita ridimensionamento terminale telecomandato". Seleziona la casella, applica l'impostazione e riprova a visualizzare lo schermo. Penso che troverai il problema risolto.


KiTTY è un sostituto drop-in molto migliore per PuTTY su quel sistema operativo che sei costretto a usare ...
— Anubioz,

5

Prova ad aggiungere questo (da / etc / screenrc) al tuo ~ / .screenrc:

# Change the xterm initialization string from is2=\E[!p\E[?3;4l\E[4l\E>
# (This fixes the "Aborted because of window size change" konsole symptoms found
#  in bug #134198)
termcapinfo xterm* 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'

https://superuser.com/a/217281/6593


1
In MPutty questo risolve definitivamente la sessione di stucco non riempiendo l'intera pagina ma aprendo troppo piccola
— Thomas8,
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.