Documentation
Client en ligne de commande
vtermc est le client en ligne de commande : il se connecte à un serveur, crée ou rattache des sessions de terminal et gère la liste des serveurs enregistrés — le tout dans un simple terminal, via SSH ou sur une machine headless. Il partage ~/.vibeterminal/client.json avec le client de bureau, donc les deux voient les mêmes serveurs.
Démarrer un terminal
Lancez vtermc sans indicateur de mode pour créer un nouveau terminal sur le serveur local (wss://localhost:7878 par défaut) avec le shell détecté, et le diffuser dans le terminal courant. Tapez exit (ou Ctrl+D) dans le shell distant pour terminer la session.
Les sessions vivent sur le serveur : si la connexion tombe — perte réseau, fermeture de la fenêtre, vtermc tué — la session continue de tourner et peut être rattachée plus tard avec vtermc -s.
vtermc -p <id>— démarrer avec un profil de terminal précis (la liste des profils est dans la sectionProfilesde l’interface Web) ;vtermc -p— sans identifiant de profil : le sélecteur liste les profils du serveur de façon interactive ;vtermc -w <dir>— définir le répertoire de travail de la nouvelle session.
Quand stdin n’est pas un terminal (un tube ou un fichier), vtermc passe en mode lot : stdin est envoyé à la session, et la sortie est diffusée jusqu’à la fermeture de la session — pratique depuis des scripts ou des agents :
echo "make test" | vtermc
Se connecter à un serveur
--server wss://host:port— se connecter à un serveur précis plutôt que le local (adresses IPv6 entre crochets :wss://[fd00::1]:7878) ; la variable d’environnementVTERM_SERVERdéfinit le même défaut ;- La poignée de main est répondue avec la clé secrète du serveur : les serveurs ajoutés via
-a/-sportent leur clé dansclient.json; le serveur local retombe sur la variable d’environnementTERMINAL_GUI_SECRET_KEY(ou une clé en clair dansserver.json).
Ajouter des serveurs
-a enregistre un serveur dans client.json puis quitte — il n’ouvre jamais de terminal. Deux façons :
vtermc -a— invites interactives :Server name,Server addressetSecret key. L’adresse doit êtrewss://host:port(une saisie invalide est redemandée ; une adresse vide annule). Un nom vide retombe sur l’adresse ;vtermc -a "vtshare1:..."— collez la chaîne de partage chiffrée. Cliquer sur leQR Coded’appairage dans la sectionServerde l’interface Web la copie dans le presse-papiers ;vtermcla déchiffre et remplit automatiquement nom, adresse et clé secrète.
Détails utiles à connaître :
- réajouter une adresse existante met à jour l’entrée en place (son identifiant est conservé) au lieu de la dupliquer ;
- les adresses locales sont refusées —
Localest toujours implicitement disponible et n’a jamais besoin d’entrée ; - les entrées sont aussi affichées par le Server Manager du client de bureau.
Choisir serveurs et sessions
vtermc -s ouvre deux sélecteurs plein écran (nécessite un terminal interactif) :
- Liste des serveurs —
Localen premier, puis chaque serveur géré commeName (adresse). Naviguez avec les flèches ouj/k, sautez avec un chiffre,Entersélectionne,qannule ; - Liste des terminaux —
New Terminalen premier, suivi des sessions actives de ce serveur avec répertoire de travail, titre et serveur propriétaire. Rattachez une session existante, ou créez-en une nouvelle (qui honore alors-p/-wcomme une simple exécution devtermc).
Le rattachement n’interrompt jamais la session — elle continue de tourner sur le serveur entre les rattachements.
Supprimer un serveur
Dans la liste des serveurs, placez-vous sur un serveur géré et appuyez sur d : la ligne devient rouge et l’invite demande confirmation. Appuyez sur y (ou Enter) pour supprimer l’entrée de client.json, toute autre touche annule. Local ne peut pas être supprimé.
Variables d’environnement
Une nouvelle session hérite d’un ensemble fixe de votre shell — PATH, HOME, USER, SHELL, TERM, WT_PROFILE_ID, PSMODULEPATH :
--env-inherit <patterns>— liste séparée par des virgules (ou la variable d’environnementVTERM_ENV_INHERIT) ; les jokers*sont pris en charge ;-e VAR=VALUE— injecter des variables supplémentaires (répétable) ;--no-env— démarrer la session sans aucune variable héritée.
vtermc -w ~/project -e RUST_LOG=debug --env-inherit "PATH,HOME,TERM"
Toutes les options
-p, --profile [<ID>] Choisir le profil de terminal (omettre pour une liste interactive)
-w, --working-dir <DIR> Définir le répertoire de travail
-s, --select Choisir serveur et terminal existant interactivement
-a, --add [<SHARE>] Ajouter un serveur (vtshare1 : chaîne de partage, ou interactif)
--server <URL> URL WebSocket du serveur [env : VTERM_SERVER]
-e, --env <VAR=VALUE> Variables d’environnement supplémentaires
--no-env Ne pas hériter des variables d’environnement
--env-inherit <PATTERNS> Motifs de variables d’environnement à hériter [env : VTERM_ENV_INHERIT]