Ponowne podłączenie ekranu (po uruchomieniu irssi) wymusza zmianę rozmiaru okna
9
Ilekroć ponownie podłączam się do mojego odłączonego ekranu (zawierającego Irssi), mój ekran Putty jest zmieniany na coś, co było podczas uruchamiania. Jeśli po tym zmienię rozmiar okna, odłącz ekran i zmień jego rozmiar z powrotem, okno zostanie ponownie przeskalowane do oryginalnego rozmiaru. Przez okno rozumiem okno Putty na moim oknie. Jak mogę wyłączyć tę funkcję?
Używanie Windows XP jako mojego lokalnego i CentOS 6.0 jako zdalnego systemu operacyjnego. Szpachlówka 0,61.
Możesz także uniemożliwić zmianę rozmiaru ekranu na zdalnych sesjach. Druga odpowiedź zapobiega temu w twojej lokalnej instalacji szpachlowej - ale co, jeśli przejdziesz na inną stację roboczą?
W każdym razie, aby zapobiec zmianie rozmiaru xterms ekranu, musisz:
Edytować /etc/screenrc
Znajdź ten fragment tekstu
# Long time I had this in my private screenrc file. But many people
# seem to want it (jw):
# we do not want the width to change to 80 characters on startup:
# on suns, /etc/termcap has :is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l:
#termcap xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
#terminfo xterm 'is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l'
Odkomentuj te dwie linie termcap, a ekran będzie się odtąd zachowywał.
Właśnie natrafiłem na ten problem, googlowałem, znalazłem tutaj odpowiedź , przetestowałem i pomyślałem, że może być przydatny dla innych.
Zauważ, że jeśli nie możesz lub nie chcesz edytować globalnej konfiguracji screenrc, ~/.screenrcwystarczy dla bieżącego użytkownika.
Kusiłbym się, aby zaznaczyć to jako zaakceptowaną odpowiedź, ale wygląda na to, że nie jestem w stanie przetestować tego, ponieważ zachowanie się skończyło ... Muszę przynajmniej głosować :)
eis
Tak! udało mi się go teraz przetestować i działa dokładnie tak, jak opisano.
eis
cieszę się, że ci się udało :)
Zlatko,
Komentarz pmodin na oryginalnej stronie naprawił tę odpowiedź w moim przypadku: musiałem ustawić ją jako „xterm *”, ponieważ moja konfiguracja szpachli używa xterm-color jako TERM.
Mikuz
nie działa dla mnie. nie mogę zmienić rozmiaru, używając 4.02.01 im również próbuję uruchomić z ekranem -AR lub dowolną kombinacją ekranu -Ar, i początkowe uruchomienie z ekranem działa dobrze, a początkowe uruchomienie ekranu -A działa dobrze, każdy odłamek go psuje. też mam to na .screenrc, który ma go sfałszować, i nie idź. escape ^aa następnie bindkey ^ad detach
Brian Thomas
12
Znalazłem odpowiedź. Ta funkcja nazywa się „zdalnym zmienianiem rozmiaru terminala” i można ją wyłączyć w Konfiguracja -> Terminal -> Funkcje -> Wyłącz zdalnie sterowane zmiany rozmiaru terminala, jak opisano w konfiguracji PuTTY .
Ale tak naprawdę nie wiem, dlaczego ponowne podłączenie ekranu zmienia rozmiar zdalnego żądania.
To działało dla mnie dobrze. Mam linię termcapinfo w moim .screenrc, która przesyła bufor przewijania wstecz. Nie rozumiem, w jaki sposób linia termcapinfo jest analizowana i nie chcę z tym zadzierać.
Morphit,
2
W przyjętej odpowiedzi brakuje wyjaśnienia tego zjawiska. Tutaj jest jeden:
Długi ciąg dla isjest ciągiem inicjującym dla terminala, który zwykle jest taki sam jak rs(używany przez reset).
Podany przykład zawiera sekwencję kontrolną, która resetuje terminal od 132 do 80 kolumn. Tą częścią jest „3” \E[?1;3;4;6l, które można podzielić na cztery elementy sterujące. Ten, który ma wpływ na szerokość \E[?3l(patrz xterm sekwencje kontrolne dla "132 Column Mode (DECCOLM)").
Tak się składa, że jest to sekwencja VT100, która została wykorzystana w opisie terminala Xterm X11R5 .
Gdy ekran się uruchamia (lub dołącza), na wszelki wypadek inicjuje terminal. To zmienia szerokość terminala.
CentOS 6 jest już trochę stary; w obecnym xtermopisie od dłuższego czasu używana jest krótsza sekwencja, która inicjuje więcej rzeczy.
Nowsza / krótsza sekwencja wygląda następująco: is2=\E[!p\E[?3;4l\E[4l\E>(zdefiniowana w xterm-basic). \E[!pJest to DECSTR, co kasuje zestawy znaków, kolor i atrybuty wideo. Starsza sekwencja tego nie zrobiła; kazanie screenjej używać działa, ale nie jest tak czyste.
Jeśli użyjesz innego TERMustawienia, dostosowanie w nie .screenrcprzyniesie żadnego efektu (ponieważ używa TERMdopasowania do konkretnego ustawienia).
W szczególności, jeśli używasz czegoś podobnego xterm-256color, możesz ponownie zauważyć to samo zachowanie.
escape ^a
a następniebindkey ^ad detach
Znalazłem odpowiedź. Ta funkcja nazywa się „zdalnym zmienianiem rozmiaru terminala” i można ją wyłączyć w Konfiguracja -> Terminal -> Funkcje -> Wyłącz zdalnie sterowane zmiany rozmiaru terminala, jak opisano w konfiguracji PuTTY .
Ale tak naprawdę nie wiem, dlaczego ponowne podłączenie ekranu zmienia rozmiar zdalnego żądania.
źródło
W przyjętej odpowiedzi brakuje wyjaśnienia tego zjawiska. Tutaj jest jeden:
is
jest ciągiem inicjującym dla terminala, który zwykle jest taki sam jakrs
(używany przezreset
).\E[?1;3;4;6l
, które można podzielić na cztery elementy sterujące. Ten, który ma wpływ na szerokość\E[?3l
(patrz xterm sekwencje kontrolne dla"132 Column Mode (DECCOLM)"
).xterm
opisie od dłuższego czasu używana jest krótsza sekwencja, która inicjuje więcej rzeczy.is2=\E[!p\E[?3;4l\E[4l\E>
(zdefiniowana wxterm-basic
).\E[!p
Jest toDECSTR
, co kasuje zestawy znaków, kolor i atrybuty wideo. Starsza sekwencja tego nie zrobiła; kazaniescreen
jej używać działa, ale nie jest tak czyste.TERM
ustawienia, dostosowanie w nie.screenrc
przyniesie żadnego efektu (ponieważ używaTERM
dopasowania do konkretnego ustawienia).xterm-256color
, możesz ponownie zauważyć to samo zachowanie.źródło