Есть ли способ использовать, mosh
не отказываясь от локального прокрутки?
По сути, в некоторых случаях IP-роуминг действительно полезен и необходим, но дополнительная эмуляция терминала и предсказание ключа, похоже, избавляют только от локальных строк буфера прокрутки и истории сеанса.
Ответы:
Филиппо Валсорда имеет решение для OS X, которое включает в себя iTerm 2, tmux и mosh .
Его решение использует одно окно / вкладку для подключения к удаленной оболочке. Оболочка выдерживает разъединения (например, сбой соединения, изменение IP-адреса, перезагрузка ноутбука) и поддерживает прокрутку с помощью сенсорной панели, копирования-вставки и цветов.
Предостережения заключаются в том, что вы должны создавать mosh из исходного кода, прокрутка менее плавная, чем в нативном режиме, и перетаскивание по нажатию кнопки мыши передается, поэтому вы должны удерживать Option для выбора.
Iterm
В настройках профиля терминала включите отчеты мыши xterm и установите тип терминала отчета xterm-256color .
tmux
Установите
~/.tmux.conf
на сервере следующее. С этими настройками, если вы попытаетесь подключиться и сеансов не будет, будет создан новый. Настройки также включают взаимодействие с мышью (и, следовательно, прокрутку сенсорной панели).Примечание. В более поздних версиях tmux (т. Е.> 2.1), как сообщается
tmux -V
, различные параметры мыши (mouse-resize-pane, mouse-mode и т. Д.) Были переписаны в один параметрmouse
, поэтому необходимо изменить вторую строку. выше, вместоset-window-option -g
мышиon
.Эта прокрутка мыши также будет работать, когда вы находитесь в режиме прокрутки клавиатуры (например, Ctrl- bзатем [), описанном в статье Как прокручивать в tmux .
мош
Стабильная сборка mosh старая и не поддерживает создание отчетов с помощью мыши (и прокрутку сенсорной панели). Чтобы установить последнюю версию, сделайте следующее:
OS X (ваш клиент)
Linux / UNIX (сервер)
Теперь, чтобы подключиться, просто введите следующее:
источник
Эмуляция терминала запекается довольно глубоко в дизайне mosh , так что нет. Mosh работает так, чтобы клиент и сервер поддерживали свое локальное представление о том, как экран в данный момент «выглядит», и для этого требуется, чтобы сервер выполнял эмуляцию терминала. Таким образом, клиент может обновить содержимое экрана после того, как он некоторое время отсутствовал и потерял некоторые данные.
Я думаю, что приложение с функцией роуминга IP в mosh, но без эмуляции терминала, оказалось бы совсем другим (но более простым) приложением. Для такого приложения потеря данных (в том числе, когда клиент не подключен к сети в течение некоторого времени) может привести к потере или повреждению содержимого экрана. Это приемлемое ограничение, если пользователь использует приложение, в котором это не имеет большого значения (например, оболочка), или приложение, которое имеет функцию перекраски (например,
vi
используя Control-L).Разработчики Mosh планируют поддержку прокрутки в приложении , чтобы компенсировать тот факт, что ваш локальный терминал больше не может это делать. Я думаю, что это должно работать немного как
screen
буфер прокрутки, хотя: контролируется нажатиями клавиш, а не полосой прокрутки и мышью.источник
Вечный терминал ( https://mistertea.github.io/EternalTerminal/ ) является альтернативой Mosh, которая поддерживает встроенную прокрутку и по-прежнему допускает IP-роуминг. ET не делает прогнозирование ввода, поэтому он может не подходить, если у вас соединение с высокой задержкой (если вы подключаетесь к дрону или с мобильного телефона), но лично ET делает все, что я хочу, и поддерживает прокрутку.
источник
Сняв флажок «Пролистать альтернативный экран» в Терминале-> Настройки-> Профили-> Клавиатура, я это исправил.
источник