Документація

Клієнт командного рядка

vtermc — клієнт командного рядка: він з’єднується із сервером, створює чи приєднується до термінальних сесій і керує збереженим списком серверів — усе в звичайному терміналі, через SSH або на headless-машині. Він ділить ~/.vibeterminal/client.json з десктопним клієнтом, тож обидва бачать ті самі сервери.

Запуск термінала

Запустіть vtermc без прапорців режиму, щоб створити новий термінал на локальному сервері (типово wss://localhost:7878) зі виявленою оболонкою і транслювати його в поточний термінал. Введіть exit (або Ctrl+D) у віддаленій оболонці, щоб завершити сесію.

Сесії живуть на сервері: якщо з’єднання обривається — втрата мережі, закриття вікна, вбивство vtermc — сесія продовжує працювати і може бути приєднана пізніше через vtermc -s.

  • vtermc -p <id> — старт із конкретним термінальним профілем (список профілів у розділі Profiles веб-інтерфейсу);
  • vtermc -p — без id профілю: вибірник інтерактивно перелічує профілі сервера;
  • vtermc -w <dir> — задати робочу директорію нової сесії.

Коли stdin — не термінал (канал або файл), vtermc переходить у пакетний режим: stdin подається в сесію, а вивід тече, поки сесія не закриється — зручно зі скриптів або агентів:

echo "make test" | vtermc

З’єднання із сервером

  • --server wss://host:port — з’єднання з конкретним сервером замість локального (IPv6-адреси в дужках: wss://[fd00::1]:7878); змінна середовища VTERM_SERVER задає той самий default;
  • рукостискання відповідається секретним ключем сервера: сервери, додані через -a/-s, несуть свій ключ у client.json; локальний сервер падає до змінної середовища TERMINAL_GUI_SECRET_KEY (або ключа відкритим текстом у server.json).

Додавання серверів

-a зберігає сервер у client.json і виходить — він ніколи не відкриває термінал. Два шляхи:

  • vtermc -a — інтерактивні запити: Server name, Server address і Secret key. Адреса має бути wss://host:port (невірне введення запитується знову; порожня адреса скасовує). Порожнє ім’я падає до адреси;
  • vtermc -a "vtshare1:..." — вставте зашифрований рядок спільного доступу. Клацання на QR Code сполучення в розділі Server веб-інтерфейсу копіює його в буфер обміну; vtermc розшифровує його й автозаповнює ім’я, адресу та секретний ключ.

Деталі, які варто знати:

  • повторне додавання наявної адреси оновлює цей запис на місці (його id зберігається) замість дублювання;
  • локальні адреси відхляються — Local завжди неявно доступний і ніколи не потребує запису;
  • записи показує також Server Manager десктопного клієнта.

Вибір серверів і сесій

vtermc -s відкриває два вибірники на весь екран (потребує інтерактивного термінала):

  1. Список серверів — спершу Local, потім кожен керований сервер як Name (адреса). Навігація стрілками або j/k, стрибок цифрою, Enter вибирає, q скасовує;
  2. Список терміналів — спершу New Terminal, далі живі сесії цього сервера з робочою директорією, заголовком і сервером-власником. Приєднайтеся до наявної сесії або створіть нову (яка тоді поважає -p / -w, як звичайний запуск vtermc).

Приєднання ніколи не перериває сесію — вона продовжує працювати на сервері між приєднаннями.

Видалення сервера

У списку серверів перейдіть до керованого сервера й натисніть d: рядок червоніє, підказка просить підтвердження. Натисніть y (або Enter), щоб видалити запис з client.json, будь-яка інша клавіша скасовує. Local видалити не можна.

Змінні середовища

Нова сесія успадковує фіксований набір з вашої оболонки — PATH, HOME, USER, SHELL, TERM, WT_PROFILE_ID, PSMODULEPATH:

  • --env-inherit <patterns> — список через кому (або змінна середовища VTERM_ENV_INHERIT); підтримуються шаблони *;
  • -e VAR=VALUE — додаткові змінні (повторювано);
  • --no-env — запустити сесію без успадкованих змінних.
vtermc -w ~/project -e RUST_LOG=debug --env-inherit "PATH,HOME,TERM"

Усі опції

-p, --profile [<ID>]          Вибір термінального профілю (пропустіть для інтерактивного списку)
-w, --working-dir <DIR>       Задати робочу директорію
-s, --select                  Інтерактивний вибір сервера та наявного термінала
-a, --add [<SHARE>]           Додати сервер (vtshare1: рядок спільного доступу, або інтерактивно)
    --server <URL>            WebSocket-URL сервера [env: VTERM_SERVER]
-e, --env <VAR=VALUE>         Додаткові змінні середовища
    --no-env                  Не успадковувати змінні середовища
    --env-inherit <PATTERNS>  Шаблони змінних середовища для успадкування [env: VTERM_ENV_INHERIT]