4

Я использую Mac OS X в качестве рабочей станции. С iTerm2 я подключаюсь к удаленному хосту (Ubuntu Server) с помощью этой команды:

ssh -t user@host screen -D -R -R

Но я не могу заставить колесо прокрутки работать правильно, особенно при использовании разделенных окон. Когда я прокручиваю вверх, я ожидаю увидеть буфер прокрутки текущего разделенного окна; вместо этого весь буфер прокрутки iTerm2 увеличивается, показывая часть вывода команд перед ssh .

termcapinfo xterm* ti@:te@ в ~/.screenrc , как предлагается здесь , как в локальных, так и в удаленных домашних каталогах, не меняет поведение.

Переменная окружения TERM - xterm-256color в обеих консолях.

3 ответа3

3

Соответствующая публикация терминала Mac OS X и прокрутки экрана GNU, по сути, советует вам отменить переключение на альтернативный экран xterm. Находясь на альтернативном экране, вы не обязательно сможете использовать колесо прокрутки, чтобы увидеть прокрутку xterm . Программа, запущенная в xterm , увидит escape-последовательности только в том случае, если она разрешит протокол мыши xterm.

По умолчанию screen не делает этого. У него есть настройка, которая включает протокол мыши, называемый mousetrack:

Эта команда определяет, будет ли screen следить за щелчками мыши. Когда эта команда включена, области, которые были разделены различными способами, могут быть выбраны, указывая на них мышью и щелкая левой кнопкой мыши по ним. Без указания включения или выключения отображается текущее состояние. Состояние по умолчанию определяется командой "defmousetrack" .

Но

  • это довольно новая функция (упоминается в Mouse на screen (1) на консоли Linux?)
  • его описание не намекает на то, что это поможет с прокруткой в окне

Вместо этого (см. Первую пару ссылок) некоторые пользователи изменили конфигурацию xterm для отправки экранных команд в результате вращения колеса прокрутки. Недостатком этого является то, что он работает только для комбинации xterm+screen.

1

Я тоже пытаюсь это понять. До сих пор я узнал, что добавление этой строки termcapinfo:

termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007:ti@:te@'

и удаление моей строки состояния:

# change the hardstatus settings to give an window list at the bottom of the
# screen, with the time and date and with the current window highlighted
#hardstatus alwayslastline
#hardstatus string '%{= kG}[ %{G}%H %{g}][%= %{= kw}%?%-Lw%?%{r}(%{W}%n*%f%t%?(%u)%?%{r})%{w}%?%+Lw%?%?%= %{g}][%{B} %m-%d %{W}%c %{g}]'

заставит прокрутку мыши работать с экраном внутри iTerm2.

Но я хочу, чтобы моя строка состояния :(

0

Согласно этой статье у меня работает следующая команда.

$ defaults write com.googlecode.iterm2 AlternateMouseScroll -bool true

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .