remove opt-in Linux headless support

Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
fufesou
2026-08-15 10:01:13 +08:00
parent d7de5fc3e9
commit e60ab07b37
45 changed files with 132 additions and 411 deletions
+6 -14
View File
@@ -4,7 +4,7 @@ lang: 'ar'
translationKey: 'rustdesk-for-linux'
draft: false
title: 'RustDesk لنظام Linux: سطح المكتب البعيد مفتوح المصدر'
excerpt: 'ثبّت RustDesk وشغّله على Linux: حزم .deb و.rpm وFlatpak وAppImage، الفرق بين X11 وWayland، الوصول بلا رأس (headless) والوصول غير المراقَب، واستضافة الخادم ذاتيًا.'
excerpt: 'ثبّت RustDesk وشغّله على Linux: حزم .deb و.rpm وFlatpak وAppImage، الفرق بين X11 وWayland، الوصول غير المراقَب، واستضافة الخادم ذاتيًا.'
image: '~/assets/images/blog/rustdesk-for-linux-og.webp'
category: 'أدلة'
tags: ['RustDesk', 'Linux', 'الاستضافة الذاتية']
@@ -12,21 +12,19 @@ author: 'RustDesk Team'
slug: 'rustdesk-for-linux-ar'
faq:
- question: 'هل يعمل RustDesk على Wayland؟'
answer: 'نعم — يتمتع RustDesk بواحد من أقوى مستويات دعم Wayland بين جميع أدوات سطح المكتب البعيد، بما في ذلك مشاركة الشاشات المتعددة التي أُضيفت في الإصدار 1.4.3. على Wayland، يلتقط RustDesk الشاشة عبر PipeWire وبوابة سطح المكتب XDG، والتي تعرض مربع حوار للموافقة يطلب منك اختيار الشاشة المطلوبة — وفي معظم الحالات يُحفظ الاختيار فلا يُطلب منك تكراره — ويعمل الالتقاط ضمن الجلسة الرسومية النشطة المسجَّل الدخول إليها. خطوة الموافقة هذه هي جزء من تصميم Wayland الأمني، تشترك فيها كل تطبيقات مشاركة الشاشة وليس RustDesk وحده. أما بالنسبة إلى الأجهزة التي تحتاج إلى وصول قبل تسجيل الدخول أو وصول غير مراقَب بالكامل، فاستخدم حاليًا إعداد الشاشة الافتراضية بلا رأس (أو جلسة X11 إن كانت التوزيعة لا تزال توفرها، إذ إن عدة توزيعات تتجه إلى الاعتماد على Wayland حصرًا)؛ أما الالتقاط الكامل غير المراقَب على Wayland فهو قيد التطوير النشط (راجع github.com/rustdesk/rustdesk/pull/15420).'
answer: 'نعم — يتمتع RustDesk بواحد من أقوى مستويات دعم Wayland بين جميع أدوات سطح المكتب البعيد، بما في ذلك مشاركة الشاشات المتعددة التي أُضيفت في الإصدار 1.4.3. على Wayland، يلتقط RustDesk الشاشة عبر PipeWire وبوابة سطح المكتب XDG، والتي تعرض مربع حوار للموافقة يطلب منك اختيار الشاشة المطلوبة — وفي معظم الحالات يُحفظ الاختيار فلا يُطلب منك تكراره — ويعمل الالتقاط ضمن الجلسة الرسومية النشطة المسجَّل الدخول إليها. خطوة الموافقة هذه هي جزء من تصميم Wayland الأمني، تشترك فيها كل تطبيقات مشاركة الشاشة وليس RustDesk وحده. أما بالنسبة إلى الأجهزة التي تحتاج إلى وصول قبل تسجيل الدخول أو وصول غير مراقَب بالكامل، فاستخدم حاليًا جلسة X11 إن كانت التوزيعة لا تزال توفرها، إذ إن عدة توزيعات تتجه إلى الاعتماد على Wayland حصرًا؛ أما الالتقاط الكامل غير المراقَب على Wayland فهو قيد التطوير النشط (راجع github.com/rustdesk/rustdesk/pull/15420).'
- question: 'ما الحزمة التي يجب تثبيتها على Linux؟'
answer: 'استخدم حزمة .deb على Debian وUbuntu وLinux Mint، وحزمة .rpm على Fedora وRHEL وopenSUSE، أو Flatpak من Flathub للحصول على نسخة معزولة (sandboxed) وواسعة التوافق، أو ملف AppImage المحمول كخيار احتياطي بملف واحد. تقوم حزمتا .deb و.rpm بتسجيل خدمة systemd وتشغيلها تلقائيًا بحيث يستمر عمل RustDesk بعد إعادة التشغيل؛ أما Flatpak وAppImage فلا يفعلان ذلك افتراضيًا.'
- question: 'لماذا يظهر جهاز Linux بلا رأس (headless) الخاص بي شاشة سوداء؟'
answer: 'عندما لا تكون هناك أي شاشة متصلة بالجهاز، لا يقوم X ولا Wayland بتخصيص ذاكرة إطار (framebuffer)، وبالتالي لا يكون هناك ما يلتقطه RustDesk، فتظهر لدى الطرف المشاهِد شاشة سوداء أو شاشة بانتظار الصورة. وصّل قابسًا وهميًا من نوع HDMI أو DisplayPort، أو اضبط شاشة افتراضية باستخدام برنامج مثل xserver-xorg-video-dummy أو VKMS، أو فعّل وضع RustDesk الاختياري للعمل بلا رأس على Linux ليُنشأ لك شاشة افتراضية تلقائيًا.'
- question: 'هل يمكنني استضافة خادم RustDesk ذاتيًا على Linux؟'
answer: 'نعم. خادم RustDesk (عمليتا hbbs لتعريف الهوية والربط (ID/rendezvous) وhbbr للترحيل (relay)) مصمم لنظام Linux، وهو الأسلوب المعتاد لتشغيله. يعمل خادم المجتمع المجاني ومفتوح المصدر إلى أجل غير مسمى دون أي تكلفة، بينما تضيف نسخة Server Pro وحدة تحكم ويب، ومجموعات أجهزة، ومولّد عميل مخصص العلامة التجارية. ويمكن تثبيت كلتا النسختين على جهاز افتراضي (VM) عادي يعمل بنظام Linux أو على خادم فعلي (bare-metal).'
metadata:
description: 'RustDesk على Linux من الألف إلى الياء: اختيار الحزمة المناسبة لكل توزيعة ولوحات ARM، التقاط الشاشة عبر Wayland وX11، إعداد الوضع بلا رأس، وتشغيل خادمك الخاص.'
description: 'RustDesk على Linux من الألف إلى الياء: اختيار الحزمة المناسبة لكل توزيعة ولوحات ARM، التقاط الشاشة عبر Wayland وX11، وتشغيل خادمك الخاص.'
keywords: 'RustDesk لنظام Linux، RustDesk أوبونتو، RustDesk وWayland، RustDesk وX11، تثبيت RustDesk على Linux'
---
لم يحظَ مستخدمو Linux يومًا بخيارات وفيرة من أدوات سطح المكتب البعيد الجيدة، فالأدوات المتاحة غالبًا ما تكون إما منتجات تجارية مغلقة المصدر أو حزم VNC قديمة الطراز. أما RustDesk فيحتل موقعًا مختلفًا: فهو برنامج سطح مكتب بعيد مفتوح المصدر مرخّص بموجب AGPL، يعمل بشكل أصلي على جميع التوزيعات الرئيسية، ويمكنك توجيهه للعمل مع خادم تستضيفه بنفسك. هذا المزيج — كود قابل للتدقيق، وعميل Linux أصلي، وبنية تحتية قابلة للاستضافة الذاتية — هو ما جعل RustDesk أحد أبرز الإجابات التي يلجأ إليها من يبحث عن سطح مكتب بعيد مفتوح المصدر لنظام Linux.
يتناول هذا الدليل طريقة تثبيت RustDesk، والنقطة الوحيدة التي تُربك الجميع عادة (الفرق بين X11 وWayland)، وكيفية تفعيل الوصول غير المراقَب والوصول بلا رأس، وموقع الخادم من هذه الصورة.
يتناول هذا الدليل طريقة تثبيت RustDesk، والنقطة الوحيدة التي تُربك الجميع عادة (الفرق بين X11 وWayland)، وكيفية تفعيل الوصول غير المراقَب، وموقع الخادم من هذه الصورة.
## تثبيت RustDesk على Linux
@@ -53,7 +51,7 @@ metadata:
**Wayland: يمكن القول إن RustDesk يمتلك أقوى دعم لـ Wayland بين جميع أدوات سطح المكتب البعيد.** يدعم RustDesk بروتوكول Wayland منذ الإصدار 1.2.0، وما زال يوسّع هذا الدعم باستمرار. ولأن مُركِّبات (compositors) Wayland لا تسمح بالوصول المباشر إلى ذاكرة الإطار، يلتقط RustDesk الشاشة عبر خدمة `xdg-desktop-portal` ومكتبة [PipeWire](https://deepwiki.com/rustdesk/rustdesk/6.3.1-wayland-support)، ويحقن الإدخال عبر وحدة نواة النظام `uinput`. وينتج عن تصميم Wayland نفسه أمران يسريان على كل أدوات مشاركة الشاشة على Wayland، وليس RustDesk فقط:
- **موافقة عند كل اتصال.** تعرض البوابة (portal) مربع حوار يطلب منك اختيار الشاشة المراد مشاركتها. هذه ميزة أمنية مقصودة في تصميم Wayland، وليست خللًا في RustDesk — فلا يمكن لتطبيق يعمل في الخلفية أن يبدأ تسجيل شاشتك خلسةً. تدعم الإصدارات 4 وما بعدها من البوابة ما يُعرف بـ"رمز الاستعادة" (restore token) بحيث لا يُطلب منك التأكيد في كل مرة، لكن أول عملية مشاركة تتطلب نقرة على الشاشة.
- **الجلسة النشطة فقط.** الالتقاط على Wayland مرتبط بالجلسة الرسومية التي جرى تسجيل الدخول إليها. التقاط شاشة الترحيب (greeter) الخاصة بتسجيل الدخول على Wayland غير مدعوم حتى الآن — وهو قيد التطوير النشط ([طلب السحب رقم 15420](https://github.com/rustdesk/rustdesk/pull/15420)). للوصول قبل تسجيل الدخول حاليًا، استخدم إعداد الشاشة الافتراضية بلا رأس أدناه، أو جلسة X11 على التوزيعات التي لا تزال توفرها.
- **الجلسة النشطة فقط.** الالتقاط على Wayland مرتبط بالجلسة الرسومية التي جرى تسجيل الدخول إليها. التقاط شاشة الترحيب (greeter) الخاصة بتسجيل الدخول على Wayland غير مدعوم حتى الآن — وهو قيد التطوير النشط ([طلب السحب رقم 15420](https://github.com/rustdesk/rustdesk/pull/15420)). للوصول قبل تسجيل الدخول حاليًا، استخدم جلسة X11 على التوزيعات التي لا تزال توفرها.
يستمر دعم Wayland في التحسّن — فعلى سبيل المثال، [أضاف الإصدار RustDesk 1.4.3](https://ubuntuhandbook.org/index.php/2025/10/rustdesk-released-1-4-3-with-multi-monitor-for-wayland-virtual-mouse/) (أكتوبر 2025) دعم مشاركة الشاشات المتعددة على Wayland. لكن إذا اتصلت وظهرت لك شاشة سوداء على جهاز يعمل بـ Wayland، فالسبب في الغالب هو عدم اكتمال مسار البوابة وPipeWire. مقالنا المخصص بعنوان [RustDesk متصل لكنه بانتظار الصورة](/ar/blog/rustdesk-connected-waiting-for-image-ar) يشرح تحديدًا حالة الشاشة السوداء على Wayland.
@@ -63,21 +61,15 @@ metadata:
1. ثبّت RustDesk عبر حزمة `.deb` أو `.rpm` كي يُسجَّل خدمة systemd، أو انقر على **Enable Service** (تفعيل الخدمة) داخل التطبيق.
2. في RustDesk، عيّن **كلمة مرور دائمة** قوية ضمن إعدادات الاتصال (ويُفضَّل أيضًا تفعيل المصادقة الثنائية).
3. للوصول قبل تسجيل الدخول أو عبر جلسات مستخدمين متعددة، استخدم إعداد الشاشة الافتراضية بلا رأس أدناه (وتنطبق هنا الفجوة الخاصة بشاشة ترحيب Wayland المذكورة أعلاه).
من حقائق Wayland التي ينبغي التخطيط لها: نظام البوابة القائم على الموافقة، والمذكور في قسم Wayland أعلاه، يجعل الالتقاط غير المراقَب بالكامل أصعب مقارنةً بـ X11، إلى أن يصدر دعم الوصول غير المراقَب الجاري تطويره حاليًا. لذا خطّط لاستخدام إعداد الشاشة الافتراضية بلا رأس للأجهزة التي تُدار من دون تدخل بشري.
## Linux بلا رأس: الخوادم التي لا تملك شاشة
من الحالات الشائعة جدًا على Linux وجود جهاز لا تتصل به أي شاشة إطلاقًا — كخادم منزلي، أو جهاز مختبر، أو جهاز افتراضي (VM). والمشكلة هنا ليست في RustDesk، بل في مكدّس الرسومات (graphics stack): فمن دون شاشة موصولة، لا يقوم X ولا Wayland بتخصيص ذاكرة إطار على الإطلاق، وبالتالي لا توجد فعليًا أي صورة لالتقاطها، فتظهر لك شاشة سوداء.
توجد ثلاث طرق لمنحه شيئًا يمكن عرضه:
توجد طريقتان لمنحه شيئًا يمكن عرضه:
- **قابس وهمي (dummy plug)** — جهاز HDMI/DisplayPort فعلي رخيص الثمن مخصص للتشغيل بلا رأس، يجعل بطاقة الرسومات (GPU) تعتقد أن هناك شاشة متصلة.
- **مشغّل شاشة افتراضية** — مثل `xserver-xorg-video-dummy` على X11، أو خيار على مستوى النواة (kernel) مثل VKMS.
- **وضع RustDesk الاختياري للعمل بلا رأس** — فعّله باستخدام الأمر `sudo rustdesk --option allow-linux-headless Y`. وبحسب [صفحة ويكي دعم Linux بلا رأس](https://github.com/rustdesk/rustdesk/wiki/Headless-Linux-Support)، فإن هذا الوضع معطَّل افتراضيًا، وقد جرى اختباره بشكل أساسي على Ubuntu مع GNOME، ويتطلب حزمًا مثل `xserver-xorg-video-dummy` و`lightdm`. يمكنك جلب معرّف الجهاز (ID) باستخدام `sudo rustdesk --get-id`، وتعيين كلمة مرور باستخدام `sudo rustdesk --password <password>`.
لا يزال الوضع بلا رأس غير مكتمل الصقل في بعض التفاصيل، لذا تعامل معه على أنه يعمل، لكن بحذر، لا كحل جاهز بالكامل.
## استضافة خادم RustDesk ذاتيًا على Linux