Terminal
DR-Terminal incluye su propio emulador VT100/xterm escrito desde cero en Kotlin, sin WebView. Admite xterm-256color, el búfer alternativo (vim/less/nano), el portapapeles OSC 52, eventos de foco y seguimiento del ratón (mc, htop).
Teclado y atajos
| Atajo | Acción |
|---|---|
| Ctrl+C — cuando hay texto seleccionado | Copia la selección al portapapeles. Sin selección, el SIGINT normal llega al proceso remoto. |
| Enter — cuando hay texto seleccionado | Atajo de copia alternativo (práctico en teclados sin Ctrl). |
| Clic derecho / menú Copiar | Menú contextual tras la selección — siempre disponible. |
| Ctrl+V | Pegar. El contenido del portapapeles con varias líneas abre un diálogo de confirmación de pegado multilínea. |
| Shift+Insert | Pegar — memoria muscular clásica de X11/Windows. Insert a secas sigue llegando al shell. |
| Shift+Delete | Copia la selección y la borra (estilo cortar). |
| Ctrl+F | Abre la barra de búsqueda (consulta Buscar en la salida). El shell nunca ve la pulsación. |
| Ctrl+Shift+S | Abre el selector de snippets (consulta Snippets). Ctrl+S a secas sigue llegando al shell. |
| Barra de atajos | esc, ctrl, tab, flechas, símbolos de shell habituales, la tecla snip y el conmutador ⌨ — útil en móvil. Las teclas de función y de navegación viven en la capa fn del teclado DevOps y en la fila opcional de teclas F. |
| Tamaño de fuente | Selector A- / A+ en el menú del terminal; rango 8–32 pt. |
En macOS, Cmd funciona allí donde arriba aparece Ctrl: Cmd+C, Cmd+V, Cmd+F y Cmd+Shift+S se comportan como sus equivalentes con Ctrl.
Teclado DevOps (Android e iOS)
Los teclados del sistema luchan contra ti en un terminal: el autocorrector destroza sudo -rf, los símbolos de shell se esconden dos capas más adentro y las disposiciones no latinas a menudo no tienen ASCII. DR-Terminal incluye su propio teclado DevOps siempre-ASCII, dibujado por la app y que envía las teclas directamente al terminal — el IME del sistema nunca las ve.
- Vertical — un dock clásico en la parte inferior de la pantalla.
- Horizontal — modo split: dos grupos al alcance del pulgar en los bordes izquierdo y derecho, dibujados como cristal translúcido sobre el terminal, de modo que el ancho completo sigue mostrando tu sesión.
Capas: minúsculas, mayúsculas (Shift), números, símbolos de shell (| ~ $ & ' " \ …`) y una capa fn/nav (F1–F12, flechas, Home/End, PgUp/PgDn). Ctrl/Alt/Shift son adhesivos: un toque los arma para la siguiente tecla, un doble toque los bloquea. Mantén pulsado ⌫, las flechas o el espacio para repetir; una pulsación larga en teclas con una pequeña marca en la esquina da el carácter alternativo.
- El tirador (píldora) superior alterna FULL ↔ MINI — MINI conserva solo lo esencial (Esc, Tab, Ctrl, flechas, ⌫, ↵) para sesiones de htop/logs. El modo horizontal recuerda su propio estado y arranca en MINI.
- Arrastra el tirador para mover un grupo; se imanta al borde más cercano. Suelta un grupo sobre el otro para fusionarlos en un único teclado flotante; la píldora de separación los divide de nuevo.
- Desliza hacia abajo sobre las teclas para ocultar el teclado; un botón ⌨ flotante lo devuelve. La tecla ⌨ cambia al teclado del sistema cuando necesitas tildes o emojis.
Ajustes → Teclado (móvil): Teclado predeterminado — Auto elige el teclado DevOps cuando la configuración regional del sistema es no latina (árabe, hebreo, CJK…), y el IME del sistema en caso contrario; Disposición — Auto/QWERTY/QWERTZ/AZERTY; controles de Opacidad y Tamaño de teclas; Mostrar teclas F — una fila F1–F10 siempre visible encima del teclado, práctica para flujos con mc/htop. Todas las preferencias del teclado viajan en la copia de seguridad cifrada exportada desde un teléfono o tableta.
Seleccionar, copiar, pegar
Escritorio: arrastra con el ratón para seleccionar. Un doble clic selecciona una palabra, un triple clic una línea. Al soltar se copia mediante los atajos de arriba; el clic derecho abre un menú.
Android e iOS: mantén pulsado en cualquier punto del terminal para iniciar una selección, luego arrastra para extenderla y suelta para copiar; el texto va al portapapeles del sistema. Un toque breve sigue llegando al shell; un deslizamiento sigue desplazando el historial, así que los gestos habituales siguen funcionando.
- Icono de pegar en la barra superior del terminal: un toque pega el portapapeles en el cursor. Si no hay nada en el portapapeles aparece un snackbar neutro de Nada que pegar.
- Seleccionar texto en el menú del terminal — una casilla que mantiene el modo de selección activo hasta que lo desactives, de modo que cada arrastre selecciona en lugar de desplazar el historial o llegar al shell.
- Mantener pulsado en la fila del prompt (la fila donde está el cursor, y solo cuando no estás desplazado en el historial) pega en lugar de iniciar una selección, natural cuando solo quieres soltar el portapapeles donde estás escribiendo.
OSC 52 permite que los programas remotos (tmux, vim, fzf) copien a tu portapapeles del sistema mediante una secuencia de escape — bidireccional.
Pegado multilínea: cuando tu portapapeles contiene saltos de línea ves un diálogo de previsualización de pegado multilínea, que protege frente a pegar comandos que no has revisado.
Scrollback e historial
El búfer de scrollback guarda hasta 1000 líneas. La rueda o el arrastre táctil desplazan; el cursor sale correctamente del área visible (comportamiento de xterm) y cualquier selección se desplaza con el texto.
Borrar historial está en la pestaña Historial de la barra lateral y elimina el historial de comandos guardado de esa conexión — no toca el scrollback en pantalla.
Aparece una barra de desplazamiento en el borde derecho del terminal (escritorio): agárrala con el ratón para recorrer el historial; Android e iOS se desplazan con el tacto. La velocidad de desplazamiento de la rueda se configura en Ajustes → Terminal (líneas por cada tic de rueda).
Búfer alternativo (aplicaciones a pantalla completa)
Programas como vim, less, nano, htop, mc cambian al búfer alternativo: una pantalla aparte que desaparece al salir sin ensuciar el scrollback principal.
Buscar en la salida
Pulsa Ctrl+F (Cmd+F en macOS) para abrir la barra de búsqueda. Busca en el scrollback en tiempo real, resaltando cada coincidencia y avanzando entre ellas. El resaltado es una superposición en tiempo de renderizado: nunca inyecta nada en el flujo SSH.
Fuente, tema, resaltado
- Tamaño de fuente — el selector A-/A+ del menú del terminal o el control deslizante en Ajustes → Apariencia; rango 8–32 pt. La fuente Personalizado de la pestaña Tema de la barra lateral permite además 6–72 pt por alias.
- Tema de la interfaz — claro / oscuro / del sistema (toda la app, no el terminal).
- Tema del terminal — consulta la sección Tema más abajo; el tema es por alias.
- Reglas de resaltado — Ajustes → Terminal → Resaltado de salida. Añade regex + color, p. ej. pinta
ERRORde rojo.
Snippets
Los snippets son plantillas de comandos reutilizables que puedes lanzar a cualquier sesión. Una plantilla puede incluir marcadores de posición tipados — ping -c {count:int=4} {host:ip} — y ejecutar un snippet así abre un pequeño diálogo que pide los valores (los marcadores int, ip, bool y enum reciben campos y validación acordes). Un snippet sin marcadores de posición se ejecuta directamente. Ejecutar de inmediato decide si se envía Enter por ti o el comando solo aterriza en el prompt para editarlo.
Formas de ejecutar uno:
- Ctrl+Shift+S (Cmd+Shift+S en macOS) — un selector que busca mientras escribes; Enter ejecuta la primera coincidencia.
- Snippets en el menú del terminal — el mismo selector sin teclado.
- La pestaña Snippets de la barra lateral del terminal — los usados recientemente primero, un clic para ejecutar, más un acceso directo al editor.
- La tecla snip fija de la barra de atajos móvil y del teclado DevOps, cuyo modo acoplado ofrece además una capa de mosaicos de snippets — una cuadrícula pensada para el dedo con tus snippets recientes bien a la vista.
Cada snippet tiene un ámbito: visible para Todos los hosts, un Grupo o un único Host. Un filtro opcional de Sistemas (Debian, RHEL, Arch, macOS…) lo acota más, de modo que los snippets de apt solo aparecen en hosts detectados como familia Debian — la detección proviene de la sonda de inicio de sesión (consulta Información del host más abajo). Mostrar solo si está disponible oculta además un snippet cuando se confirma que su comando falta en el host. Las sesiones sin host SSH (local, serie, Telnet) solo ven los snippets globales.
Gestiona los snippets en Ajustes → Terminal → Snippets: añade, edita, duplica y elimina, define el ámbito, los sistemas y la opción de ejecución inmediata. Un catálogo incluido con más de cien snippets listos para usar — por sistema (Debian, RHEL, Arch, Alpine, SUSE, BSD, macOS) más conjuntos de Docker, red, almacenamiento y herramientas — se instala en el primer arranque; edítalos o elimínalos como si fueran tuyos.
Historial de comandos y autocompletado
Cada conexión guardada recuerda su historial de comandos (si Guardar historial está activado). La flecha arriba recupera comandos anteriores y el campo de autocompletado sugiere nombres de comandos disponibles en el servidor — autocompletado de shell en vivo, distinto del historial de lo que escribiste.
Información del host (constantes vitales en vivo)
Tras el inicio de sesión en una sesión SSH, la app sondea discretamente el host — nombre del SO, modelo de CPU y número de núcleos — y empieza a consultar las constantes vitales en vivo: carga media, memoria, swap y uso de disco por punto de montaje, cada uno dibujado con una barra de uso que se vuelve ámbar por encima del 75% y roja por encima del 90%.
- La pestaña Host de la barra lateral del terminal (la pestaña más a la izquierda, y la predeterminada para sesiones SSH) muestra todo de un vistazo.
- Las mismas filas aparecen en el diálogo Info de conexión.
- Ajustes → Terminal → Monitorización de recursos (CPU/RAM/disco) activa o desactiva el sondeo globalmente y define el intervalo de refresco (5–300 s). El formulario de conexión puede anular el intervalo por host, y su desplegable Comprobación del sistema al iniciar sesión elige con qué frecuencia se ejecuta la sonda completa: en cada conexión, una vez al día, una vez a la semana o desactivada.
Pestañas de sesión
Cada sesión — SSH, SFTP, local, serie, Telnet — vive en una pestaña. Mantén pulsada (móvil) o haz clic derecho (escritorio) en una pestaña, o en una tarjeta de la lista de Sesiones activas, para abrir su menú: Renombrar, Info de conexión, Reiniciar sesión y Cerrar pestaña. Reiniciar sesión desmonta la conexión y vuelve a conectar desde cero conservando la pestaña — práctico tras el reinicio de un servidor. Cuando una sesión remota se cae, el menú del terminal gana además una entrada Reconectar que restablece la conexión en el sitio (los terminales locales no la ofrecen — abre uno nuevo en su lugar).
Barra lateral (panel derecho) — Host / Historial / Completar / Snippets / Tema
A la derecha del terminal (escritorio / tablet) hay un panel plegable con cinco pestañas. Ábrelo con la flecha del borde derecho; cambia su tamaño arrastrando el borde izquierdo. El estado es por alias: cada conexión guardada recuerda su pestaña y su anchura.
- Host — la pestaña predeterminada para sesiones SSH: sistema detectado, CPU y constantes vitales en vivo. Consulta Información del host más arriba.
- Historial — comandos escritos recientemente. Al hacer clic se escribe el comando en el terminal; el conmutador contiguo decide si se envía automáticamente con Intro. Borrar historial también vive aquí.
- Completar — sugerencias de nombres de comandos en vivo procedentes del autocompletado del shell del servidor. Se puede silenciar por alias (icono de campana).
- Snippets — tus snippets para este host, los usados recientemente primero. Consulta Snippets más arriba.
- Tema — apariencia del terminal. Consulta la sección de abajo.
Tema — temas de terminal (435 esquemas)
El tema es por alias: cada conexión tiene su propio fondo, primer plano y paleta ANSI de 16 colores (los mismos índices que usa ls --color: estándar 0–7 + brillantes 8–15).
- Catálogo integrado de 435 temas — el campo Buscar… filtra por nombre. Cada fila muestra el fondo, el primer plano y una tira de 16 muestras. Al hacer clic se aplica el tema al instante.
- Personalizado (este alias) — en escritorio la barra lateral también permite editar manualmente la fuente, el fondo, el primer plano y las 16 ranuras ANSI. Cada ranura tiene su propio reinicio (⟲); toda la paleta tiene un reinicio aparte.
- Los directorios azules en
ls --colorson ANSI 4 (BLUE) o 12 (BRIGHT_BLUE); para cambiarlos, elige otro tema o edita esas dos muestras.
Android e iOS: toda la barra lateral de escritorio se sustituye por un único icono de paleta en la barra superior del terminal. Tócalo para abrir una hoja inferior con el mismo catálogo de 435 temas, con búsqueda y previsualizaciones de muestras en vivo. Al tocar una fila se aplica el tema y se cierra la hoja para que veas el resultado de inmediato; el botón Reiniciar de la parte superior descarta cualquier anulación para que el alias vuelva a sus valores por defecto.
Los 435 temas integrados provienen de la colección de código abierto edcet/terminal-themes (MIT).