Может ли прокрутка колесика мыши работать в сеансе Screen?

56

Есть ли способ использовать колесо мыши для прокрутки выходных данных screenсеанса?

Я могу использовать клавиатуру для прокрутки предыдущего выхода screenпосле нажатия ctrl+a [. Возможно ли это сделать с помощью колесика мыши?

(Я использую putty, но я не думаю, что это puttyпроблема, я считаю, что это screenпроблема.)

Kristi
источник
3
Вы должны указать PuTTY отправлять события колесика мыши в терминал, а не хранить их для себя. (Я не знаю, возможно ли это, но проверьте руководство, оно довольно хорошее.)
Жиль: «Так, перестань быть злым»
Даже в обычном терминальном сеансе screenпрокрутки у меня не получалось нормально работать за пределами screen«режима копирования». Я думаю, что это ограничение программы, а не проблема Windows / Putty, но я могу ошибаться.
Нафтули Кей
Наше любопытство, вы, ребята, пробовали то же самое tmux?
Калеб
@Caleb: колесо мыши tmuxработает как шарм (хотя я не пробую его из шпаклевки, у меня нет окон :))
Torian

Ответы:

52

Прокрутка мышью и лифты будут работать, если вы включите их в .screenrc.

Экран FAQ

Q: Моя полоса прокрутки xterm не работает с экраном.

A: Проблема в том, что xterm не разрешит прокрутку, если выбран альтернативный текстовый буфер. Стандартные определения termcap инициализируют возможности ti и te для переключения в альтернативный текстовый буфер и обратно. (Полоса прокрутки также не работает при запуске, например, 'vi'). Вы можете указать экрану не использовать эти инициализации, добавив строку termcapinfo xterm ti @: te @ в файл ~ / .screenrc.

Так что в моем .screenrc у меня есть:

termcapinfo xterm* ti@:te@

В tmux это будет что-то вроде (.tmux.conf):

set -g terminal-overrides 'xterm*:smcup@:rmcup@'
Матье
источник
7

Хотя это старый вопрос, метод, который я нашел наилучшим, который работает для меня, использует Ctrl + A + ESCкомбинацию клавиш. Это делает экран прокручиваемым. Со страницы документации:

Виртуальными терминалами на экране можно управлять, нажимая комбинацию клавиш Ctrl + A, а затем нажимая клавишу, чтобы выполнить одну из команд, указанных ниже:

Esc позволяет вам прокручивать назад и вперед в выводе вашего терминала

Вы можете найти документацию здесь

xabush_semrie
источник
1
Это хороший ответ, который указывает на встроенную функцию экрана, которая решает проблему этого вопроса без каких-либо изменений конфигурации.
Хьюберт Перрон
2
Стоит отметить, что режим копирования (Ca, ESC) приостанавливает любой запущенный в данный момент процесс в окне, в котором он использовался: superuser.com/questions/220139/…
K. Carpenter,
2

Это не окончательное решение, если вы используете это

termcapinfo xterm* ti@:te@

тогда поддержка прокрутки мыши будет нарушена внутри vim, т.е. mouse=vi

Ван Сюаньцун
источник
Можно ли было бы отредактировать .screenrcтак, чтобы при входе vimэто отключалось и снова включалось при выходе?
fbence
ну, это приемлемо, так как я почти не использую прокрутку мыши в vim
andrej
1

То, что предложил Жиль, вероятно, лучший ответ, если это возможно сделать.

Если это не так, обходной путь, который должен сработать, заключается в использовании элемента управления x-mouse для отправки клавиш со стрелками вверх и вниз при прокрутке мыши. Я никогда не использовал экраны с замазкой, но я использовал эту установку для замазки в окнах, чтобы иметь возможность прокручивать текстовый файл с помощью vi или nano. У меня были настроены разные профили, один для прокрутки 3 строки и один для прокрутки 1 строки.

AsherMaximum
источник
Когда я использую vim, мне нужно set mouse=aвключить прокрутку мышью. Это работает в замазке без использования экрана, но не работает при использовании экрана. Как настроить управление x-мышью?
Кристи
просто зайдите на сайт и загрузите программное обеспечение, это само за себя. Это приложение с графическим интерфейсом.
AsherMaximum
1

Колесо прокрутки мыши хорошо работает, например, с elinks, работающими внутри экрана, который, в свою очередь, работает внутри терминала gnome, так что это действительно возможно. В лотке с замазкой это не так, хотя.

ЦУС
источник