3

Screen и tmux (как и emacs) - это многофункциональные терминальные мультиплексоры, разработанные, чтобы позволить вам эффективно управлять терминалами, как будто это был 1985 год, но они просто усложняют простую задачу возобновления сеанса ssh, на котором вы остановились после переключения сетей и т.д.

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

Все, что я хочу (и полдюжины других людей на этом сайте, которые не знают достаточно, чтобы дать понять, что они не хотят tmux), это ssh wrapper/clone, который продолжает работать после разъединения (переподключения при нажатии клавиши) и Оболочка / клон sshd, которая просто буферизует весь вывод при отключении и передает его при повторном подключении.

Самое близкое, что я видел, это Мош, но как это сложно? В каждом ssh-соединении должен быть уникальный идентификатор (если ничто другое не использует хеш сессионного ключа), а протокол tcp означает, что sshd/ssh (или используемые ими буферы ядра) должны сохранять каждый непакетированный пакет, отправленный перед ssh/sshd решает, что время соединения истекло. По истечении времени ожидания sshd может просто сохранить содержимое непакетированных пакетов и любые новые данные, отправленные термину, и передать их клиенту, подключенному с соответствующим идентификатором.

Возможно ли (или такая опция уже существует) добавить опцию / оболочку с таким поведением (как бы она ни реализована) в ssh? Конечно, он не будет обрабатывать необычные ситуации, такие как изменение размера термина между тайм-аутом и переподключением, но он будет делать то, что все хотят, разрешить мне переподключиться к предыдущему сеансу ssh без перепутывания прокрутки назад, истории и т.д. И т.д. И т.д.

0