Ajuda
Como o Termavox cuida das suas sessões, o que cada status e aviso quer dizer, e onde fica cada coisa.
Nesta página
O essencial
A sessão mora no Termavox, não no navegador. O Termavox mantém cada sessão aberta no servidor dele. O navegador só mostra a sessão: feche a aba, desligue o notebook ou troque para o celular, e ao voltar o terminal está exatamente como você deixou, com o vim ou o htop ainda rodando.
- Fechar não encerra
- Fechar uma aba, um painel ou o navegador só desconecta a tela. A sessão continua rodando até você usar Encerrar.
- Protegida aguenta quedas
- Com o tmux no servidor, a sessão sobrevive a quedas de rede e a reinícios do Termavox. O escudo ao lado dela diz se é protegida.
- O tmux fica invisível
- O Termavox usa o tmux por baixo, sem barra de status nem tecla de prefixo. A rolagem, a seleção e a cópia são as do navegador.
O que acontece quando…
Duas sessões no mesmo servidor podem reagir de forma diferente à mesma queda. Depende de a sessão ser protegida (escudo cheio) ou sem proteção.
| Situação | Protegida | Sem proteção |
|---|---|---|
| Você fecha a aba, o navegador ou o notebook | ProtegidaContinuaA sessão segue rodando. Ao voltar, a mesma tela, na hora. | Sem proteçãoContinuaIgual: fechar o navegador nunca afeta uma sessão. |
| A sua internet cai | ProtegidaContinuaUma faixa avisa “Sem conexão, tentando de novo”. Quando a conexão volta, a tela se atualiza. | Sem proteçãoContinuaIgual: a sessão roda no Termavox, não no seu computador. |
| Cai a conexão entre o Termavox e o servidor | ProtegidaContinua“Reconectando…”: o Termavox reconecta e reconstrói a mesma tela e o histórico. Os programas não pararam no servidor. | Sem proteçãoShell novoO shell e os programas dele se perdem. Um shell novo abre no mesmo terminal, abaixo de uma linha de aviso, com o histórico anterior ainda visível. |
| O Termavox reinicia ou é atualizado | ProtegidaContinua“Restaurando…” por alguns segundos, e a mesma tela volta. | Sem proteçãoShell novoO shell e a tela anterior se perdem. Um shell novo abre com uma linha de aviso. |
| O servidor reinicia | ProtegidaShell novoO tmux não sobrevive a um reboot. Na reconexão começa um shell novo, e o painel avisa “O servidor reiniciou”. | Sem proteçãoShell novoComo uma queda de conexão: um shell novo, com uma linha de aviso. |
O tmux da sessão morre no servidor (pkill tmux, falta de memória) | ProtegidaTerminaCom a sessão conectada, ela vai para Encerradas com “O shell terminou.”; Reabrir inicia outro shell. Se ela estava desconectada, a volta traz um shell novo e o aviso “O servidor reiniciou”. | Sem proteçãoNão se aplicaSessões sem proteção não usam tmux. |
Você digita exit, ou o shell termina | ProtegidaTerminaA sessão vai para Encerradas. Reabrir inicia um shell novo. | Sem proteçãoTerminaIgual. |
| Você usa Encerrar | ProtegidaTerminaO shell e todos os programas param no servidor, e o tmux da sessão é removido. Não dá para desfazer. | Sem proteçãoTerminaO shell e todos os programas param no servidor. |
Sessões protegidas
Uma sessão protegida roda dentro de um tmux no servidor, que o Termavox controla sem mostrar. Se a conexão cair ou o Termavox reiniciar, o tmux segura o shell e os programas, e o Termavox reconstrói a tela a partir dele.
O escudo ao lado de cada sessão diz qual é o caso; passe o mouse sobre ele para ler:
- Cheio: “Protegida: sobrevive a reinícios e quedas de rede”.
- Riscado: “Sem proteção: o shell se perde se a conexão cair”. A sessão continua rodando com o navegador fechado; o que ela não aguenta é perder a conexão com o servidor.
- Tracejado: “A proteção é definida quando a sessão inicia”.
Para proteger as sessões, o servidor precisa de tmux 3.2 ou mais recente e de um locale UTF-8, com a Proteção da sessão em Automática (o padrão) na página do servidor. Em Diagnóstico → Testar conexão, a página do servidor mostra o que ele tem e o que falta.
Status e reconexão
| Status | Quer dizer |
|---|---|
| Conectando… | Quer dizerPrimeira conexão: entrando no servidor e iniciando o shell. |
| Restaurando… | Quer dizerVoltando a uma sessão que já esteve conectada, depois de uma queda, de um reinício ou de Tentar de novo. |
| Conectada | Quer dizerPronta para usar. |
| Ação necessária | Quer dizerO servidor espera você: confiar numa chave do host ou responder a um pedido de login, como um código de verificação. |
| Reconectando… | Quer dizerA conexão com o servidor caiu e o Termavox tenta de novo sozinho. O painel mostra quando será a próxima tentativa. |
| Desconectada | Quer dizerAs tentativas acabaram, você clicou em Parar, ou o problema não se resolve sozinho (credencial recusada, chave do host diferente). Nada tenta de novo até você pedir. O motivo está em Mensagens e o que fazer. |
| Encerrada | Quer dizerA sessão terminou. Reabrir inicia um shell novo. |
Duas conexões diferentes
- A sua conexão (navegador ⇄ Termavox). Quando cai, uma faixa avisa “Sem conexão, tentando de novo”. As sessões não sentem nada; a tela se atualiza na volta.
- A conexão da sessão (Termavox ⇄ servidor). Quando cai, o painel mostra “Reconectando…”. É esta que a proteção cobre.
Quando a conexão da sessão cai:
- Uma sessão que nunca conectou tenta poucas vezes e para: quase sempre é endereço, porta ou credencial errada. Corrija na página do servidor e use Tentar de novo; a correção vale na próxima tentativa.
- Uma sessão que estava conectada continua tentando por até 30 minutos; o painel mostra até quando. Depois disso fica Desconectada.
- Tentar agora pula a espera. Parar interrompe as tentativas.
Fechar, encerrar, reabrir e remover
- Fechar uma aba ou um painel só desconecta a tela. A sessão continua na lista e rodando.
- Encerrar… (menu da sessão) para o shell e todos os programas no servidor. Se o servidor estiver fora do ar, a sessão termina na hora e o tmux dela é encerrado na próxima conexão com aquele servidor.
- Encerrar todas as sessões…, no pé da lista, faz o mesmo com todas as que estão rodando.
- Reabrir volta uma sessão encerrada com um shell novo, mantendo o nome dela.
- Remover da lista… (só sessões encerradas) apaga a sessão e o histórico dela. Remover todas as encerradas… faz isso de uma vez.
A mesma sessão em vários lugares
Abra a mesma sessão no notebook, em outro computador e no celular ao mesmo tempo: todos veem a mesma tela e todos podem digitar.
O tamanho do terminal segue a janela em que alguém digitou ou clicou por último. As outras mostram a sessão reduzida ou com bordas e o aviso “Tamanho definido por outra janela. Clique para ajustar.”
Área de trabalho e atalhos
- A lista à esquerda agrupa as sessões por status. O botão logo abaixo de Nova sessão recolhe a lista em uma coluna de ícones.
- Divida uma aba com Dividir à direita e Dividir abaixo, e arraste a divisória para ajustar. Abrir em uma nova aba fica no menu da sessão.
- Renomeie pelo menu da sessão ou com clique duplo na aba. Todos que veem a sessão veem o nome novo.
- Abas, divisões e tamanhos ficam guardados no Termavox e voltam em qualquer navegador em que você entrar.
| Atalho | Faz |
|---|---|
| Ctrl+K ou ⌘+K | FazBuscar uma sessão ou iniciar uma nova (com o foco fora do terminal). |
| Ctrl+Shift+K ou ⌘+⇧+K | FazO mesmo, de dentro do terminal, onde Ctrl+K pertence ao shell. |
| ↑ ↓ Enter Esc | FazNa busca: mover, abrir, fechar. |
Copiar, colar e links
Em Configurações → Terminal:
- Copiar ao selecionar (desligado por padrão): o texto selecionado vai direto para a área de transferência.
- Colar com o botão direito (desligado): o botão direito cola em vez de abrir o menu do navegador.
- Confirmar antes de abrir links (ligado): um link clicado no terminal mostra o endereço completo antes de abrir em uma nova aba.
No celular
- A lista de sessões ocupa a tela; uma sessão abre em tela cheia, e Sessões volta para a lista.
- A barra de teclas traz Esc Tab Ctrl Alt, as setas, a barra vertical e Colar.
- Ctrl e Alt ficam armados para a próxima tecla: toque em Ctrl e depois em c para mandar Ctrl+C.
- Se o navegador não deixar colar pela barra, toque e segure o terminal.
- Dá para instalar o Termavox como app pelo menu do navegador (“Adicionar à tela inicial”).
Painel de arquivos
O botão Arquivos no painel de uma sessão abre os arquivos do servidor ao lado do terminal. Ele usa a própria conexão SSH da sessão, como o mesmo usuário: sem novo login e sem nada instalado no servidor. Por isso só funciona com a sessão conectada.
- Enviar vários arquivos de uma vez, ou arraste e solte no painel. Baixar, Renomear e Apagar agem sobre os itens selecionados; Nova pasta fica no topo.
- Se um arquivo já existe: Substituir (mantém as permissões do atual), Manter os dois ou Pular estes.
- Ir para a pasta do terminal só existe em sessões protegidas.
- Pastas inteiras ainda não podem ser enviadas nem baixadas: selecione os arquivos dentro delas.
- Uma pasta com mais de 10.000 itens (menos, quando os nomes ou os destinos dos links são longos) é listada só em parte, e o painel avisa.
- Apagar para depois de ler mais de 100.000 itens, ou com mais de 64 níveis de pastas aninhadas: “Esta pasta é grande demais para apagar pelo painel. Apague-a pelo terminal (por exemplo, com
rm -r).” O que já foi apagado continua apagado. - Um download que o navegador deixa pausado por mais de dois minutos é interrompido: baixe o arquivo de novo.
- Um envio interrompido porque a conexão com o servidor caiu, ou porque o servidor parou de responder, pode deixar naquela pasta um arquivo oculto chamado
.<nome>.tv-<id>.part. Dá para apagá-lo pelo painel. - Um nome com caracteres invisíveis ou de controle (uma inversão de direção, um espaço de largura zero, uma quebra de linha, um espaço no começo ou no fim, um espaço incomum em qualquer posição, como o espaço sem quebra, o estreito da tipografia francesa ou o largo do japonês) mostra
�no lugar de cada um; passe o mouse sobre o nome para ver a forma exata, comoreport\u202Efdp.exe. O painel continua agindo sobre o nome real. - Teclado: as setas movem, Espaço seleciona, Enter abre uma pasta, F2 renomeia, Delete apaga.
Servidores e credenciais
- Um servidor guarda tudo o que um
ssh usuário@endereçoprecisa: endereço, porta, usuário, credencial e as opções da sessão. A mesma máquina com outro usuário é outro servidor; Duplicar ajuda. - Mudanças num servidor valem para as sessões novas. As que estão rodando mantêm o endereço com que começaram.
- Para entrar, prefira Gerar uma chave nova: a chave privada nunca sai do Termavox, e você instala a pública no servidor. Também dá para colar uma chave, usar uma senha, ou Nenhuma (o servidor pede a senha no terminal).
- Em Avançado: proteção, comando inicial, variáveis de ambiente, keepalive, linhas de histórico e a reabertura de sessões desprotegidas.
- O Termavox roda no Docker na mesma máquina que você quer acessar? Use Adicionar este host Docker.
Chaves do host e login no servidor
- Na primeira conexão o Termavox pergunta Confiar nesta chave do host?. Compare a impressão digital com a do servidor (lá,
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub) antes de confiar. - A decisão vale para o endereço: todos os seus servidores naquele endereço, e só para você.
- Para confiar antes da primeira sessão, use Testar conexão ou Colar impressão digital esperada na página do servidor.
- Servidores que pedem um código (2FA) ou uma senha mostram a pergunta no painel. As respostas vão para o servidor e nunca são guardadas. Se o pedido expirar, use Tentar de novo.
Sessões que ficaram rodando num servidor
O tmux de uma sessão protegida continua rodando no servidor enquanto o Termavox está fora do ar. É de propósito: na volta, o Termavox se reconecta a ele. Ele só fica para trás quando o Termavox o esquece: outra instalação do Termavox, ou esta mesma depois de o banco de dados ser zerado.
- A área de trabalho avisa Sessões encontradas em… quando vê uma dessas ao conectar.
- Na página do servidor, Sessões neste servidor → Verificar agora lista as sessões. Adotar traz uma para a área de trabalho, com a mesma tela; Encerrar… para os programas dela.
- Sessões que você já encerrou e que continuavam lá são encerradas automaticamente.
Conta e administração
- Senha (Configurações → Conta): ao trocar, seus outros navegadores são desconectados. Esqueceu a senha? Peça uma senha temporária a um administrador.
- Verificação em duas etapas: um código de um app autenticador a cada login. O administrador pode torná-la obrigatória.
- Idioma: no menu da conta, em Idioma….
- Versão: a última linha do menu da conta mostra a versão em execução, como “Termavox 0.1.0”. Informe-a ao relatar um problema nas issues do projeto no GitHub. Um problema de segurança vai por um canal privado, como explica a política de segurança.
- Atividade mostra o que aconteceu com as suas sessões. A entrada e a saída do terminal nunca são gravadas.
- Administradores criam usuários, podem exigir a verificação em duas etapas, limitar as sessões em execução por usuário (padrão: 50), ligar ou desligar o painel de arquivos e consultar o log de auditoria.