إعداد الوصول إلى سطح المكتب عن بُعد على خادم Debian لم يكن شيئاً كنت أتوقع العمل عليه قبل ثلاث سنوات. في تلك الفترة، كان SSH كافياً لكل شيء. لكن العمل عن بُعد غيّر ذلك كلياً.
يمنحك XRDP واجهة رسومية للوصول إلى جهاز Debian الخاص بك من أي مكان. سواء كنت تشخّص مشكلة من المنزل أو تحتاج إلى إظهار شيء مرئي لزميل، فهذا أفضل بكثير من محاولة شرح أوامر الطرفية عبر Slack.
ما هو XRDP ولماذا نستخدمه لسطح المكتب البعيد عبر Debian؟

يُطبّق XRDP بروتوكول سطح المكتب البعيد من Microsoft على أنظمة Linux. على عكس VNC الذي يتطلب برنامج عميل خاصاً به، يعمل XRDP مع تطبيق Windows Remote Desktop Connection المدمج.
شهد الطلب على حلول سطح المكتب البعيد نمواً كبيراً، إذ يُتوقع أن يبلغ حجم سوق برمجيات سطح المكتب البعيد العالمي ١١٫٩٨ مليار دولار بحلول عام ٢٠٣٢، وهو ما يعكس مدى انتشار الوصول عن بُعد.
إليك سبب تفضيلي لـ XRDP على البدائل الأخرى:
- يعمل مع عميل RDP الأصلي في Windows
- يُشفّر الاتصالات بشكل افتراضي
- يدعم عدة مستخدمين في وقت واحد
- يستهلك نطاقاً ترددياً أقل مقارنةً بمعظم تطبيقات VNC
- يتعامل مع مشاركة الحافظة والملفات بشكل جيد
يعمل Debian على ٩٦٫٣٪ من أبرز خوادم الويب، ويستحوذ على ١٦٪ من سوق خوادم Linux. هذا الانتشار الواسع يعني توفر وفرة من التوثيق عند مواجهة أي مشكلة.
متطلبات النظام لخادم Debian RDP
ستحتاج إلى بعض الأشياء قبل البدء:
- Debian 10 أو 11 أو 12
- ذاكرة RAM لا تقل عن 2GB (تعلمت ذلك حين كان نظامي ذو 1GB يتعطل باستمرار)
- صلاحيات Root أو sudo
- اتصال بالشبكة لتنزيل الحزم
- 2GB free disk space minimum
بالنسبة لإعدادات السحابة، فإن Debian VPS تعمل بشكل جيد. لقد اختبرت هذا على DigitalOcean droplets وعلى Linode instances دون أي مشاكل.
كيفية تحديث Debian قبل تثبيت XRDP

ابدأ دائمًا بالتحديث. أضعت مرةً ساعتين في تتبع تعارضات بين الحزم كان بإمكان تحديث بسيط تجنبها.
sudo apt update && sudo apt upgrade -y
يجلب هذا الأمر أحدث معلومات الحزم ويطبق تصحيحات الأمان. الخيار -y يتخطى رسائل تأكيد العمليات.
كيفية تثبيت بيئة سطح مكتب لـ XRDP على Debian

تعمل معظم خوادم Debian بدون واجهة رسومية. تحتاج إلى بيئة سطح مكتب حتى يعمل XRDP بشكل صحيح.
sudo apt install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils -y
أستخدم Xfce لأنه خفيف الوزن ومستقر عبر الاتصالات البعيدة. GNOME يؤدي الغرض أيضًا لكنه يستهلك موارد أكثر. حزمة xfce4-goodies تضيف أدوات مفيدة كالآلة الحاسبة ومحرر النصوص.
تثبيت XRDP على خادم Debian خطوةً بخطوة

ثبّت XRDP من مستودعات Debian:
sudo apt install xrdp -y
تحقق من أنه بدأ بشكل صحيح:
sudo systemctl status xrdp
يجب أن ترى نشط (قيد التشغيل) باللون الأخضر. إن لم يظهر ذلك، فثمة خطأ وقع أثناء التثبيت.
كيفية ضبط إعدادات XRDP وجلسات المستخدمين على Debian

يحتاج XRDP إلى بعض التعديلات ليعمل بسلاسة. الإعداد الافتراضي يتسبب في مشكلات واجهتها مرات عدة.
ضبط جلسات المستخدمين لـ XRDP على Debian
أنشئ ملف جلسة لكل مستخدم يحتاج إلى الوصول عبر RDP:
echo "xfce4-session" > ~/.xsession
بدون هذا الملف، ستحصل على سطح مكتب فارغ عند تسجيل الدخول. استغرق مني وقتًا طويلًا لاكتشاف ذلك في المرة الأولى.
كيفية إضافة مستخدم XRDP إلى مجموعة SSL-Cert
يحتاج XRDP إلى الوصول إلى شهادات SSL لتأمين الاتصالات:
sudo adduser xrdp ssl-cert
إعادة تشغيل خدمة XRDP بعد إجراء التغييرات
أعد تشغيل الخدمة لتطبيق تغييرات الإعداد:
sudo systemctl restart xrdp
كيفية فتح المنفذ 3389 لـ RDP على Debian

يستخدم RDP المنفذ 3389. تحتاج إلى فتحه في جدار الحماية مع إبقاء كل شيء آخر مغلقاً.
تأمين الوصول إلى RDP باستخدام جدار الحماية UFW على Debian
يُعدّ UFW (جدار الحماية غير المعقد) أبسط للإعدادات الأساسية:
sudo ufw allow 3389/tcp
لتعزيز الأمان، قيّد الوصول بعنوان IP الخاص بك:
sudo ufw allow from YOUR_IP_ADDRESS to any port 3389
استبدل YOUR_IP_ADDRESS بعنوان IP العام الفعلي الخاص بك.
كيفية استخدام nftables لقواعد جدار حماية XRDP
إذا كنت تستخدم nftables بدلاً من UFW:
sudo nft add rule inet filter input tcp dport 3389 ct state new, established counter accept
أفضّل UFW في معظم الحالات، لكن nftables يمنحك تحكماً أدق إن كنت بحاجة إليه.
كيفية تعديل XRDP.ini لتحسين الأمان والأداء
يعمل الإعداد الافتراضي لـ XRDP للوصول الأساسي، لكن قد ترغب في تخصيص إعدادات الاتصال أو معاملات الأمان.
عدّل ملف الإعداد الرئيسي:
sudo nano /etc/xrdp/xrdp.ini
الإعدادات الأساسية التي يجب مراعاتها:
- security_layer=tls – يفرض تشفير TLS
- crypt_level=high – أعلى مستوى للتشفير
- port=3389 – غيّر هذه القيمة لتشغيل الخدمة على منفذ مختلف
ضبط إعدادات StartWM.sh لجلسات XRDP المستقرة
يتحكم البرنامج النصي لبدء الجلسة فيما يحدث عند اتصال المستخدمين:
sudo nano /etc/xrdp/startwm.sh
أضف هذه الأسطر في النهاية للحدّ من مشكلات الجلسة الشائعة:
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
exec startxfce4
قد تتداخل متغيرات البيئة هذه مع بدء تشغيل جلسة سطح المكتب. واجهتُ هذه المشكلة عند محاولة تشغيل تطبيقات تتطلب التواصل عبر D-Bus.
الاتصال بخادم Debian RDP
بعد إتمام الإعداد، يصبح الاتصال سهلاً من أي نظام تشغيل.
كيفية الاتصال بـ Debian XRDP من Windows
Windows يتضمن عميل RDP بشكل افتراضي:
- ابحث عن «Remote Desktop Connection»
- أدخل عنوان IP الخاص بخادمك
- انقر على «اتصال»
- أدخل اسم المستخدم وكلمة المرور الخاصين بـ Debian
- اختر «Xorg» عند مطالبتك باختيار نوع الجلسة
عادةً ما يتم إنشاء الاتصال في غضون ثوانٍ على الشبكة المحلية.
كيفية الاتصال بـ Debian XRDP من Linux (باستخدام Remmina)
ثبّت Remmina، التي تتعامل بكفاءة مع اتصالات RDP:
sudo apt install remmina remmina-plugin-rdp
يوفر Remmina واجهة رسومية لإدارة اتصالات سطح المكتب البعيد المتعددة، مع إمكانية حفظ ملفات تعريف الاتصال وضبط إعدادات العرض لكل اتصال على حدة.
أفضل الممارسات لتأمين خادم Debian RDP

RDP له تداعيات أمنية بالغة الأهمية. يستغل مجرمو الإنترنت RDP في ٩٠٪ من الهجمات يتولى معالجتها فريق الاستجابة للحوادث.
كيفية تفعيل تشفير TLS لـ XRDP على Debian
إنشاء شهادات موقّعة ذاتياً للاتصالات المشفّرة:
sudo mkdir -p /etc/xrdp/certs
cd /etc/xrdp/certs
sudo openssl req -x509 -newkey rsa:2048 -nodes -keyout key.pem -out cert.pem -days 365
تنشئ هذه الشهادات صلاحيةً لمدة سنة واحدة. استخدم شهادة CA موثوقة في بيئات الإنتاج.
كيفية إعداد نفق SSH لـ RDP على Debian
لتحقيق أقصى درجات الأمان، مرِّر RDP عبر نفق SSH:
ssh -L 3389:localhost:3389 user@your-debian-server
ثم اتصل بـ localhost:3389 بدلاً من عنوان IP العام للخادم. يؤدي هذا إلى تشفير جميع حركة مرور RDP عبر نفق SSH.
تغيير منفذ XRDP من 3389 إلى منفذ مخصص
غيِّر المنفذ الافتراضي للحدّ من محاولات الاختراق الآلية:
sudo nano /etc/xrdp/xrdp.ini
غيِّر port=3389 إلى شيء مثل port=13389، ثم أعد تشغيل XRDP. تذكّر تحديث قواعد جدار الحماية وفقاً لذلك.
استكشاف مشكلات XRDP وحلّها على Debian

تظهر عدة مشكلات بشكل متكرر مع تثبيتات XRDP.
كيفية حل مشكلات التوافق بين Wayland وXRDP
لا يعمل XRDP بشكل صحيح مع خوادم عرض Wayland. أجبر النظام على استخدام Xorg:
sudo nano /etc/gdm3/custom.conf
أزل تعليق هذا السطر:
WaylandEnable=false
يتعارض نموذج أمان Wayland مع طريقة وصول XRDP إلى نظام العرض. لن يُحلّ هذا التعارض في المدى القريب.
ضبط جلسات مستخدمين متعددة في XRDP
يحتاج كل مستخدم إلى إعدادات جلسة خاصة به:
echo "xfce4-session" | sudo tee /home/username/.xsession
sudo chown username: username /home/username/.xsession
استبدل username استبدله باسم المستخدم الفعلي. بدون ضبط الملكية بشكل صحيح، لن يعمل ملف الجلسة.
كيفية تحسين سرعة XRDP على الاتصالات البطيئة

توجد عدة تعديلات تحسّن أداء RDP، لا سيما عبر الاتصالات البطيئة:
- استخدم Xfce بدلاً من GNOME أو KDE
- أوقف تشغيل حركات سطح المكتب والتأثيرات البصرية
- خفّض دقة الشاشة للجلسات البعيدة
- فعّل الضغط في عميل RDP
- ضع في اعتبارك Ubuntu VPS or Fedora VPS إذا لم يلبِّ Debian متطلباتك
أكبر تحسن في الأداء يأتي من اختيار بيئة سطح مكتب خفيفة. قد تستهلك GNOME أكثر من 500MB من RAM لتشغيل سطح المكتب وحده، في حين لا تتجاوز Xfce نحو 200MB.
فيديو إعداد Debian RDP [تثبيت XRDP كخادم سطح مكتب بعيد]
خلاصة
يحوّل XRDP خادم Debian الذي يعمل بلا شاشة إلى بيئة يمكن إدارتها بواجهة رسومية من أي مكان. قد تكون عملية الإعداد تتطلب بعض الانتباه، غير أنها موثوقة جداً بعد اكتمالها.
للنشر في بيئات الإنتاج، فكّر في الحلول المُدارة مثل اشترِ RDP الخدمات التي تتولى التعقيدات التقنية نيابةً عنك.
احرص على تحديث نظامك باستمرار وراقب سجلات الوصول بانتظام. إن كنت تقارن بين التوزيعات، اطّلع على Debian مقابل Ubuntu لتحديد أيها يناسب متطلباتك.