Vtm — environnement de bureau basé sur le texte
(github.com/directvt)- Vtm est un multiplexeur de terminaux virtuels fourni sous forme d’un exécutable unique ; il encapsule des apps CLI pour créer un bureau basé sur le texte et faire le lien entre TUI et GUI
- Il s’exécute de la même manière dans une fenêtre native et dans une console standard, et prend en charge l’imbrication infinie, ce qui permet de superposer plusieurs environnements de terminal
vtms’exécute en mode bureau, tandis quevtm --run term [<your_shell>]fonctionne comme un émulateur de terminal autonome- En SSH, il est possible de se connecter avec le protocole DirectVT sous la forme
vtm ssh user@host vtm, annoncé comme plus performant qu’une connexion classique - Il prend en charge Windows 8.1 et versions ultérieures, ainsi que les plateformes de type Unix comme Linux, macOS, FreeBSD, NetBSD et OpenBSD, mais le rendu de fenêtres GUI natives n’est actuellement possible que sous Windows
Ce que fait Vtm
- Vtm est un multiplexeur de terminaux virtuels fourni sous forme d’un exécutable unique
- Il s’exécute de la même manière dans une fenêtre native ou une console standard
- Il peut encapsuler et exécuter n’importe quelle app CLI
- Il prend en charge l’imbrication infinie, permettant de constituer un environnement de bureau basé sur le texte
- Son objectif est de fournir un bureau basé sur le texte qui comble le fossé entre TUI et GUI
Modes d’exécution
-
Mode bureau
- L’exécution de
vtmlance l’environnement de bureau
- L’exécution de
-
Mode terminal
- L’exécution de
vtm --run term [<your_shell>]permet d’utiliser Vtm comme un émulateur de terminal entièrement autonome
- L’exécution de
-
Connexion binaire SSH
- Voici un exemple de connexion SSH utilisant le protocole DirectVT
vtm ssh user@host vtm- Cette méthode est présentée comme plus performante qu’une connexion classique
Démos et exemples
- Des démos YouTube sont disponibles
- Les démos AnyPlex et VT2D power ne sont actuellement exécutables que sous Windows
vtm --run test
- Des exemples d’apps HybridTUI, c’est-à-dire HTUI, sont fournis sous forme de concepts
vtm --run calcvtm --run textvtm --run gems
Plateformes prises en charge et limites
-
Windows
- Windows 8.1 et versions ultérieures pris en charge
- Inclut Windows Server Core et Windows PE
-
Type Unix
- Linux
- macOS
- FreeBSD
- NetBSD
- OpenBSD
- Famille de systèmes d’exploitation orientés POSIX
- Une liste de Tested Terminals est fournie séparément
- Actuellement, le rendu de fenêtres GUI natives n’est possible que sur la plateforme Windows
- Sur les plateformes de type Unix, un émulateur de terminal est nécessaire
Distribution et documentation
- Des téléchargements binaires sont proposés pour Linux, Windows et macOS
- Linux : x86_64, arm64, x86, arm32
- Windows : x86_64, arm64, x86
- macOS : x86_64, arm64
- Sections de documentation
1 commentaires
Commentaires sur Hacker News
Il y avait eu un gros fil il y a 5 ans : https://news.ycombinator.com/item?id=24243521
J’ai l’impression de passer à côté de quelque chose d’évident, mais je me demande s’il s’agit d’un multiplexeur de terminal (comme tmux) ou d’un émulateur de terminal en tuiles (comme iTerm)
Je ne sais pas pourquoi il a été artificiellement limité à l’ouverture de terminaux seulement
La boucle est bouclée. On a créé les GUI pour remplacer les TUI, puis on a réimplémenté une GUI dans une TUI. Vive le terminal
La raison pour laquelle j’utilise un terminal, à la base, c’est justement que je n’ai pas besoin de souris. J’utilise beaucoup d’outils TUI, mais celui-ci ne deviendra probablement pas l’un d’eux
Je me suis toujours demandé s’il était possible d’avoir un gestionnaire de fenêtres de style TUI dans un terminal, et c’est vraiment un projet génial. La personne qui l’a fait a très bien travaillé
Il ne suffit pas que ce soit joli
https://www.brain-dump.org/projects/dvtm/
Ça a l’air très fluide
Cela dit, de mon point de vue, le besoin de glisser-déposer des fenêtres et de les redimensionner relève surtout d’une habitude de l’environnement Windows. Donc c’est peut-être un outil qui joue pour la souris le rôle que tmux et Neovim jouent pour le clavier
Dans tmux, les dispositions de fenêtres dont j’ai besoin se résument à quelques ensembles de panneaux 2x2 fixes, et des méthodes de redimensionnement prédéfinies plus un basculement en plein écran suffisent. Avec des outils efficaces comme telescope et nvim, les changements sont tellement rapides qu’il n’est plus nécessaire d’aligner toutes les fenêtres de façon visible ; on s’appuie davantage sur un modèle mental de ce qui existe que sur une représentation visuelle. Par exemple, je n’ai pas besoin de l’arborescence de fichiers qu’on trouve souvent à gauche dans la plupart des IDE
Il y avait quelque chose de similaire il y a quelques années, qui fonctionnait au-dessus d’une connexion ssh et avait aussi, je crois, une sorte d’interface zoomable. Je n’arrive pas à retrouver le lien ; quelqu’un voit de quoi il s’agit ?
kitten ssh user@host, on ouvre une connexion ssh, puis en appuyant sur une touche, un autre panneau ssh s’ouvre dans le même onglet, et de mémoire on peut « agrandir » un onglet à toute la fenêtrehttps://sw.kovidgoyal.net/kitty/
ssh vtm@netxs.onlineMaintenant, ce domaine est mort
J’aimerais que certaines applis web adoptent ce langage de design en pur texte
J’essaie de comprendre : si, comme point de comparaison, j’utilise tmux, est-ce qu’en passant à ce genre d’outil j’ajouterais une gestion des fenêtres/panneaux à la souris ?
Ce serait bien que certaines de ces idées arrivent dans Zellij