Использовать Mosh, не бросая локальный scrollback / история?

Переменная $0 содержит название программы. Сделать

cd $(dirname $( readlink $0) )

измениться на каталог, в котором находится программа.

Да, $0 может быть проблематичным, если используется в общей ситуации. Я думаю, что с помощью него для собственная работа в конкретной ситуации, где набор ясно определяется, прекрасна.

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

65
06.10.2017, 16:28
4 ответа

Эмуляция терминала запечена довольно глубоко в конструкции мош , так что нет. Мош работает так, что и клиент, и сервер поддерживают свое локальное представление о том, как "выглядит" экран в данный момент, а это требует от сервера выполнения терминальной эмуляции. Таким образом, клиент может обновить содержимое экрана после того, как он ненадолго ушел и потерял некоторые данные.

Я думаю, что приложение с функцией IP-роуминга от mosh, но без терминальной эмуляции, в конечном итоге будет совсем другим (но более простым) приложением. Для такого приложения потеря данных (в том числе, когда клиент некоторое время находится вне сети) привела бы к потере или повреждению содержимого экрана. Это допустимое ограничение, если пользователь использует приложение, где это не имеет большого значения (например, shell), или приложение, которое имеет возможность перерисовки (например, vi с помощью Controll-L).

Реализующие Mosh планируют поддержку прокрутки в приложении , чтобы компенсировать тот факт, что ваш локальный терминал больше не может этого делать. Наверное, это должно было бы немного сработать как буфер прокрутки screen, хотя: управляется нажатием клавиш, а не полосой прокрутки и мышью.

15
27.01.2020, 19:32

Филиппо Вальссорда имеет решение для ОС X, которое включает в себя ITERM 2, TMUX и MOSH .

Его решение использует одно окно / вкладка для подключения к удаленной оболочке. Оболочка выживает отключение (например, отказ подключения, изменения IP, перезагрузки ноутбука) и поддерживает Scrollback с помощью сенсорной панели, копирования-пасты и цвета.

Предостережения.

  • ITERM

    В настройках профиля терминала Включить репутацию мыши Xterm и установить тип клеммы отчета в xterm-256Color .

  • Набор TMUX

    ~ / .tmux.conf на сервере к следующему. С этими настройками, если вы попытаетесь прикрепить, и нет сеансов, создается новый. Настройки также включают в себя взаимодействия мыши (и, таким образом, сенсорный прокрутку).

     Новая сессия
    Set-Option-Option -G Mode-Mouse на
    Set -G история-предел 30000
     

    Примечание. На более поздних TMUX (IE> 2.1), как сообщает TMUX -V , различные параметры мыши (мыши-резовизионные панели, мыши и т. Д.) были переписаны Один вариант мышь , поэтому вы должны изменить вторую строку выше на Set-Option-Option -G мыши на вместо этого.

    Этот свиток мыши также будет работать, когда вы находитесь в режиме прокрутки клавиатуры (например, Ctrl - B [ [), описанный в статье Как прокрутить в TMux .

  • Mosh

    Устойчивая сборка Mosh старая и не поддерживает отчету мыши (и прокрутки сенсорных панелей). Чтобы установить последнюю версию, выполните следующие действия:

    OS X (ваш клиент)

     Brew install install mobile-shell
     

    Linux / Unix (сервер)

     GIT Clone https://github.com/keithw/mosh.git
    CD Mosh /
    Sudo APT-Get Build-Dep Mosh
     ./autogen.sh && ./configure && make
    Sudo сделать установку
     

Теперь, чтобы подключиться, просто введите следующее:

mosh HOST -- tmux a
45
27.01.2020, 19:32

Снятие флажка «Прокрутка альтернативного экрана» в Терминале-> Настройки-> Профили-> Клавиатура исправило это для меня.

1
27.01.2020, 19:32

Eternal Terminal ( https://mistertea.github.io/EternalTerminal/ ) - альтернатива Mosh, которая поддерживает собственную прокрутку и по-прежнему разрешает IP-роуминг. ET не выполняет прогнозирование набора текста, поэтому он может не подходить, если у вас соединение с высокой задержкой (если вы используете ssh-соединение с дроном или с мобильного телефона), но лично ET делает все, что я хочу, и поддерживает прокрутку.

5
27.01.2020, 19:32

Теги

Похожие вопросы