Eu uso o GNU Screen o tempo todo no OS X, rodando principalmente no lado do servidor de minhas conexões SSH, a fim de manter a persistência, enquanto multitarefa. A beleza é que, se eu for desconectado, todas as minhas telas virtuais serão retomadas, quase sem trabalho. Tenho certeza que todos nós sabemos disso.
Minha queixa constante não é ser capaz de retroceder em cada uma das minhas telas virtuais com Shift + PgUp e meu touchpad. Estou ciente da alteração das configurações que corrige esse problema se você não alternar telas em uma sessão, mas cada tela não mantém seu próprio histórico separado, como as guias no Terminal. Obviamente, para fazer isso, a tela teria que armazenar uma tonelada de dados e canalizá-la sobre a sua conexão toda vez que você alternar. Desperdício e a latência seria horrível.
O que funcionaria é algum tipo de cliente inteligente do lado do cliente para a instância remota do Screen ou do tmux, algo que gerencia de forma inteligente o scrollback de cada tela virtual separadamente. Existe tal solução lá fora? Poxa, até mesmo uma maneira simples de gerenciar localmente várias sessões ssh para o mesmo servidor, cada uma com Tela sendo executada (com apenas uma tela virtual) seria uma grande melhoria, mas apenas se Funcionasse como a tela -d -r, mas não consigo pensar em uma maneira de tornar isso transparente. Outra opção em potencial seria um programa terminal que poderia fazer automaticamente conexões SSH com uma nova sessão de tela única / tmux nomeada, e lembrar de conjuntos de sessão para que todos pudessem ser facilmente retomados.