Используя экран, команды вроде меньше, и человек не очищает экран потом

15

В отличие от этого вопроса я хочу очистить экран снова для less. Он отлично работает в моем xtermтерминале под Cygwin / Mintty или Gnome Terminal (оба xterm).

Однако в screenсеансе очистка экрана как-то отключена. Я пробовал несколько вещей, как

screen -T xterm

или положить заявление автонукэ в моем ~/.screenrc. Также внутри сеанса экрана

export TERM=xterm
tset

не имеет никакого эффекта Итак, теперь у меня нет идей. Любая помощь приветствуется.

Boldewyn
источник
хм, я вижу то же самое на Cygwin / mintty, Debian / putty, Ubuntu / putty. в замазке я использую замазку в качестве СРОКА вместо xterm, но это единственная реальная разница.
шарлатан-кихот

Ответы:

21

Вы, вероятно, хотите избежать screen -Tили сбросить TERM от его значения по умолчанию во время сеансов экрана (это должно быть screenили, по крайней мере, то, что начинается с screen).

Попробуйте добавить следующую строку в ваш .screenrc:

altscreen on

Чтобы активировать его для каждой сессии, вы можете сделать Control+ a: altscreen on Return.

Моя справочная страница говорит:

Altscreen включен | выключен

Если установлено значение on, поддержка «альтернативного экрана» включена в виртуальных терминалах, как и в xterm. Начальная настройка выключена.

Кстати, я объяснил причину «очистки экрана» (на самом деле альтернативный / обычный обмен экрана) в другом ответе. Возможно, ваша screenзапись terminfo отсутствует smcup/ rmcupили ваш экран не поддерживает альтернативные экраны. Оба из них кажутся менее вероятными, чем altscreenбыть выключенными.

Крис Джонсен
источник
Я прочитал ваше объяснение alt-screen несколько дней назад и понял, что это связано. спасибо за отличные рецензии - я помещаю это в мой .screenrc прямо сейчас.
шарлатан-кихот
Я использую Mac, и у меня нет команды altscreen. Любой другой способ сделать это?
Дана
2
@ Дана: Какая версия экрана ( screen --version)? Кажется, altscreenэто было с экрана 3.9.13. Основываясь на opensource.apple.com , похоже, что версия экрана в комплекте с Apple была более новой, чем 3.9.13, начиная с 10.3. Напоминаем, что это не обычная «команда оболочки», а команда, специфичная для экрана ; он должен быть введен на экране «запрос двоеточия» (Control + a, затем :altscreen on, затем Return).
Крис Джонсен