Dokumentacja
Klient wiersza poleceń
vtermc to klient wiersza poleceń: łączy się z serwerem, tworzy lub podłącza sesje terminali i zarządza zapisaną listą serwerów — wszystko w zwykłym terminalu, przez SSH albo na maszynie headless. Współdzieli ~/.vibeterminal/client.json z klientem desktopowym, więc oba widzą te same serwery.
Uruchamianie terminala
Uruchom vtermc bez flag trybu, aby utworzyć nowy terminal na serwerze lokalnym (domyślnie wss://localhost:7878) z wykrytą powłoką i strumieniować go do bieżącego terminala. Wpisz exit (lub Ctrl+D) w zdalnej powłoce, aby zakończyć sesję.
Sesje żyją na serwerze: jeśli połączenie padnie — utrata sieci, zamknięcie okna, ubicie vtermc — sesja dalej działa i można ją później podłączyć przez vtermc -s.
vtermc -p <id>— start z konkretnym profilem terminala (lista profili jest w sekcjiProfilesWeb UI);vtermc -p— bez id profilu: selektor interaktywnie wypisuje profile serwera;vtermc -w <dir>— ustawia katalog roboczy nowej sesji.
Gdy stdin nie jest terminalem (potok lub plik), vtermc przechodzi w tryb wsadowy: stdin trafia do sesji, a wyjście płynie aż do jej zamknięcia — przydatne ze skryptów lub agentów:
echo "make test" | vtermc
Łączenie z serwerem
--server wss://host:port— połączenie z konkretnym serwerem zamiast lokalnego (adresy IPv6 w nawiasach:wss://[fd00::1]:7878); zmienna środowiskowaVTERM_SERVERustawia tę samą wartość domyślną;- Uścisk dłoni jest odpowiadany tajnym kluczem serwera: serwery dodane przez
-a/-sniosą swój klucz wclient.json; serwer lokalny wraca do zmiennej środowiskowejTERMINAL_GUI_SECRET_KEY(lub klucza w jawnym tekście wserver.json).
Dodawanie serwerów
-a zapisuje serwer w client.json i kończy — nigdy nie otwiera terminala. Dwie drogi:
vtermc -a— interaktywne pytania:Server name,Server addressiSecret key. Adres musi mieć postaćwss://host:port(błędne wejście jest ponownie żądane; pusty adres anuluje). Pusta nazwa wraca do adresu;vtermc -a "vtshare1:..."— wklej zaszyfrowany ciąg udostępniania. KliknięcieQR Codeparowania w sekcjiServerWeb UI kopiuje go do schowka;vtermcodszyfrowuje go i automatycznie wypełnia nazwę, adres i klucz tajny.
Detale warte poznania:
- ponowne dodanie istniejącego adresu aktualizuje ten wpis w miejscu (zachowuje jego id) zamiast go duplikować;
- adresy lokalne są odrzucane —
Localjest zawsze niejawnie dostępny i nigdy nie wymaga wpisu; - wpisy pokazuje też Server Manager klienta desktopowego.
Wybór serwerów i sesji
vtermc -s otwiera dwa pełnoekranowe selektory (wymaga interaktywnego terminala):
- Lista serwerów — najpierw
Local, potem każdy zarządzany serwer jakoName (adres). Nawigacja strzałkami lubj/k, skok cyfrą,Enterwybiera,qanuluje; - Lista terminali — najpierw
New Terminal, potem aktywne sesje tego serwera z katalogiem roboczym, tytułem i serwerem właścicielem. Podłącz się do istniejącej sesji albo utwórz nową (która respektuje-p/-wjak zwykłe uruchomienievtermc).
Podłączanie nigdy nie przerywa sesji — dalej działa na serwerze między podłączeniami.
Usuwanie serwera
Na liście serwerów przejdź na zarządzany serwer i naciśnij d: wiersz czerwienieje, a podpowiedź prosi o potwierdzenie. Naciśnij y (lub Enter), aby usunąć wpis z client.json, każdy inny klawisz przerywa. Local nie może być usunięty.
Zmienne środowiskowe
Nowa sesja dziedziczy stały zestaw z Twojej powłoki — PATH, HOME, USER, SHELL, TERM, WT_PROFILE_ID, PSMODULEPATH:
--env-inherit <patterns>— lista rozdzielona przecinkami (lub zmienna środowiskowaVTERM_ENV_INHERIT); obsługiwane są symbole wieloznaczne*;-e VAR=VALUE— wstrzyknięcie dodatkowych zmiennych (powtarzalne);--no-env— rozpoczęcie sesji bez żadnych dziedziczonych zmiennych.
vtermc -w ~/project -e RUST_LOG=debug --env-inherit "PATH,HOME,TERM"
Wszystkie opcje
-p, --profile [<ID>] Wybór profilu terminala (pomiń dla listy interaktywnej)
-w, --working-dir <DIR> Ustawienie katalogu roboczego
-s, --select Interaktywny wybór serwera i istniejącego terminala
-a, --add [<SHARE>] Dodanie serwera (vtshare1: ciąg udostępniania, lub interaktywnie)
--server <URL> Adres WebSocket serwera [env: VTERM_SERVER]
-e, --env <VAR=VALUE> Dodatkowe zmienne środowiskowe
--no-env Bez dziedziczenia zmiennych środowiskowych
--env-inherit <PATTERNS> Wzorce dziedziczonych zmiennych środowiskowych [env: VTERM_ENV_INHERIT]