Когда я использую экран в сеансе PuTTY, я не могу использовать буфер прокрутки в PuTTY для просмотра всего, что прокручивается с экрана. Вместо этого я просто вижу, что происходило на сессии PuTTY перед моим рабочим экраном.
Что мне здесь не хватает? Мне нравится возможность прокрутки назад, и я не хочу использовать экранные функции для просмотра прошлого буфера; Колесо прокрутки на моей мыши не имеет крюков на экране, и я не ожидаю, что это когда-либо будет.
Спасибо!
Вы также можете проверить Screen FAQ), который допускает своего рода гибридное поведение:
Резюме: добавьте строку в ваш файл .screenrc:
termcapinfo xterm ti @: te @
Ссылка ( FAQ по PuTTY )
Эмулятор терминала PuTTY всегда придерживался политики, что при использовании "альтернативного экрана" в прокрутку ничего не добавляется. Это связано с тем, что обычные программы, использующие альтернативный экран, - это текстовые редакторы, которые часто прокручивают назад и вперед в одном и том же документе; поэтому (а) они заполнили бы прокрутку большим количеством бесполезно неупорядоченного текста, и (б) у них был свой собственный метод, позволяющий пользователю прокрутить назад до интересующего его фрагмента. Как правило, эта политика выполняется Правильная вещь почти во всех ситуациях.
К сожалению, экран является одним исключением: он использует альтернативный экран, но все же обычно полезно, чтобы прокрутка PuTTY продолжала работать. Самое простое решение - перейти на панель управления функциями и установить флажок "Отключить переключение на альтернативный экран терминала". (Подробнее см. Раздел 4.6.4.) В качестве альтернативы вы можете указать самому экрану не использовать альтернативный экран: screen FAQ предлагает добавить строку 'termcapinfo xterm ti @: te @' в ваш файл .screenrc.
Для прокрутки назад нажмите ^A
(Ctrl-A
или любой другой последовательности управления экраном, если вы переназначили ее), а затем Esc
. Это позволит вам перемещать курсор вверх и вниз. PgUp
/PgDn
позволит вам прокручивать экран вверх и вниз.
Причиной этого является способ, которым экран обрабатывает буфер прокрутки. Screen всегда рисует полную текстовую область и имеет свой собственный буфер, который вы должны контролировать с помощью screen. Это похоже на использование программ, таких как vi или joe, которые занимают всю текстовую область и предоставляют свой собственный буфер: прокрутка вверх в эмуляторе терминала просто выдает мусор, но прокрутка внутри этих программ дает ожидаемый результат.
Это из-за того, как работает экран. Экран выполняет динамическое обновление всей текстовой области, а не выдвигает новые строки в нижней части экрана, что, в свою очередь, выдвигает верхнюю строку в область прокрутки назад. Он перерисовывает весь экран, когда появляется новая строка, что предотвращает повторный просмотр данных. Та же проблема существует в "меньше", когда не используется экран.
Экран с прокруткой PuTTY автоматически работает в Solaris 10. Похоже, он выполняет то, что KnipSter сказал по умолчанию, хотя у меня нет файла .screenrc. Проблема с этим подходом состоит в том, что если вы отсоединяете и повторно присоединяете, то в PuTTY нет буфера обратной прокрутки, и вы должны прибегнуть к использованию прокрутки экрана, как описано Scagnelli.