Soporte
Soporte de Terminalia: preguntas y problemas frecuentes
Lo que más se pregunta, agrupado por tema. Si no está aquí, abajo tienes cómo diagnosticar y cómo escribirnos.
Instalación
macOS dice que no puede abrir la app
Terminalia está firmada con un certificado de desarrollador de Apple, pero todavía no pasa por la notarización de Apple; por eso Gatekeeper pide confirmarla una vez. Pulsa OK (no "Trasladar a la papelera"), abre Ajustes del Sistema › Privacidad y seguridad, baja hasta Seguridad y pulsa Abrir de todas formas. Solo pasa la primera vez. Alternativa: xattr -dr com.apple.quarantine /Applications/Terminalia.app
¿Funciona en un Mac con Intel?
Sí. El DMG lleva un binario universal: el mismo fichero sirve para Apple Silicon e Intel.
Tengo macOS 13, ¿puedo usarla?
No. Terminalia requiere macOS 14 o posterior por las APIs de SwiftUI que usa. No hay versión para sistemas anteriores.
¿Cómo desinstalo Terminalia?
Cierra la app y arrastra Terminalia desde Aplicaciones a la Papelera. Si quieres no dejar rastro, borra también ~/Library/Application Support/Terminalia/ (perfiles, ajustes, sockets y el ayudante del llavero) y ~/Library/Caches/Terminalia/. Las passphrases guardadas se eliminan desde Acceso a Llaveros buscando com.aacdev.Terminalia, o borrando antes los perfiles desde la app. Tu ~/.ssh no se toca.
Conexiones y claves
Mi clave tiene passphrase
Escríbela una vez en el perfil y se guarda en el llavero de macOS. Al conectar, la app se la pasa a ssh automáticamente. La primera vez el sistema puede pedir permiso para que el ayudante (un pequeño script de Terminalia que lee la passphrase del llavero) acceda al llavero: elige "Permitir siempre".
¿Soporta ProxyJump o un bastión?
Sí. Al importar desde ~/.ssh/config el salto se conserva como opción ProxyJump del perfil. Como la app usa el OpenSSH del sistema, cualquier alias que funcione en tu terminal funciona aquí.
"Connection closed by UNKNOWN port 65535"
Aparece en conexiones con salto: el bastión te acepta, pero el host final cierra la sesión justo después de aceptar tu clave. No es un problema de la app ni de la clave: es el host final rechazando a tu usuario. Causa habitual: cuenta bloqueada temporalmente por intentos de contraseña fallidos (en macOS lo hace opendirectoryd durante unas horas). Comprueba con ssh -v desde la terminal: si falla igual, espera o desbloquea la cuenta en ese equipo.
¿Funciona con claves ed25519, ECDSA y RSA?
Sí. La conexión la hace el OpenSSH de tu Mac, así que vale cualquier clave que funcione en tu terminal: ed25519, ECDSA o RSA, con o sin passphrase. Con claves RSA antiguas que solo firman con ssh-rsa (SHA-1), algunos servidores rechazan el SFTP nativo; en ese caso el explorador pasa solo a modo compatibilidad y sigue funcionando.
¿Puedo conectarme con contraseña en vez de con clave?
No. Terminalia autentica únicamente con clave SSH y no guarda ni pide contraseñas de servidor. Si tu servidor solo acepta contraseña, crea una clave con ssh-keygen -t ed25519 y cópiala con ssh-copy-id usuario@host: es más segura y la configuras una sola vez.
¿Puedo conectarme a varios servidores a la vez?
Sí. Cada perfil abre su propia conexión maestra, con sus túneles, su explorador y sus procesos, y puedes tener varias abiertas a la vez. Al salir, la app te avisa si quedan sesiones abiertas.
Uso y rendimiento
¿Consume recursos en segundo plano?
No. Terminalia se cierra al cerrar su última ventana y, al salir, cierra las conexiones maestras: no deja procesos ssh ni agentes en segundo plano. Mientras está abierta, el único trabajo periódico es refrescar CPU y memoria de los procesos, con un intervalo que puedes ajustar en Ajustes.
¿El editor funciona sin internet?
La primera vez que abres un fichero, el editor se descarga de cdn.jsdelivr.net. Sin conexión a internet el editor no arranca, pero el resto de la app (explorador, túneles, procesos, logs y terminal) funciona con normalidad. Está previsto incluirlo dentro de la app.
¿Cómo me entero de nuevas versiones?
Procesos
Dice que pm2 no está instalado, pero lo está
Suele pasar cuando pm2 vive en nvm o Homebrew y el PATH solo se carga en tu shell interactiva. La app ejecuta los comandos con tu shell de login real y añade las rutas habituales de nvm y Homebrew, así que en la mayoría de servidores funciona sin tocar nada. Si aun así no lo encuentra, el panel muestra la shell y el PATH que usó; añade source ~/.nvm/nvm.sh a ~/.zprofile en el servidor.
Docker: "permission denied"
Tu usuario SSH no tiene acceso al socket de Docker. En el servidor: sudo usermod -aG docker $USER, cierra la sesión y vuelve a conectar. La app nunca usa sudo por ti.
Seguridad y datos
¿La app ejecuta sudo?
No. Todo corre con los permisos del usuario SSH del perfil. No pide ni guarda contraseñas de administrador. Si necesitas privilegios para algo, lo haces tú desde la terminal integrada.
¿Qué se guarda y dónde?
Perfiles y ajustes en ~/Library/Application Support/Terminalia/ (profiles.json, settings.json). Las passphrases de las claves, en el llavero de macOS bajo el servicio com.aacdev.Terminalia. Los ficheros que abres en el editor se cachean en ~/Library/Caches/Terminalia/. Nada más. Borrar un perfil elimina su entrada y su passphrase; nunca toca ~/.ssh.
¿Modifica mi ~/.ssh/config o mis claves?
No. La importación solo lee ~/.ssh/config y Terminalia no modifica tus claves ni ese fichero. Lo único que puede cambiar en ~/.ssh es known_hosts: al conectar por primera vez a un servidor nuevo, OpenSSH añade su huella, exactamente igual que cuando conectas desde la terminal (modo accept-new). Los perfiles se guardan aparte, en ~/Library/Application Support/Terminalia/.
¿Terminalia envía datos o telemetría?
No. La app no tiene cuentas, analítica ni informes de fallos. Solo se conecta a tus servidores por SSH y, la primera vez que abres el editor, a cdn.jsdelivr.net para descargarlo. Los detalles, en Privacidad.
Diagnóstico
Comprobar si la sesión maestra de un perfil sigue viva (la ruta del socket está en el panel Sesión maestra del perfil):
ssh -S ~/Library/Application\ Support/Terminalia/s/<id>.sock -O check usuario@hostVer el registro de la app de la última hora. Terminalia escribe en el registro unificado de macOS con el subsistema com.aacdev.Terminalia; también puedes verlo en la app Consola filtrando por ese subsistema. No se envía a ningún sitio.
log show --predicate 'subsystem == "com.aacdev.Terminalia"' --last 1h --style compactReproducir el mismo comando que lanza la app, con detalle, desde Terminal: ssh -vv -N usuario@host. Si falla igual, el problema está fuera de la app.
Contacto
¿No has encontrado la respuesta? Escríbenos. Si es un problema de conexión, pega la salida del diagnóstico de arriba en el mensaje: nos ahorra varias idas y vueltas. Revisa que no incluya contraseñas, claves privadas ni nombres de host que no quieras compartir.