التوثيق

عميل سطر الأوامر

‏vtermc هو عميل سطر الأوامر: يتصل بخادم، وينشئ جلسات طرفية أو يلتحق بها، ويدير قائمة الخوادم المحفوظة — كل ذلك داخل طرفية عادية، أو عبر SSH، أو على جهاز بلا شاشة. يشارك ~/.vibeterminal/client.json مع عميل سطح المكتب، لذا يرى كلاهما الخوادم نفسها.

بدء طرفية

شغّل vtermc دون رايات وضع لإنشاء طرفية جديدة على الخادم المحلي (wss://localhost:7878 افتراضيًا) بالصدفة المكتشفة، وبثّها إلى الطرفية الحالية. اكتب exit (أو Ctrl+D) في الصدفة البعيدة لإنهاء الجلسة.

تعيش الجلسات على الخادم: إذا انقطع الاتصال — فقدان الشبكة أو إغلاق النافذة أو قتل vtermc — تستمر الجلسة بالعمل ويمكن الالتحاق بها لاحقًا عبر vtermc -s.

  • vtermc -p <id> — البدء بملف طرفية محدد (قائمة الملفات في قسم Profiles بواجهة الويب);
  • vtermc -p — دون معرف ملف: يعرض المُنتقي ملفات الخادم تفاعليًا;
  • vtermc -w <dir> — تحديد مجلد العمل للجلسة الجديدة.

عندما لا يكون stdin طرفية (أنبوب أو ملف)، يتحول vtermc إلى الوضع الدفعي: يُغذّى stdin إلى الجلسة وتتدفق المخرجات حتى إغلاق الجلسة — مفيد من السكربتات أو الوكلاء:

echo "make test" | vtermc

الاتصال بخادم

  • --server wss://host:port — الاتصال بخادم محدد بدل المحلي (عناوين IPv6 بين قوسين: wss://[fd00::1]:7878)؛ متغير البيئة VTERM_SERVER يحدد الافتراضي نفسه;
  • يُجاب المصافحة بمفتاح الخادم السري: الخوادم المضافة عبر -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 تشفيرها ويملأ الاسم والعنوان والمفتاح السري تلقائيًا.

تفاصيل تجدر المعرفة:

  • إعادة إضافة عنوان موجود تحدّث ذلك المدخل في مكانه (يُحفظ معرفه) بدل تكراره;
  • تُرفض العناوين المحلية — Local متاح ضمنيًا دائمًا ولا يحتاج مدخلًا أبدًا;
  • يعرض مدخلات أيضًا Server Manager في عميل سطح المكتب.

اختيار الخوادم والجلسات

يفتح vtermc -s مُنتقيين بملء الشاشة (يتطلب طرفية تفاعلية):

  1. قائمة الخوادم — Local أولًا، ثم كل خادم مُدار بصيغة Name (address). تنقّل بالأسهم أو 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 للخادم [env: VTERM_SERVER]
-e, --env <VAR=VALUE>         متغيرات بيئة إضافية
    --no-env                  عدم توريث متغيرات البيئة
    --env-inherit <PATTERNS>  أنماط متغيرات البيئة للتوريث [env: VTERM_ENV_INHERIT]