Сделать экран работать как терминал (прокрутка + альтернативный экран)

Я хотел бы использовать screen (от терминала GNOME, через ssh ), как я использую терминал GNOME без screen или как можно ближе к нему. В частности:

В терминале GNOME я могу прокручивать назад с помощью колеса мыши, полосы прокрутки или Shift + PgUp / PgDn . На screen мне нужно перейти в режим копирования ( Ctrl + A , [ ), чтобы иметь возможность прокручивать назад (после этого работает колесо мыши). Изменение поведения прокрутки (см. Этот ответ и этот ответ ), но это решение имеет следующие недостатки :

  1. Когда я открываю файл с less или vim , я могу прокрутить над «окном» редактора с помощью колеса мыши и увидеть предыдущее содержимое терминала.
  2. Когда я закрываю редактор, его содержимое остается в буфере прокрутки (иногда в нескольких экземплярах) вместо исчезновения.

Это поведение можно изменить с помощью altscreen on (см. Этот ответ ), но единственным эффектом является то, что когда редактор закрыт, содержимое старого терминала добавляется в буфер прокрутки в моем окне терминала, поэтому я все еще могу видеть редакторское дерьмо, когда я прокручиваю назад, используя мое колесо мыши.

Означает ли это, что не может быть приятной прокрутки screen ? В принципе, все, что мне нужно, это прокрутка, как в режиме копирования (с помощью колеса мыши и полосы прокрутки, если это возможно), но без необходимости вводить режим копирования.

One Solution collect form web for “Сделать экран работать как терминал (прокрутка + альтернативный экран)”

Возможно, у вас не может быть того, о чем вы просите.

С точки зрения терминала:

  • screen – полноэкранное (без каламбуры) приложение, подобное vi или less .
  • терминал реализует прокрутку и альтернативный экран.
  • когда терминал находится в режиме альтернативного экрана, он не добавляет к своей области прокрутки, как в обычном режиме.
  • в gnome-terminal (и, возможно, некоторые другие – опция в xterm), терминал будет отправлять клавиши со стрелками вверх / вниз в приложение, когда он находится в режиме альтернативного экрана.
  • когда вы не находитесь в альтернативном режиме экрана, ваш терминал будет прокручивать видимый экран и зону прокрутки терминала без уведомления о запуске приложения внутри него.

С screen :

  • screen ничего не знает о мыши или прокрутке; он передает эту информацию в приложение, запущенное внутри screen .
  • screen имитирует альтернативный экран; он не имеет доступа к альтернативному экрану терминала.
  • вы можете отключить функцию альтернативного экрана терминала, как указано в вопросе.

Короче говоря, поскольку screen не имеет никакого способа получить доступ к прокрутке терминала, ваши доступные варианты – это те, которые предоставляет терминал.

Linux и Unix - лучшая ОС в мире.