
عميل SSH محسّن مع واجهة مستخدم نصية (TUI) — إدارة الاتصالات والمفاتيح والجلسات
مساحة عمل SSH بجلسات دائمة ولوحات معلومات صحة مباشرة.
حافظ على تشغيل الأصداف البعيدة عبر انقطاعات الاتصال، وبدّل بين المضيفين بالمفاتيح أو الفأرة، وافحص صحة النظام دون مغادرة الطرفية. يستخدم ESSH بروتوكول OpenSSH للاتصالات وtmux للحفاظ على عملك حيًا.
شاهد العرض التوضيحي لمدة 42 ثانية · حمّل إعادة تشغيل المتصفح
افحص الأقراص باستخدام df وlsblk، واعثر على العمليات المزدحمة باستخدام ps،
وقِس نشاط النظام باستخدام vmstat، وافحص المقابس والواجهات باستخدام ss وip.
يعرض العرض التوضيحي تبديل سمة الطرفية، وعروض الصحة الجانبية والنصفية والكاملة،
وتبديل الجلسات، والمساعدة،
واستعادة اتصال منقطع لنفس الصدفة البعيدة.
حمّل ملفًا تنفيذيًا لـ Linux أو macOS، على x86_64 أو ARM64، من
الإصدارات. استخرج الأرشيف
وضع essh في مكان ما ضمن PATH الخاص بك.
تحتاج إلى tmux 3.3+ وOpenSSH محليًا، وtmux على كل مضيف بعيد. تتوفر مقاييس الصحة التفصيلية لمضيفي Linux.
أو ابنِ من المصدر باستخدام Rust:
git clone https://github.com/matthart1983/essh.git
cd essh
cargo build --release
./target/release/essh
يقرأ ESSH المضيفين من ~/.ssh/config، ومن إعداداته الخاصة، ومن ذاكرة المضيفين المؤقتة.
على سبيل المثال:
Host web-01
HostName 192.168.1.20
User deploy
IdentityFile ~/.ssh/id_ed25519
شغّل essh، واختر مضيفًا، واضغط Enter. استخدم / لتصفية المضيفين
وEsc لمسح التصفية. اضغط a لإضافة مضيف أو e لتحرير واحد.
يتولى OpenSSH المصادقة والتحقق من مفتاح المضيف.
| المفتاح | الإجراء |
|---|---|
| F1 | فتح أو إغلاق المساعدة |
| F2 | التنقل بين الطرفية → الصحة الجانبية → الصحة النصفية → الصحة الكاملة → الطرفية |
| F3 | فتح الجلسات؛ اختر جلسة أو اضغط n لبدء أخرى |
| F4 | العودة إلى القائمة الرئيسية بينما تستمر الجلسات في العمل |
| F5 / F6 | التبديل إلى الجلسة السابقة / التالية |
| h على المضيفين | فتح الصحة للمضيف المحدد |
| r بعد انقطاع الاتصال | إعادة الاتصال |
| q على المضيفين | مغادرة ESSH بينما يستمر العمل البعيد في العمل |
انقر على علامات تبويب الجلسات وعناصر التحكم في التنقل لتبديل العروض. انقر على صف لتحديده؛ انقر نقرًا مزدوجًا للاتصال أو التبديل. استخدم عجلة الفأرة للتمرير، وانقر على الأجزاء لتركيزها، واسحب الفواصل لتغيير أحجامها.
إذا كانت لوحة مفاتيحك تستخدم صف الوظائف للسطوع أو مستوى الصوت، فاضغط باستمرار على Fn أثناء الضغط على مفتاح F، أو فعّل مفاتيح الوظائف القياسية في إعدادات لوحة المفاتيح. عناصر التحكم في التنقل قابلة للنقر أيضًا، ويسرد F1 المفاتيح المتاحة.
تبدأ الجلسات البعيدة صدفة تسجيل الدخول المُهيأة للحساب البعيد وتحمّل ملفات بدء التشغيل العادية الخاصة بها—zsh، أو bash، أو fish، أو أي صدفة يستخدمها ذلك الحساب. تأتي موجهك وأسماؤك المستعارة وارتباطات مفاتيح الصدفة من ذلك الحساب البعيد. تحتفظ الأصداف الموجودة بحالتها قيد التشغيل عند إعادة الاتصال.
يستخدم ESSH ألوان طرفيتك افتراضيًا. اختر سمة لتغيير لون المقدمة والخلفية للصدفة إلى جانب لوحة المعلومات:
essh --theme terminal
essh --theme netwatch
essh --theme light
اضغط t في القوائم أو عروض الصحة، أو Ctrl+A، ثم t من صدفة، لفتح منتقي السمات. تعرض مفاتيح الأسهم معاينة لكل لوحة ألوان؛ Enter أو نقرة تطبّقها وتحفظها. Esc يلغي دون تغيير تفضيلك.
اختر Terminal، أو Netwatch، أو Light، أو Solarized، أو Dracula، أو Nord، أو Ocean، أو Sky. يستخدم Netwatch خلفية فحمية مع عناوين سماوية ومقاييس خضراء. تُطبّق السمة المحددة عبر القوائم وعروض الصحة وأشرطة التنقل وأجزاء الطرفية. اختر Terminal لاستعادة ألوان طرفيتك الأصلية. لا يزال بإمكان البرامج والموجهات تعيين ألوانها الخاصة.
لحفظ تفضيل، عيّن theme = "terminal" (أو اسم سمة أخرى) في أعلى
~/.essh/config.toml. طبّقه على مساحة عمل مفتوحة باستخدام
essh tmux refresh؛ تستمر جلسات SSH في العمل. يتحكم محاكي الطرفية لديك
في الخط وحجم الخط.
اضغط F2 للتنقل بين:
| العرض | ما تراه |
|---|---|
| الطرفية | صدفك مع أشرطة الجلسة والتنقل |
| الصحة الجانبية | شريط ضيق مع حركة المرور، والمعالج، والذاكرة، والقرص، وزمن الاستجابة |
| الصحة النصفية | صدفك ولوحة معلومات يتقاسمان الطرفية |
| الصحة الكاملة | حركة مرور الشبكة، وأنوية المعالج، والذاكرة، والتخزين، والأقران، والعمليات |
تستخدم لوحات المعلومات مقاييس رفيعة وقراءات مباشرة. تظهر القراءات غير المتاحة —؛ ويُشار بوضوح إلى المضيفين غير المتصلين. تتخطى الطرفيات الضيقة التخطيطات الجانبية.
في لوحة المعلومات:
للوصول المباشر، اضغط Ctrl+A، واتركه، ثم h للصحة الكاملة أو m للتنقل بين الصحة الجانبية → الصحة النصفية → إيقاف.
استخدم F3، ثم n، لفتح جلسة مستقلة أخرى. بدّل باستخدام F5 / F6، أو منتقي الجلسات، أو الفأرة. يعيد F4 إلى قائمة المضيفين دون إنهاء جلساتك.
تبقى معرفات الجلسات بعد عمليات إعادة التشغيل المحلية. تعيد إعادة الاتصال ربط الصدفة البعيدة عندما لا تزال موجودة؛ وإذا انتهت، يبدأ ESSH صدفة جديدة. تبقى الحالة البعيدة لجلسة منقطعة غير مؤكدة حتى تعيد الاتصال.
يتحكم Ctrl+A في tmux المحلي. يتحكم Ctrl+B في tmux على المضيف البعيد. اضغط البادئة، واتركها، ثم اضغط المفتاح التالي:
| المفاتيح | الإجراء |
|---|---|
| Ctrl+B، ثم % | تقسيم الطرفية البعيدة جنبًا إلى جنب |
| Ctrl+B، ثم " | تقسيم الطرفية البعيدة أعلى وأسفل |
| Ctrl+B، ثم سهم | التنقل بين الأجزاء البعيدة |
| Ctrl+A، ثم v | إرسال المفتاح التالي مباشرة إلى التطبيق البعيد |
| Ctrl+A، ثم x | إنهاء جلسة بعيدة بعد التأكيد |
F1–F6 محجوزة لـ ESSH. استخدم Ctrl+A، ثم v، عندما يحتاج تطبيق بعيد إلى أحد تلك المفاتيح.
cargo fmt --check
cargo test
cargo clippy --all-targets --all-features -- -D warnings
cargo build --release
ESSH_BIN=target/release/essh python3 scripts/test-tmux-v3.py
يستخدم فحص الانحدار المباشر خادم SSH معزولًا ومقابس tmux. تسجيل العرض التوضيحي والتحقق يشرح كيفية إعادة إنتاج الجولة.
للمساهمة، أنشئ فرعًا، وقم بإجراء تغييرك، وشغّل الفحوصات، وافتح طلب سحب.