Вопрос или проблема
Я хотел бы подключиться к сеансу/приложению терминала, работающему на другом компьютере, но без использования мультиплексоров терминала, таких как tmux или screen. Мне не нужны разделенные окна или совместное использование терминала с другими. У меня также были проблемы с цветами и другими вещами при использовании tmux/screen с vim.
Другими словами: мне просто нужно переподключиться к моему vim через ssh как можно проще, не задумываясь об этом заранее. Мне не нужен дополнительный уровень сопоставления клавиатуры…
Есть ли способ сделать это?
dtach — это программа, написанная на C, которая эмулирует функцию отсоединения в screen
Если вы хотите справиться с ненадежными соединениями, попробуйте mosh
:
Если вы просто хотите больше сеансов терминала и функцию отсоединения/переподключения, попробуйте byobu
:
Для возможного более простого мультиплексора попробуйте dvtm
:
Еще один вариант, написанный на Rust — это zellij
: https://github.com/zellij-org/zellij
Я использовал Eternal Terminal с отличными результатами. Это не эквивалент screen
или tmux
, а mosh, как предложено в одном из ответов. Просто подключитесь к своему серверу с помощью et
вместо ssh
или mosh
и испытайте все так, как если бы вы использовали обычный терминал. Вы можете прокручивать вверх/вниз с помощью колеса или выделять/копировать/вставлять тексты, точно так же, как если бы вы использовали ssh. Прокрутка истории также работает. Ни один из этих вариантов не удовлетворяет полностью ни одному из мультиплексоров терминала. Даже если сеть отключится или переключится на Wi-Fi/ethernet, он все равно автоматически переподключится.
Недостаток в том, что пока нет функции переподключения. Вам нужно сохранять свою сессию в терминале, и она будет продолжать работать навсегда, как mosh. И из-за этого вам также нужно убить сеанс сервера, если ваш ПК завис или клиент был принудительно закрыт.
Ответ или решение
Существуют несколько простых альтернатив для tmux и screen, которые могут помочь вам подключиться к терминальной сессии, не используя терминальные мультиплексоры.
-
dtach — это программа на C, которая эмулирует функцию отсоединения, аналогично screen. Это легковесный вариант, который позволяет вам отключаться от сессии и снова подключаться к ней без излишних настроек. Вы можете узнать больше об этом проекте по следующей ссылке: dtach на GitHub.
-
mosh (Mobile Shell) — это отличный выбор для работы с ненадежными соединениями. Он автоматически восстанавливает соединение, если связь потеряна, и обеспечивает более плавную работу по сравнению с обычным SSH. Mosh позволяет вам продолжать работу даже при смене сетей. Узнать больше можно на официальном сайте: mosh.org.
-
Eternal Terminal — еще одна удобная альтернатива, которая обеспечивает функциональность, схожую с mosh. Вы можете подключаться к своему серверу, используя команду
et
вместоssh
. Eternal Terminal поддерживает прокрутку истории, выделение и копирование текста, как в обычном терминале, и автоматически повторно подключается к сессии после потери соединения. Узнать больше можно на странице проекта: Eternal Terminal. Однако обратите внимание, что в Eternal Terminal нет функции повторного подключения, вы должны поддерживать сессию открытой. -
byobu — это еще один инструмент, который добавляет удобные функции управления сессиями, однако это всё же своего рода мультиплексор. Он предоставляет более интересные возможности и удобства относительно tmux и screen. Вы можете ознакомиться с ним здесь: byobu.org.
-
dvtm (dynamic virtual terminal manager) — это более простой мультиплексор, который также стоит рассмотреть, если вам нужны некоторые из функций, которые имеют tmux и screen, но в более упрощенной форме. Более подробно можно узнать здесь: dvtm.
-
zellij — это новый терминальный мультиплексор, написанный на Rust, который предлагает современный интерфейс и может быть более простым в использовании. Подробнее об этом можно найти на странице проекта на GitHub: zellij на GitHub.
Выбор зависит от ваших предпочтений и требований к функциональности. Попробуйте несколько из этих альтернатив и выберите ту, которая наилучшим образом соответствует вашим нуждам.