2013-09-18 3 views
4

Я настраиваю экран GNU в среде cygwin. Повторная настройка на самом деле - она ​​всегда работала до этого, и когда я обновился до cygwin-64, то одни и те же файлы конфигурации дают мне неожиданное поведение.Экран GNU: вывод, который заставляет экран прокручивать листья мусора в нижней части окна

Что происходит, когда всякий раз, когда я что-то делаю в терминале, который переполняет весь экран, терминал не прокручивается. Вместо этого каждая новая строка «перезаписывает» последнюю в нижней строке окна. Даже когда процесс завершен, если я CTRL + l, на последних трех линиях терминала остается куча мусора. Кроме того, когда я использую программу, которая занимает весь экран, такой как vim или irssi, строка «caption» исчезает.

Я подозреваю, что между настройками xterm и «term» экрана отображается некоторое расхождение, но я немного здесь в море, и, как я уже сказал, все те же файлы конфигурации отлично работали (и отлично работают на других машины - как cygwin, так и родной linux). Может ли кто-нибудь рекомендовать способ заставить мой любимый экран снова себя вести?

Вот мой .screenrc:

shell /bin/bash 

screen -t bash 0 

select 0 

escape ^Zz # Instead of Control-a, make the escape/command character be Control-z 

autodetach on # Autodetach session on hangup instead of terminating screen completely 

startup_message off # Turn off the splash screen 

defscrollback 30000 # Use a 30000-line scrollback buffer 

nethack on 

# Misc h4x to make scrollback work 
terminfo * [email protected]:[email protected] 
termcapinfo xterm|xterms|xs|rxvt ti=\E7\E[?47l 

# Bells are annoying 
bell_msg '' 
vbell off 

caption always '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %d/%m %{W}%c %{g}]' 
+1

У меня также были проблемы с терминами с помощью экрана GNU под Cygwin64. Последняя строка (нижняя строка) также не отображалась при использовании экрана GNU и mintty. Поэтому я установил обратно 32-разрядную версию (setup-x86.exe), и терминал снова был в порядке. –

ответ

0

Я отвечаю на свой вопрос здесь, потому что, хотя ответ @Keith Thompson устраняет симптом проблемы, он не удерживает симптом. Он поставил меня на правильный путь, который должен был установить пакет xterm в cygwin-64. Это, похоже, решило проблему.

3

Вы работаете screen под xterm (что-то я все время сам). Процесс screen «знает», насколько большой терминал, но эта информация может быть несовместимой с реальностью. Я нахожу, что это случается очень часто, когда я запускаю screen -dr из другого окна.

Изменение размера окна xterm приводит к отправке сигнала SIGWINCH в процесс, выполняющийся под ним, что обычно заставляет этот процесс повторно запрашивать параметры tty.

Дважды нажмите кнопку увеличения. Если вы уже достигли максимума, это восстановит его до нормального окна, а затем повторно увеличит его; если он еще не максимизирован, он сделает все наоборот. В любом случае он должен вызвать screen, чтобы пересчитать размер окна.

+0

Это делает экран нормальным после факта, но даже после этого команды, которые выводят более чем экранный прогон в нижнюю строку, а затем непрерывно записываются в последнюю строку. – PaulBurton0

1

Сегодня я столкнулся с такой же проблемой. Спасибо всем за хедз-ап. Окончательное решение, которое я выяснил, заключается в том, что для определения типа типа монетного двора нужно: vt220. В «xterm» должно быть что-то не так. После этого все хорошо.

0

Я понизил версию экрана до версии экрана 4.02.01 (GNU) 28-Apr-14, и это сработало.

Смежные вопросы