Vtm - Entorno de escritorio basado en texto
(github.com/directvt)- Vtm es un multiplexor de terminal virtual distribuido como un único ejecutable, que envuelve apps CLI para crear un escritorio basado en texto y conectar el mundo TUI con el GUI
- Se ejecuta igual tanto en ventanas nativas como en la consola estándar, y admite anidamiento infinito, por lo que se pueden superponer varios entornos de terminal
vtmse ejecuta en modo escritorio, yvtm --run term [<your_shell>]funciona como un emulador de terminal independiente- En SSH, se puede conectar con el protocolo DirectVT usando
vtm ssh user@host vtm, y se indica que ofrece mejor rendimiento que una conexión clásica - Soporta Windows 8.1 o superior y plataformas tipo Unix como Linux, macOS, FreeBSD, NetBSD y OpenBSD, pero el renderizado nativo de ventanas GUI actualmente solo es posible en Windows
Qué hace Vtm
- Vtm es un multiplexor de terminal virtual distribuido como un único ejecutable
- Se ejecuta igual en una ventana nativa o en la consola estándar
- Puede envolver y ejecutar cualquier app CLI
- Admite anidamiento infinito para construir un entorno de escritorio basado en texto
- Su objetivo es ofrecer un escritorio basado en texto que cierre la brecha entre TUI y GUI
Modos de ejecución
-
Modo escritorio
- Al ejecutar
vtm, se inicia el entorno de escritorio
- Al ejecutar
-
Modo terminal
- Al ejecutar
vtm --run term [<your_shell>], se puede usar Vtm como un emulador de terminal completamente independiente
- Al ejecutar
-
Conexión binaria por SSH
- A continuación se muestra un ejemplo de conexión SSH usando el protocolo DirectVT
vtm ssh user@host vtm- Se indica que este método ofrece mejor rendimiento que una conexión clásica
Demos y ejemplos
- Se ofrece una demo en YouTube
- Las demos de AnyPlex y VT2D power actualmente solo se pueden ejecutar en Windows
vtm --run test
- Los ejemplos de apps HybridTUI, es decir, HTUI, se ofrecen en forma conceptual
vtm --run calcvtm --run textvtm --run gems
Plataformas compatibles y limitaciones
-
Windows
- Compatible con Windows 8.1 o superior
- Incluye Windows Server Core y Windows PE
-
Tipo Unix
- Linux
- macOS
- FreeBSD
- NetBSD
- OpenBSD
- Familia de sistemas operativos orientados a POSIX
- Se ofrece por separado una lista de Tested Terminals
- Actualmente, el renderizado nativo de ventanas GUI solo es posible en la plataforma Windows
- En plataformas tipo Unix, se requiere un emulador de terminal
Distribución y documentación
- Las descargas de binarios están disponibles para Linux, Windows y macOS
- Linux: x86_64, arm64, x86, arm32
- Windows: x86_64, arm64, x86
- macOS: x86_64, arm64
- Elementos de documentación
1 comentarios
Comentarios en Hacker News
Hubo un hilo grande hace 5 años: https://news.ycombinator.com/item?id=24243521
Siento que se me escapa algo obvio, pero me pregunto si esto es un multiplexor de terminal (como tmux) o un emulador de terminal en mosaico (como iTerm)
No sé por qué lo limitaron artificialmente a abrir solo terminales
Hemos dado toda la vuelta. Se creó la GUI para reemplazar la TUI, y ahora volvimos a implementar una GUI dentro de una TUI. Larga vida a la terminal
La razón por la que uso la terminal es justamente que no necesito mouse. Uso muchas herramientas TUI, pero no creo que esta vaya a ser una de ellas
Siempre me pregunté si sería posible tener un gestor de ventanas estilo TUI dentro de la terminal, y este es un proyecto realmente genial. La persona que lo hizo hizo un trabajo excelente
No basta con que se vea bonito
https://www.brain-dump.org/projects/dvtm/
Se ve muy fluido
Aunque desde mi perspectiva, la necesidad de arrastrar ventanas y cambiar su tamaño se parece más a un hábito del entorno Windows. Así que esto podría ser para el mouse lo que tmux y Neovim son para el teclado
En tmux, los diseños de ventana que necesito son unos cuantos grupos fijos de paneles 2x2, y con una forma predefinida de redimensionarlos y un toggle de pantalla completa me basta. Con herramientas eficientes como telescope y nvim, cambiar entre cosas es tan rápido que deja de ser necesario tener todas las ventanas visibles al mismo tiempo, y uno termina usando más un modelo mental que una imagen visual de lo que hay. Por ejemplo, no necesito el árbol de archivos típico que suele estar a la izquierda en la mayoría de los IDE
Hace algunos años había algo parecido, y creo que también funcionaba sobre una conexión ssh y tenía una especie de interfaz con zoom. No encuentro el enlace, pero me pregunto si a alguien le suena
kitten ssh user@hosty, al presionar una tecla, se abre otro panel ssh en la misma pestaña, y si mal no recuerdo se puede “ampliar” una pestaña para que ocupe toda la ventanahttps://sw.kovidgoyal.net/kitty/
ssh vtm@netxs.onlineAhora ese dominio ya no existe
Ojalá algunas apps web adoptaran este lenguaje de diseño de texto puro
Estoy tratando de entenderlo, pero como referencia, si ya uso tmux, ¿cambiarme a algo así básicamente me agrega gestión de ventanas/paneles basada en mouse?
Me gustaría que algunas de estas ideas llegaran a Zellij