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.