Terminal

La terminal de Mobile SSH está pensada para usarse en teléfono y tableta. Combina un lienzo de terminal, una fila de teclas extra, paneles de varias sesiones, gestión del desplazamiento y comportamiento de reconexión.

Conceptos básicos de la terminal

Cuadrícula de varias sesiones

Mobile SSH puede ejecutar hasta ocho sesiones SSH al mismo tiempo. Cada sesión aparece como un panel en la cuadrícula de terminales. Toca un panel para seleccionarlo, o usa + Add Session para iniciar otra conexión.

El encabezado del panel indica dónde estás. En Android muestra el directorio de trabajo real del panel, consultado a tmux o comunicado por el shell mediante OSC 7 y actualizado mientras la app está abierta; en iOS muestra el título que fija el equipo remoto, y si no hay ninguno recurre a user@host:port.

Cerrar un panel desconecta esa sesión SSH. Al volver al inicio, las conexiones siguen disponibles en Sesiones activas. La cabecera indica conexiones bloqueadas; Ajustes permite mostrar velocidades y atenuar o vibrar cuando el enlace deja de responder.

Eternal Terminal (ET)

Ambas plataformas ofrecen estos transportes en el selector Transporte al agregar o editar un servidor:

ET mantiene viva la sesión en el servidor, así que cuando tu teléfono cambia de red o despierta de la suspensión, Mobile SSH se vuelve a adjuntar al mismo shell en ejecución en lugar de abrir uno nuevo. Eso lo hace idóneo para los datos móviles, los saltos entre Wi-Fi y red móvil y los comandos de larga duración.

ET necesita un proceso etserver en el servidor. Si falta, Mobile SSH puede ofrecer instalarlo e iniciarlo mediante SSH. Revisa y aprueba los comandos y después conecta con Eternal Terminal seleccionado. Las rutas con servidores de salto requieren el transporte SSH.

Fila de teclas extra

Ambas plataformas ponen a tu alcance una fila de trece teclas de terminal — las que resultan incómodas o no existen en un teclado táctil. En Android es una franja en la parte inferior de la sesión (que se oculta sola cuando hay un teclado físico conectado); en iOS va montada sobre el teclado en pantalla.

Los dos conjuntos predeterminados tienen el mismo tamaño, pero no son idénticos:

AndroidiOS
PredeterminadasESC TAB CTRL flechas HOME PGUP END PGDN ⌫ ⌨ESC TAB CTRL ⇧ flechas HOME END PGUP PGDN ⌨
Diferenciatiene tecla de retroceso, no Shifttiene Shift fijo, no tecla de retroceso

La fila nunca se desplaza. Cuando las teclas dejan de caber en el ancho, se reparten el espacio por igual y saltan a una segunda fila; lo que aún sobre se recoge en un menú desbordado ⋯. Nada queda oculto tras un deslizamiento ni recortado en el borde de la pantalla, y un modificador armado se sigue aplicando a la tecla que elijas del menú desbordado.

CTRL actúa como modificador fijo: toca CTRL y luego escribe C para enviar Ctrl-C. Shift es más «fijo» en iOS que en Android — en iOS también pone en mayúscula el siguiente carácter que escribas en el teclado en pantalla, mientras que en Android solo se aplica a las teclas de la propia barra (Shift+Tab, Shift+flechas).

Si mantienes pulsada una tecla como una flecha o PGDN, se repite.

Comportamiento del teclado

En Android, la escritura normal pasa directamente al shell remoto, con autocorrección y sugerencias predictivas desactivadas por defecto. El dictado por voz también puede enviar texto mediante el teclado.

En iOS, Ajustes → Terminal → Dictado y sugerencias está activado por defecto y permite dictado, predicciones y correcciones al componer una línea. Para enviar pulsaciones sin procesamiento, desactívalo, deja Sugerencias del teclado desactivado y abre un panel nuevo.

Mostrar teclado al tocar controla si un toque abre el teclado en pantalla. Está desactivado por defecto en Android y activado en iOS; el botón del teclado sigue disponible en la barra.

Teclados de hardware

Los teclados externos y Bluetooth controlan la terminal directamente tanto en Android como en iOS. Además de los caracteres corrientes, Mobile SSH asigna las teclas de flecha, Home/End, PgUp/PgDn, Insert, Delete, Esc, las teclas de función F1–F12, las combinaciones Ctrl+tecla y Alt/Option como Meta, y Shift+Tab. Las teclas modificadoras se combinan con los modificadores fijos de la fila de teclas extra.

Pegar

Al pegar en un programa que lo solicita (bash, Vim y otras apps con soporte de bracketed paste), el contenido se envuelve con marcadores de pegado entre corchetes, de modo que el contenido multilínea del portapapeles se inserta como texto en lugar de ejecutarse automáticamente línea por línea. Solo se envuelven los pegados reales; el texto escrito y dictado no se toca.

Seleccionar, copiar, compartir

Mantén pulsada una palabra del terminal y arrastra los controles para ajustar la selección. La barra incluye:

Buscar en la terminal

Busca en todo el búfer de la terminal — el búfer de desplazamiento y la pantalla visible — y salta entre coincidencias. Abre la búsqueda desde los controles de la terminal, escribe una consulta y recorre los resultados. Funciona tanto en Android como en iOS.

Color, cursivas y portapapeles remoto

Integración con el shell e imágenes en línea

Apariencia y teclas

Tanto en Android como en iOS, Settings te permite personalizar la terminal:

Restablecer recupera los valores predeterminados que se distribuyen con la app, en lugar de congelar la lista de hoy, para que las mejoras de una versión posterior también te lleguen. Los cambios se aplican en vivo a los paneles que ya están abiertos.

Desplazamiento

Mobile SSH dirige los gestos de desplazamiento según el estado de la terminal:

En ambas plataformas, tocar un programa que sigue el ratón normalmente envía un clic izquierdo. En iOS, Tocar coloca el cursor intercambia esta acción con el movimiento del cursor; Mayús y toque realiza la otra acción. Mantener y arrastrar como ratón está desactivado por defecto, por lo que un deslizamiento normal desplaza el contenido.

Si escribes mientras estás desplazado hacia atrás, Mobile SSH vuelve a la vista en vivo de la terminal.

Comportamiento de tmux

Mobile SSH observa los comandos salientes de tmux para attach y nueva sesión, como:

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

Si se corta la conexión, la app recuerda la sesión tmux y su socket para volver al mismo destino. Cada panel del mismo host conserva su propia sesión. Si ya no existe, el shell sigue disponible.

En iOS, al cambiar de socket se consulta el prefijo actual de tmux sin suponer Ctrl+B. Un prefijo incompatible o una consulta fallida detiene la operación con un mensaje. Escribir, cerrar el panel o desconectarse cancela los pasos de conexión pendientes; no se envían comandos de conexión a un programa de pantalla completa no identificado.

Gestor de tmux

El gestor tmux permite controlarlo sin combinaciones de prefijo. Ábrelo desde el control de multiplexores de una sesión conectada; mantenlo pulsado para elegir tmux si hay varios gestores. Muestra tres secciones:

Desde el gestor puedes:

Un 🔔 marca cualquier sesión cuyo agente esté esperando entrada, así que puedes ver de un vistazo una ejecución de Claude Code o de Codex en pausa y adjuntarte a ella. Esto complementa las pistas para volver a adjuntarse de más arriba: esa lógica restaura tu última sesión automáticamente al reconectar, mientras que el gestor te da el control manual completo.

Ambas plataformas gestionan varios servidores tmux (sockets) en un host. Los indicadores de conexión del gestor corresponden al terminal que estás usando, no a otro cliente del servidor.

Herdr y Zellij

Android e iOS también gestionan Herdr y Zellij. Un control de la barra abre el multiplexor principal detectado; mantenlo pulsado para elegir otro. Solo aparecen programas encontrados en ese servidor. Dentro del gestor, el título permite cambiar de servidor y el selector de multiplexores cambia de gestor.

Si herdr o Zellij están instalados pero no en el PATH del shell de inicio de sesión, la página ofrece añadirlo.

Cada servidor tiene Adjuntar al conectar: Auto (detectar), Nada, tmux, herdr o Zellij. Auto usa la detección y el historial disponibles: primero el multiplexor usado anteriormente, luego uno con sesiones activas y después uno instalado. Sin detección guardada abre un shell normal. Una detección posterior afecta a conexiones futuras y no interrumpe lo que estás escribiendo.

Alertas de agente

Mobile SSH te avisa cuando un agente remoto de programación con IA — Claude Code, Codex, Gemini — está bloqueado esperándote. No lo adivina leyendo la salida de tu terminal. Hay dos vías, y funcionan con distinto nivel de detalle.

La campana

Las campanas del terminal pueden generar alertas de agentes. Por defecto se ignoran las inmediatamente posteriores a escribir. Las notificaciones remotas OSC 9/OSC 777 y los avisos de comando terminado OSC 133 tienen ajustes propios; en iOS ambos están desactivados inicialmente.

Esto no requiere ninguna configuración, pero la app solo sabe que algo ha sonado.

El hook de agente

Para que la app sepa qué agente está esperando y qué está haciendo, instala el hook de agente en el servidor:

Esto escribe un pequeño script de shell en ~/.mobile-ssh/agent-hook.sh en ese servidor. Es agnóstico respecto al agente — recibe argumentos de línea de comandos en lugar de analizar el formato de un proveedor concreto — así que cualquier cosa capaz de ejecutar un comando puede informar a través de él. Borrar el archivo es una desinstalación limpia.

Una vez que un agente informa a través del hook:

Responder sin escribir

Cuando un agente hace una pregunta con un conjunto fijo de respuestas, la app muestra un botón por opción — hasta seis — en la lista de agentes. En Android también puedes tocar la etiqueta del agente en el encabezado de un panel.

Tu respuesta no se escribe en la sesión. Se escribe en un archivo por un canal aparte y la recoge el hook, así que responder no puede estropear lo que haya en pantalla. La app se niega a enviar una opción que la pregunta no ofrecía realmente, y te dice con claridad si la conexión se ha caído entretanto, en lugar de fallar en silencio.

Ajustes

Las alertas están activadas por defecto en ambas plataformas, con controles independientes para notificaciones, sonido, vibración y panel activo. En iOS se incluyen por defecto las del panel activo y puede elegirse entrega solo en segundo plano. iOS solo puede entregarlas mientras permite ejecutar la app; una suspensión prolongada interrumpe las alertas SSH en vivo.

Hay un valor predeterminado que conviene conocer: el sonido se limita a los auriculares. Sin nada conectado ni emparejado, una alerta notifica y vibra, pero no reproduce ningún tono. Desactívalo si quieres oír la alerta por el altavoz del teléfono.

No hay ajuste de sensibilidad ni selector de sonido — los controles son de activado/desactivado.

Programas de terminal a pantalla completa

Para programas como Vim, less, htop, herramientas ncurses y paneles de tmux:

Escritorios remotos

Ambas plataformas abren escritorios mediante VNC sobre SSH. Puedes reutilizar una pantalla compartida, incluida Compartir pantalla de macOS, o aprobar la configuración de un escritorio Linux compatible. El servidor debe proporcionar el escritorio: tener SSH no crea una sesión gráfica. Duplicar una pantalla Linux requiere X11, no Wayland; macOS comparte su pantalla existente y no crea un escritorio privado.

Usa gestos para hacer clic, arrastrar y ampliar, y el teclado en pantalla o físico para escribir. Los controles del portapapeles permiten pegar texto del teléfono en el escritorio, que también puede copiar texto al teléfono.

Tamaño de pantalla ofrece medidas predefinidas y personalizadas que se recuerdan por servidor. En iOS cada dimensión debe estar entre 320 y 5120 píxeles. El cambio en vivo conserva las aplicaciones si el servidor lo admite. La alternativa de reiniciar requiere confirmación y solo se ofrece para un escritorio privado creado por la app. No se reinician pantallas compartidas ni escritorios reutilizados para redimensionarlos; cambia la resolución del Mac en Pantallas cuando no admita el ajuste en vivo.