Змусити екран GNU повернутися до поточної ширини терміналу при повторному вкладанні?


32

Я хотів би змусити GNU-екран повернутися до існуючої ширини терміналу, коли я знову приєднаю сеанс. Мені здається, це справно працювало до того, як я модернізував машину до CentOS 6, але не можу зрозуміти, як її відновити. ( TERM=xterm)

Щоразу, коли я повторно приєдную сеанс, незалежно від стану, коли я його від'єднав, він запускається в 80 стовпців, змінюючи розмір мого терміналу (у даному випадку PuTTY) разом із ним.

Я запускаю і повторюю зв'язок із:

screen -aA -R <session>

Мій .screenrc містить лише наступні та декілька невідповідних прив’язок ключів:

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

Можливо, вам пощастить tmux, я можу динамічно змінити розмір вікна терміналу і наступний tmux всередині.
номер5

Відповіді:


38

після повторного приєднання ctrl-a Fвиконується команда "fit" для зміни розміру поточного вікна. якщо ви повторно застосуєте за допомогою -Aпараметра, він повинен змінити розмір усіх вікон під час повторного введення. Чи є ще приєднані до екранного сеансу, коли ви вкладаєте? Наприклад, чи потрібно використовувати -x для повторного приєднання замість -r? ви можете від'єднати інших, коли ви повторно додаєте "screen -D -r" замість "screen -x", і я очікую, що це автоматично перезавантажить Windows.


Я запускаю -a -A, і більше ніхто не прив’язаний.
Майкл

1
Це все ще проблема з екраном через Ubuntu 14.04. Fit не працює. Відключення та повторне підключення робить. Екран 4.2.1 доступний з надійних опор . Дивіться документацію Backports користувача для отримання інформації про включення і використання пакетів з репозиторію Backports.
Грег Белл

1
Навіть зробивши це, мені довелося змінити розмір вікна свого терміналу, щоб надіслати будь-який сигнал, screenнеобхідний для дійсної зміни розміру.
krs013

Ці проблеми для мене не спрацювали, можливо, тому, що я використовую інший термінал (iTerm2 на Mac). Fit не спрацював, тому я від'єднався та приєднався, використовуючи screen -D -rта навіть спробував змінити розмір вікна, але він залишився колишнім. columnsПеребуваючи у Vim, я можу побачити, що це було встановлено 204.
haridsv

screen -D -r працював на мене після спробу всіх інших варіантів, як ви сказали, Stew - мій екран все ще відображався як прикріплений, коли я запускав екран -ls
Hayden Crocker

8

Зауважте, що ця відповідь стосується лише PuTTY. Я теж змушений використовувати операційну систему, чого я б не хотів, і PuTTY - єдиний реальний варіант через інші обмеження в системі. У мене була та сама проблема, мій екран змінить розмір екрана після ініціювання або підключення до існуючого екранного сеансу. Тут я спробував відповіді безрезультатно (Windows 10 з PuTTY 0.67, встановленими через MSI). Ці відповіді, можливо, працювали зі стандартним терміналом UN * X, але не з PuTTY, це інша звістка.

Я пішов копати параметри, і ось у розділі "Термінал -> Особливості" є опція з написом "Вимкнути зміни дистанційного керування терміналом". Поставте прапорець, застосуйте налаштування та повторіть спробу екрана. Я думаю, ви знайдете проблему вирішеною.


KiTTY - це значно краща заміна PuTTY для тієї ОС, яку ви змушені використовувати ...
Anubioz

5

Спробуйте додати це (від / etc / screenrc) до ~ / .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
У MPutty це остаточно вирішує сеанс шпаклівки, не заповнюючи всю сторінку, але відкривається занадто мало
Thomas8
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.