Existe uma maneira de usar mosh
sem abrir mão do scrollback local?
Basicamente, em algumas circunstâncias, o roaming de IP é realmente útil e necessário, mas a emulação de terminal extra e a previsão de chaves parecem estar apenas se livrando das linhas de buffer de rolagem local e do histórico da sessão.
Respostas:
Filippo Valsorda tem uma solução para o OS X que incorpora o iTerm 2, tmux e mosh .
Sua solução usa uma única janela / guia para conectar-se a um shell remoto. O shell sobrevive a desconexões (por exemplo, falha de conexão, alterações de IP, reinicializações de laptops) e suporta a rolagem com touchpad, copiar e colar e cores.
As advertências são de que você deve criar o mosh a partir da fonte, a rolagem é menos fluida que a nativa e o clique e o arrasto são retransmitidos; portanto, você deve pressionar Option para selecionar.
iTerm
Nas configurações do perfil do terminal, ative o relatório do mouse xterm e defina o tipo de terminal de relatório como xterm-256color .
tmux
Defina
~/.tmux.conf
no servidor para o seguinte. Com essas configurações, se você tentar anexar e não houver sessões, uma nova será criada. As configurações também permitem interações do mouse (e, portanto, rolagem do touchpad).Nota: No tmux mais recente (ou seja,> 2.1), conforme relatado por
tmux -V
, as várias opções do mouse (painel de redimensionamento do mouse, modo do mouse etc.) foram reescritas em uma única opçãomouse
, portanto, é necessário alterar a segunda linha acima aoset-window-option -g
mouseon
.Essa rolagem do mouse também funcionará quando você estiver no modo de rolagem do teclado (por exemplo Ctrl- bentão [), descrito no artigo Como rolar no tmux .
mosh
A construção estável do mosh é antiga e não suporta relatórios de mouse (e rolagem do touchpad). Para instalar a versão mais recente, faça o seguinte:
OS X (seu cliente)
Linux / UNIX (o servidor)
Agora, para conectar, basta digitar o seguinte:
fonte
A emulação de terminal é muito profunda no design do mosh , então não. O Mosh trabalha, mantendo o cliente e o servidor, cada um mantendo sua idéia local de como a tela atualmente "se parece" e isso exige que o servidor faça emulação de terminal. É assim que o cliente é capaz de atualizar o conteúdo da tela depois de algum tempo ausente e perdendo alguns dados.
Eu acho que um aplicativo com o recurso de roaming IP do mosh, mas sem emulação de terminal, acabaria sendo um aplicativo bastante diferente (mas mais simples). Para esse aplicativo, a perda de dados (inclusive quando o cliente fica fora da rede por algum tempo) resultaria em perda ou corrupção do conteúdo da tela. Essa é uma limitação aceitável se o usuário estiver usando um aplicativo em que isso não importa muito (por exemplo, shell) ou um aplicativo que tenha um recurso de repintar (por exemplo,
vi
usando Control-L).Os implementadores do Mosh estão planejando o suporte à rolagem no aplicativo , para compensar o fato de que o terminal local não pode mais fazê-lo. Eu acho que isso teria que funcionar um pouco como
screen
o buffer de rolagem do scrollback: controlado por pressionamentos de tecla, não barra de rolagem e mouse.fonte
O Eternal Terminal ( https://mistertea.github.io/EternalTerminal/ ) é uma alternativa ao Mosh que suporta rolagem nativa e ainda permite roaming IP. O ET não faz a previsão de digitação, portanto pode não ser adequado se você tiver uma conexão de alta latência (se estiver usando um drone ou um telefone celular), mas pessoalmente o ET faz tudo o que eu quero e suporta a rolagem.
fonte
Desmarcar "Scroll screen alternate" em Terminal-> Preferences-> Profiles-> Keyboard corrigiu isso para mim.
fonte