Попробуйте добавить это (из /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'
Возможно, вам придется изменить «xterm», чтобы он соответствовал вашему $TERM
.
В termcapinfo
наборах строк is
(ininitialization строка) для любого терминала с именем , начиная с «XTerm» к последовательности эвакуации кодов. \E
представляет escape
и коды следующие:
\E[r - set scrolling region to default (full size of window)
\E[m - reset all resources (keyboard) to their initial values
\E[2J - Erase in Display (ED). 2 -> Erase All.
\E[H - set cursor position to default (1, 1)
\E[?7h - DEC Private Mode Set. 7 -> Wraparound Mode
\E[?1;4;6l - DEC Private Mode Reset. 1 -> Normal Cursor Keys; 4 -> Jump (Fast) Scroll; 6 -> Normal Cursor Mode
Замененная строка имела следующие коды:
\E[!p - Soft terminal reset
\E[?3;4l - DEC Private Mode Reset. 3 -> 80 Column Mode; 4 -> Jump (Fast) Scroll
\E[4l - Reset Mode. 4 -> Replace Mode
\E> - Normal keypad
(источник: последовательности управления XTerm )
Объяснение (и предлагаемые эквиваленты) для строки инициализации xterm не совсем точны.
Начиная со строки из описания терминала xterm:
у нас есть
Но
DECSTR
сбрасывает несколько вещей, не найденных в замене:DECCKM
,KAM
,DECKPAM
)Кроме того, он не очищает экран.
Причиной использования
DECSTR
( с 1997 года ) является сохранение размеров termcap достаточно маленькими, чтобы соответствовать пределу termcap в 1024 байта.Параметр для
screen
находится в пакете Debian; упомянутый в комментарии отчет об ошибке - Debian # 134198 - screen: имеет какую-то странную проблему эмуляции, наиболее заметную в irssi и konsole , начиная с 2002 года.screen
не распознает эту последовательность, и, кстати, KDE konssole не реализует эту последовательность, как видно в KDE # 134892 , в то же время его разработчики заявляют в KDE # 145977, что они предпочитают не использоватьTERM
значение, отличное отxterm
. Так как некоторым пользователям может понадобиться описание терминала, которое соответствует возможностям konsole, оно находится в ncurseskonsole
, например:против
При удалении паразитного четкого экрана соответствующая часть настройки экрана
так что было оставлено (кроме
DECCOLM
)\E[4l
.В
\E7
и\E8
в строке инициализации сохранить / восстановить положение курсора при настройке полей прокрутки. Как и в режиме вставки, некоторые пользователи заметят отсутствие этой функции.DECCOLM
Смысл настройки заключается в том, чтобы подавить переключение (столбец 80/132), и работа с урезанной и довольно старой настройкой экрана может не работать, а также адаптироваться к описанию терминала, написанному для терминала.Дальнейшее чтение:
источник