الطرفية

صُمِّمت طرفية Mobile SSH للتشغيل على الهاتف والجهاز اللوحي. تجمع بين مساحة الطرفية، وصف المفاتيح الإضافية، وأجزاء الجلسات المتعددة، ومعالجة التمرير، وسلوك إعادة الاتصال.

أساسيات الطرفية

شبكة الجلسات المتعددة

يمكن لـ Mobile SSH تشغيل ما يصل إلى ثماني جلسات SSH في الوقت نفسه. تظهر كل جلسة كجزء في شبكة الطرفيات. اضغط على جزء لتحديده، أو استخدم + Add Session لبدء اتصال آخر.

يذكر رأس الجزء أين أنت. على Android يعرض دليل العمل الحقيقي للجزء، مأخوذًا من tmux أو مُبلَّغًا من الصدفة عبر OSC 7 ويُحدَّث ما دام التطبيق مفتوحًا؛ وعلى iOS يعرض العنوان الذي يضبطه الطرف البعيد، ويرجع إلى user@host:port عند غيابه.

إغلاق اللوحة يقطع اتصال SSH الخاص بها. تبقى الاتصالات متاحة من الجلسات النشطة بعد العودة للرئيسية. يوضح العنوان تعطل الاستجابة؛ وتتيح الإعدادات عرض سرعة النقل وتعتيم الشاشة أو الاهتزاز اختياريًا عند توقف الرد.

Eternal Terminal (ET)

يوفر النظامان وسائل النقل التالية في محدد النقل عند إضافة خادم أو تعديله:

يُبقي ET الجلسة حيّة على الخادم، فحين يغيّر هاتفك الشبكة أو يستيقظ من النوم، يعيد Mobile SSH الإرفاق بالصدفة العاملة نفسها بدل فتح صدفة جديدة. وهذا يجعله مناسبًا لبيانات الجوّال، والتنقّل بين Wi-Fi والشبكة الخلوية، والأوامر طويلة التنفيذ.

يحتاج ET إلى عملية etserver على المضيف. إن لم توجد، يعرض Mobile SSH تثبيتها وتشغيلها عبر SSH. راجع أوامر الإعداد ووافق عليها، ثم اختر Eternal Terminal للاتصال. مسارات الخوادم الوسيطة تتطلب نقل SSH.

صف المفاتيح الإضافية

تضع كلتا المنصّتين صفًّا من ثلاثة عشر مفتاح طرفية في متناول يدك — تلك التي يصعب استخدامها أو تغيب عن لوحة المفاتيح اللمسية. على Android هو شريط في أسفل الجلسة (يُخفي نفسه عند توصيل لوحة مفاتيح عتادية)؛ وعلى iOS يعلو لوحة المفاتيح البرمجية.

المجموعتان الافتراضيتان بالحجم نفسه لكنّهما ليستا متطابقتين:

AndroidiOS
الافتراضيESC TAB CTRL الأسهم HOME PGUP END PGDN ⌫ ⌨ESC TAB CTRL ⇧ الأسهم HOME END PGUP PGDN ⌨
الفرقفيه مفتاح المسح للخلف، بلا Shiftفيه Shift لاصق، بلا مفتاح مسح للخلف

الصفّ لا يُمرَّر أبدًا. عندما تتوقّف المفاتيح عن الاتّساع في العرض، تقتسم المساحة بالتساوي وتلتفّ إلى صفّ ثانٍ؛ وما يتبقّى بعد ذلك يُطوى في قائمة فائض ⋯. فلا شيء مخفيّ خلف سحبة أو مقصوص عند حافة الشاشة، ويظلّ المعدِّل المُهيَّأ ساريًا على مفتاح تختاره من قائمة الفائض.

يعمل CTRL كمعدِّل لاصق: اضغط CTRL ثم اكتب C لإرسال Ctrl-C. أمّا Shift فهو ألصق على iOS منه على Android — إذ يجعل على iOS الحرف التالي الذي تكتبه على لوحة المفاتيح البرمجية كبيرًا أيضًا، بينما ينطبق على Android على مفاتيح الشريط نفسها فقط (Shift+Tab وShift+الأسهم).

اضغط مطوّلًا على مفتاح مثل سهم أو PGDN فيتكرّر.

سلوك لوحة المفاتيح

يرسل Android الكتابة العادية مباشرة إلى الصدفة البعيدة، مع تعطيل التصحيح والتوقعات افتراضيًا. يظل الإملاء الصوتي قادرًا على إدخال النص عبر لوحة المفاتيح.

في iOS، الإعدادات ← الطرفية ← الإملاء والاقتراحات مفعّل افتراضيًا، ويدعم الإملاء والتوقع والتصحيح أثناء كتابة السطر. لإرسال ضغطات خام، عطله واترك اقتراحات لوحة المفاتيح معطلة، ثم افتح لوحة جديدة.

يتحكم إظهار لوحة المفاتيح بالنقر في فتح لوحة المفاتيح البرمجية باللمس. افتراضيًا يكون معطلًا في Android ومفعّلًا في iOS؛ ويظل زر لوحة المفاتيح في الشريط متاحًا.

لوحات المفاتيح العتادية

تقود لوحات المفاتيح الخارجية وBluetooth الطرفية مباشرةً على كلٍّ من Android وiOS. إلى جانب الأحرف العادية، يعيّن Mobile SSH مفاتيح الأسهم وHome/End وPgUp/PgDn وInsert وDelete وEsc ومفاتيح الوظائف F1–F12 وتوليفات Ctrl+مفتاح وAlt/Option بوصفها Meta وShift+Tab. تتّحد مفاتيح التعديل مع المعدِّلات اللاصقة في صف المفاتيح الإضافية.

اللصق

يُغلَّف اللصق داخل برنامج يطلبه (bash وVim وغيرها من تطبيقات اللصق المُقوَّس) بعلامات اللصق المُقوَّس، بحيث يُدرَج محتوى الحافظة متعدد الأسطر كنص بدلًا من تنفيذه تلقائيًا سطرًا سطرًا. تُغلَّف عمليات اللصق الحقيقية فقط؛ أما النص المكتوب والمُملى فيبقى دون تغيير.

التحديد والنسخ والمشاركة

اضغط مطولًا داخل الطرفية لتحديد الكلمة، ثم اسحب المقابض لتعديل التحديد. يشمل شريط التحديد:

البحث في الطرفية

ابحث في كامل مخزّن الطرفية — سجل التمرير والشاشة المرئية — وتنقّل بين النتائج. افتح البحث من عناصر تحكم الطرفية، واكتب استعلامًا، وتنقّل بين المطابقات. يعمل هذا على كلٍّ من Android وiOS.

الألوان والخط المائل والحافظة البعيدة

تكامل الصدفة والصور المضمّنة

المظهر والمفاتيح

على كلٍّ من Android وiOS، تتيح لك Settings تخصيص الطرفية:

تُعيد إعادة الضبط الإعداداتِ الافتراضية المشحونة مع النسخة بدل تجميد قائمة اليوم، فتصلك تحسينات الإصدارات اللاحقة أيضًا. وتُطبَّق التعديلات مباشرةً على الأجزاء المفتوحة أصلًا.

التمرير

يوجّه Mobile SSH إيماءات التمرير حسب حالة الطرفية:

على النظامين، يرسل النقر داخل برنامج يتتبع الفأرة نقرة يسرى عادةً. في iOS، يبدل النقر يضع المؤشر هذا السلوك بتحريك المؤشر، وينفذ Shift مع النقر الإجراء الآخر. السحب بعد الضغط المطول اختياري ومعطل افتراضيًا؛ السحب العادي يمرر المحتوى.

إذا كتبت أثناء التمرير للخلف، يعود Mobile SSH إلى عرض الطرفية المباشر.

سلوك tmux

يراقب Mobile SSH أوامر tmux الصادرة للإرفاق وإنشاء جلسة جديدة، مثل:

tmux attach -t work
tmux a -t work
tmux new -A -s work

عند انقطاع الاتصال يتذكر التطبيق جلسة tmux والمقبس المتصلين، ليعود إليهما بعد الاتصال مجددًا. تحتفظ اللوحات على المضيف نفسه بأهدافها المستقلة. إذا اختفت الجلسة، تظل الصدفة متاحة.

يقرأ iOS بادئة tmux الحالية عند تبديل المقابس ولا يفترض Ctrl+B. البادئة غير المدعومة أو فشل الاستعلام يوقف العملية برسالة. الكتابة أو إغلاق اللوحة أو قطع الاتصال يلغي خطوات الإرفاق المعلقة؛ ولا تُرسل أوامر الإرفاق إلى برنامج ملء شاشة مجهول.

مدير tmux

يتيح مدير tmux في Mobile SSH التصفح والتحكم دون كتابة مفاتيح البادئة. افتحه من زر معدد الجلسات في اتصال نشط؛ واضغط مطولًا لاختيار tmux عند توفر عدة مديرين. يتكون من ثلاثة أقسام:

من المدير يمكنك:

يشير 🔔 إلى أيّ جلسة ينتظر وكيلها مدخلات، فترى بلمحة تشغيلًا متوقفًا لـ Claude Code أو Codex وترفق به. وهذا يكمّل تلميحات إعادة الإرفاق أعلاه: فمنطق إعادة الإرفاق يستعيد آخر جلسة لك تلقائيًا عند إعادة الاتصال، بينما يمنحك المدير تحكّمًا يدويًا كاملًا.

يدعم النظامان إدارة عدة خوادم tmux (مقابس) على المضيف نفسه. تشير علامة الإرفاق إلى الطرفية التي تستخدمها، لا إلى عميل آخر على الخادم.

Herdr وZellij

يدير Android وiOS أيضًا Herdr وZellij. يفتح زر واحد في الشريط المعدد الأساسي المكتشف؛ والضغط المطول يختار غيره. تظهر فقط البرامج الموجودة على الخادم. داخل المدير، يبدّل عنوان الخادم الخوادم، ويبدّل محدد المعدد المديرين.

وإذا كان herdr أو Zellij مثبَّتًا لكنه ليس على PATH لصدفة تسجيل الدخول، تعرض الصفحة إضافته.

لكل خادم محفوظ خيار الإرفاق عند الاتصال: تلقائي أو لا شيء أو tmux أو herdr أو Zellij. يستخدم التلقائي نتائج الكشف والتاريخ، ويفضل المعدد المستخدم سابقًا، ثم الذي لديه جلسات نشطة، ثم المثبت. دون كشف مخزن يفتح صدفة عادية. يؤثر الكشف اللاحق في الاتصالات المستقبلية فقط ولا يشغل برنامجًا فوق إدخالك الحالي.

تنبيهات الوكيل

يخبرك Mobile SSH حين يتوقّف وكيل برمجة ذكي بعيد — Claude Code أو Codex أو Gemini — بانتظارك. وهو لا يخمّن ذلك بقراءة مخرجات طرفيتك. وهناك مساران يعملان بمستويَي تفصيل مختلفين.

الجرس

قد يطلق جرس الطرفية تنبيه وكيل. تُتجاهل الأجراس بعد الكتابة مباشرة افتراضيًا. لإشعارات البرامج البعيدة (OSC 9 وOSC 777) وتنبيهات اكتمال الأوامر OSC 133 إعدادات مستقلة؛ كلاهما معطل افتراضيًا في iOS حتى تفعله.

لا يحتاج هذا إلى أيّ إعداد، لكن التطبيق لا يعرف إلا أنّ شيئًا ما رنّ.

خُطّاف الوكيل

ولكي يعرف التطبيق أيّ وكيل ينتظر وماذا يفعل، ثبّت خُطّاف الوكيل على الخادم:

يكتب هذا سكربت صدفة صغيرًا في ~/.mobile-ssh/agent-hook.sh على ذلك الخادم. وهو محايد تجاه الوكلاء — يأخذ وسائط سطر أوامر بدل تحليل صيغة مزوّد بعينه — فيستطيع أيّ شيء يمكنه تشغيل أمر أن يُبلِغ عبره. وحذف الملف إلغاء تثبيت نظيف.

وبمجرد أن يُبلِغ وكيل عبر الخُطّاف:

الردّ دون كتابة

عندما يطرح وكيل سؤالًا بمجموعة إجابات محدّدة، يعرض التطبيق زرًّا لكل خيار — حتى ستة — في قائمة Agents. وعلى Android يمكنك أيضًا النقر على شارة الوكيل في رأس الجزء.

ولا تُكتب إجابتك داخل الجلسة. بل تُكتب في ملف عبر قناة منفصلة ويلتقطها الخُطّاف، فلا يمكن للردّ أن يُفسد ما على الشاشة. ويرفض التطبيق إرسال خيار لم يعرضه السؤال فعلًا، ويخبرك بوضوح إن كان الاتصال قد انقطع بدل أن يفشل بصمت.

الإعدادات

تنبيهات الوكلاء مفعلة افتراضيًا على النظامين، مع مفاتيح منفصلة للإشعارات والصوت والاهتزاز واللوحة النشطة. في iOS تنبيه اللوحة النشطة مفعّل أيضًا، ويمكن قصر الإشعارات على الخلفية. يستقبل iOS التنبيهات فقط أثناء السماح للتطبيق بالعمل؛ تعليق الخلفية الطويل يقطع تنبيهات SSH الحية.

وثمّة إعداد افتراضي يستحق المعرفة: الصوت مقصور على سماعات الأذن. فمع عدم توصيل أو اقتران أيّ سماعة، يُشعِر التنبيه ويهتزّ لكنه لا يصدر نغمة. أوقِف ذلك إن أردت سماع التنبيه من سمّاعة الهاتف.

ولا يوجد إعداد للحساسية ولا منتقٍ للصوت — فالتحكّم تشغيل/إيقاف فقط.

برامج الطرفية بملء الشاشة

لبرامج مثل Vim وless وhtop وأدوات ncurses وأجزاء tmux:

أسطح المكتب البعيدة

يفتح النظامان سطح مكتب بعيدًا عبر VNC داخل SSH. أعد استخدام شاشة مشتركة قائمة، ومنها مشاركة شاشة macOS، أو وافق على إعداد سطح مكتب Linux مدعوم. يجب أن يوفر الخادم سطح المكتب؛ صلاحية SSH وحدها لا تنشئ جلسة رسومية. عكس شاشة Linux يحتاج X11 لا Wayland؛ ويستخدم macOS الشاشة المشتركة القائمة دون إنشاء سطح مكتب مستقل.

استخدم اللمس للنقر والسحب والتكبير، ولوحة المفاتيح البرمجية أو الخارجية للكتابة. تتيح الحافظة لصق نص الهاتف في سطح المكتب ونسخ النص منه إلى الهاتف.

يوفر حجم الشاشة مقاسات جاهزة ومخصصة تُحفظ لكل خادم. في iOS يجب أن يكون كل ضلع بين 320 و5120 بكسل. يحافظ تغيير الحجم الحي على البرامج عندما يدعمه الخادم. البديل بإعادة التشغيل يتطلب تأكيدًا ولا يتاح إلا لسطح مكتب مستقل أنشأه التطبيق. لا تُعاد تشغيل أسطح المكتب القائمة أو الشاشات المشتركة لتغيير الحجم؛ غيّر دقة Mac في إعدادات شاشاته إن لم يدعم التغيير الحي.