Terminal

O terminal do Mobile SSH foi feito para operação em telefone e tablet. Ele combina uma área de terminal, uma linha de teclas extras, painéis de várias sessões, tratamento de rolagem e comportamento de reconexão.

Noções básicas do terminal

Grade de várias sessões

O Mobile SSH pode executar até oito sessões SSH ao mesmo tempo. Cada sessão aparece como um painel na grade de terminais. Toque em um painel para selecioná-lo, ou use + Add Session para iniciar outra conexão.

O cabeçalho do painel diz onde você está. No Android, ele mostra o diretório de trabalho real do painel, obtido do tmux ou informado pelo shell via OSC 7 e atualizado enquanto o app está aberto; no iOS, ele mostra o título definido pelo lado remoto, com user@host:port como alternativa.

Fechar um painel desconecta sua sessão SSH. Voltar ao início mantém as conexões em Sessões ativas. O cabeçalho indica conexões sem resposta; Configurações oferece taxas de transferência e escurecimento ou vibração opcionais quando a conexão para de responder.

Eternal Terminal (ET)

As duas plataformas oferecem estes transportes no seletor Transporte ao adicionar ou editar um servidor:

O ET mantém a sessão ativa no servidor, de modo que, quando o seu telefone muda de rede ou desperta da suspensão, o Mobile SSH reanexa ao mesmo shell em execução em vez de abrir um novo. Isso o torna uma boa escolha para dados móveis, transições entre Wi-Fi e rede celular e comandos de longa duração.

ET precisa de etserver no servidor. Se faltar, Mobile SSH pode oferecer instalá-lo e iniciá-lo por SSH. Revise e aprove os comandos e depois conecte com Eternal Terminal. Rotas por bastiões exigem o transporte SSH.

Linha de teclas extras

As duas plataformas deixam ao alcance uma linha de treze teclas de terminal — justamente aquelas que são difíceis ou inexistentes em um teclado de toque. No Android, é uma faixa na parte de baixo da sessão (que se esconde sozinha quando há um teclado físico conectado); no iOS, ela fica acima do teclado virtual.

Os dois conjuntos padrão têm o mesmo tamanho, mas não são idênticos:

AndroidiOS
PadrõesESC TAB CTRL setas HOME PGUP END PGDN ⌫ ⌨ESC TAB CTRL ⇧ setas HOME END PGUP PGDN ⌨
Diferençatem tecla de retrocesso, não tem Shifttem Shift fixo, não tem tecla de retrocesso

A linha nunca rola. Quando as teclas deixam de caber na largura, elas dividem o espaço por igual e quebram para uma segunda linha; o que ainda sobrar se recolhe em um menu de excedentes ⋯. Nada fica escondido atrás de um deslize nem cortado na borda da tela, e um modificador armado continua valendo para uma tecla que você escolha no menu de excedentes.

CTRL age como modificador fixo: toque em CTRL e depois digite C para enviar Ctrl-C. O Shift é mais “grudento” no iOS do que no Android — no iOS ele também deixa maiúsculo o próximo caractere que você digitar no teclado virtual, enquanto no Android ele vale apenas para as teclas da própria barra (Shift+Tab, Shift+setas).

Segure uma tecla como uma seta ou PGDN e ela se repete.

Comportamento do teclado

No Android, a digitação normal segue diretamente para o shell remoto, com autocorreção e sugestões desativadas por padrão. O ditado por voz ainda pode enviar texto pelo teclado.

No iOS, Configurações → Terminal → Ditado e sugestões vem ativado para ditado, previsões e correções durante a composição da linha. Para enviar teclas diretamente, desative-o, deixe Sugestões do teclado desativado e abra um painel novo.

Mostrar teclado ao tocar controla se um toque abre o teclado virtual. Vem desativado no Android e ativado no iOS; o botão de teclado continua disponível na barra.

Teclados físicos

Teclados externos e Bluetooth controlam o terminal diretamente no Android e no iOS. Além dos caracteres comuns, o Mobile SSH mapeia as teclas de seta, Home/End, PgUp/PgDn, Insert, Delete, Esc, as teclas de função F1–F12, combinações Ctrl+tecla e Alt/Option como Meta, e Shift+Tab. As teclas modificadoras se combinam com os modificadores fixos da linha de teclas extras.

Colar

A colagem em um programa que a solicita (bash, Vim e outros aplicativos com bracketed paste) é envolvida em marcadores de bracketed paste, para que o conteúdo de várias linhas da área de transferência seja inserido como texto em vez de ser executado automaticamente linha por linha. Apenas colagens reais são envolvidas; o texto digitado e ditado não é afetado.

Selecionar, copiar, compartilhar

Mantenha pressionada uma palavra no terminal e ajuste a seleção pelas alças. A barra inclui:

Pesquisar no terminal

Pesquise em todo o buffer do terminal — o scrollback e a tela visível — e pule entre as correspondências. Abra a pesquisa a partir dos controles do terminal, digite uma consulta e percorra os resultados. Isso funciona tanto no Android quanto no iOS.

Cor, itálicos e área de transferência remota

Integração de shell e imagens em linha

Aparência e teclas

Tanto no Android quanto no iOS, as Configurações permitem personalizar o terminal:

Redefinir restaura os padrões de fábrica em vez de congelar a lista de hoje, então as melhorias de uma versão futura continuam chegando até você. As alterações são aplicadas ao vivo aos painéis já abertos.

Rolagem

O Mobile SSH direciona os gestos de rolagem conforme o estado do terminal:

Nas duas plataformas, tocar em um programa com rastreamento de mouse normalmente envia um clique esquerdo. No iOS, Toque posiciona o cursor troca essa ação pelo movimento do cursor; Shift e toque faz a outra ação. Segurar e arrastar como mouse vem desativado, então deslizar normalmente rola a tela.

Se você digitar enquanto está rolado para trás no scrollback, o Mobile SSH retorna à visão ao vivo do terminal.

Comportamento do tmux

O Mobile SSH observa os comandos tmux de attach e nova sessão enviados pelo usuário, como:

tmux attach -t work
tmux a -t work
tmux new -A -s work

Se a conexão cair, o app lembra a sessão tmux e seu socket para retornar ao mesmo destino. Cada painel no mesmo host conserva seu próprio vínculo. Se a sessão sumiu, o shell continua disponível.

No iOS, trocar de socket consulta o prefixo atual do tmux em vez de presumir Ctrl+B. Prefixos incompatíveis ou consultas malsucedidas param com uma mensagem. Digitar, fechar o painel ou desconectar cancela etapas pendentes; programas de tela cheia não identificados não recebem comandos de anexação.

Gerenciador de tmux

O gerenciador tmux permite controlá-lo sem combinações de prefixo. Abra pelo controle de multiplexadores da sessão conectada; mantenha pressionado para escolher tmux quando houver vários. Ele apresenta três seções:

A partir do gerenciador, você pode:

Um 🔔 marca qualquer sessão cujo agente esteja aguardando entrada, para que você possa identificar de relance uma execução pausada do Claude Code ou do Codex e anexar a ela. Isso complementa as dicas de reanexação acima: a lógica de reanexação restaura automaticamente a sua última sessão ao reconectar, enquanto o gerenciador oferece controle manual completo.

As duas plataformas gerenciam vários servidores tmux (sockets) no mesmo host. Os indicadores de anexação se referem ao terminal em uso, não a outro cliente do servidor.

Herdr e Zellij

Android e iOS também gerenciam Herdr e Zellij. Um controle abre o multiplexador principal detectado; mantenha pressionado para escolher outro. Só são oferecidos programas encontrados no servidor. No gerenciador, o título troca de servidor e o seletor de multiplexadores troca de gerenciador.

Se o herdr ou o Zellij estiver instalado, mas fora do PATH do shell de login, a página oferece adicioná-lo.

Cada servidor tem Anexar ao conectar: Auto (detectar), Nada, tmux, herdr ou Zellij. Auto usa detecção e histórico disponíveis: primeiro o multiplexador usado antes, depois um com sessões ativas, depois um instalado. Sem detecção salva, abre um shell comum. Uma detecção posterior afeta conexões futuras e não interrompe sua digitação.

Alertas de agente

O Mobile SSH avisa você quando um agente remoto de programação com IA — Claude Code, Codex, Gemini — está bloqueado esperando por você. Ele não adivinha lendo a saída do seu terminal. Há dois caminhos, e eles funcionam com níveis diferentes de detalhe.

A campainha

Campainhas do terminal podem alertar que um agente precisa de atenção. As imediatamente após digitar são ignoradas por padrão. Notificações remotas OSC 9/OSC 777 e de término de comando OSC 133 têm ajustes próprios; no iOS ambos começam desativados.

Isso não exige preparo nenhum, mas o app só sabe que alguma coisa tocou.

O hook de agente

Para que o app saiba qual agente está esperando e o que ele está fazendo, instale o hook de agente no servidor:

Isso grava um pequeno script de shell em ~/.mobile-ssh/agent-hook.sh naquele servidor. Ele é agnóstico quanto ao agente — recebe argumentos de linha de comando em vez de interpretar o formato de um fornecedor específico — então qualquer coisa capaz de executar um comando pode se reportar por ele. Apagar o arquivo é uma desinstalação limpa.

Assim que um agente se reporta pelo hook:

Responder sem digitar

Quando um agente faz uma pergunta com um conjunto fixo de respostas, o app mostra um botão por opção — até seis — na lista de Agentes. No Android, você também pode tocar no chip do agente no cabeçalho do painel.

A sua resposta não é digitada na sessão. Ela é gravada em um arquivo por um canal separado e recolhida pelo hook, de modo que responder não pode estragar o que está na tela. O app se recusa a enviar uma opção que o prompt não tenha realmente oferecido e avisa com clareza se a conexão caiu nesse meio-tempo, em vez de falhar em silêncio.

Configurações

Alertas vêm ativados nas duas plataformas, com controles separados para notificações, som, vibração e painel ativo. No iOS, alertas do painel ativo vêm ativados e há opção de receber apenas em segundo plano. Só chegam enquanto iOS permite executar o app; suspensão prolongada interrompe alertas SSH ao vivo.

Vale conhecer um padrão: o som se limita aos fones de ouvido. Sem nada conectado ou pareado, um alerta notifica e vibra, mas não toca nenhum som. Desative essa opção se quiser o alerta audível no alto-falante do celular.

Não existe ajuste de sensibilidade nem seletor de som — os controles são apenas ligar/desligar.

Programas de terminal em tela cheia

Para programas como Vim, less, htop, ferramentas ncurses e painéis tmux:

Desktops remotos

As duas plataformas abrem desktops por VNC sobre SSH. Reutilize uma tela compartilhada, incluindo Compartilhamento de Tela do macOS, ou aprove a configuração de um desktop Linux compatível. O servidor deve fornecer o desktop; SSH sozinho não cria sessão gráfica. Espelhamento no Linux exige X11, não Wayland; macOS usa a tela existente, sem criar desktop privado.

Use gestos para clicar, arrastar e ampliar, e teclado virtual ou físico para digitar. Os controles permitem colar texto do telefone no desktop, que também pode copiar texto de volta ao telefone.

Tamanho da tela oferece medidas prontas ou personalizadas, lembradas por servidor. No iOS, cada dimensão deve ter de 320 a 5120 pixels. Redimensionar ao vivo preserva programas quando o servidor permite. A alternativa de reiniciar exige confirmação e só vale para desktop privado criado pelo app. Desktops reutilizados e consoles compartilhados não são reiniciados para isso; altere a resolução do Mac em Telas quando o ajuste ao vivo não funcionar.