سطح مكتب خادم Linux بدون شاشة: جلسات سطح مكتب حقيقية

الخادم متصل لكن عند الاتصال تحصل على شاشة سوداء، أو إطار مخزن مؤقت افتراضي صغير، أو لا توجد تسريع GPU — لأن الجهاز لا يحتوي على شاشة متصلة.
الخادم متصل لكن عند الاتصال تحصل على شاشة سوداء، أو إطار مخزن مؤقت افتراضي صغير، أو لا توجد تسريع GPU — لأن الجهاز لا يحتوي على شاشة متصلة. يشرح هذا الدليل كيفية الحصول على جلسة سطح مكتب حقيقية وقابلة للاستخدام على Linux بدون شاشة: خيارات الأجهزة والبرمجيات، أوامر خطوة بخطوة، وحدات systemd، ملاحظات Wayland، وكيفية الاتصال بأمان (بما في ذلك خيار الترحيل المدار من Tenvo).
ماذا يعني «سطح مكتب حقيقي» على جهاز بلا شاشة
بقصد بـ«سطح مكتب حقيقي» جلسة سطح مكتب تتصرف كما لو كانت الشاشة موصولة: دقة شاشة كاملة، إخراج GPU صحيح (عند الاقتضاء)، استمرار الجلسة عبر إعادة التشغيل، تخطيط لوحة المفاتيح/الفأرة متوقع، وإمكانية تشغيل بيئات سطح مكتب Wayland أو X11 بدلاً من إطار Xvfb الصغير 800×600. يمكن للجهاز الخالي من الشاشة أن يعرض إما شاشة افتراضية (محاكاة برمجية) أو شاشة فعلية (وصلة HDMI dummy أو KMS افتراضي). اختيارك يعتمد على ما إذا كنت بحاجة إلى تسريع GPU، ميزات DRM/KMS، أو مجرد سطح مكتب تفاعلي للإدارة.
ثلاثة نهج عملية — اختر بناءً على الحاجة
- HDMI dummy plug مادي — الأسهل للحصول على تسريع GPU. وصل وصلة HDMI «headless ghost» بسعر $2 لتزييف وجود شاشة؛ سيقوم الـ GPU ومدير العرض بإنشاء جلسة عادية ودقة مناسبة.
- جلسة X افتراضية / Xvfb أو برنامج تشغيل dummy لـ Xorg + مدير العرض — حل برمجي بحت ومتوافق على نطاق واسع: ينشئ جلسة X11 كاملة يمكنك الكشف عنها عبر VNC (TigerVNC) أو مشاركتها مع x11vnc. Xvfb هو الأبسط لكنه لا يعرض KMS/تسريع GPU.
- RDP عبر xrdp (موصى به للعديد من الحالات) — xrdp يولد جلسة X حقيقية (أو يستخدم XorgXrdp) ويوفر نقطة نهاية RDP. يعمل جيداً على الخوادم الخالية من الشاشة لأنه لا يتطلب شاشة فعلية ويحظى بدعم واسع من عملاء Windows/macOS/غيرهم.
الخيار A — وصلة HDMI dummy (خدعة مادية)
إذا كنت بحاجة إلى تسريع GPU (OpenGL، فك ترميز عتادي، إخراج مكوّن Wayland) فهذه أسرع وأكثر الحيل موثوقية: اشترِ وصلة HDMI dummy صغيرة (EDID emulator) تعلن عن شاشة بدقة 1920×1080 أو 2560×1440. وصلها إلى مخرج HDMI الخاص بالـ GPU، أعد التشغيل إذا لزم الأمر، وسيقوم مدير العرض (GDM، SDDM، LightDM) بإنشاء جلسة عادية. لا حاجة لحيل برمجية أو إطارات افتراضية.
الإيجابيات: GPU حقيقي، بدون تغييرات في الإعداد. السلبيات: يتطلب وصولاً مادياً، ولا يصلح إذا لم يكن للنظام موصل عرض أو كان في رف محكم الإغلاق.
الخيار B — جلسة X افتراضية: Xvfb + سطح مكتب + TigerVNC (مثال Ubuntu/Debian)
sudo apt update sudo apt install -y xvfb tigervnc-standalone-server xfce4 xfce4-goodies # Create a dedicated VNC user (optional) sudo adduser vncuser # Example: start a persistent Xvfb display and XFCE sudo -u vncuser Xvfb :99 -screen 0 1920x1080x24 & export DISPLAY=:99 sudo -u vncuser startxfce4 & # Start TigerVNC to expose :99 on TCP 5901 sudo -u vncuser x0vncserver -display :99 -passwordfile /home/vncuser/.vnc/passwd -forever -shared # Or run tigervncserver directly if you want VNC-managed X sessions sudo -u vncuser tigervncserver :1 -geometry 1920x1080 -depth 24
وحدة systemd: اجعل العرض مستمراً عبر التمهيد. احفظها كـ /etc/systemd/system/xvfb-vnc.service (حرّر المسارات والمستخدم):
[Unit] Description=Xvfb + desktop + VNC After=network.target [Service] Type=simple User=vncuser Environment=DISPLAY=:99 ExecStart=/usr/bin/Xvfb :99 -screen 0 1920x1080x24 ExecStartPost=/usr/bin/sleep 1 ExecStartPost=/usr/bin/startxfce4 Restart=on-failure [Install] WantedBy=multi-user.target
ملاحظات: Xvfb يوفر إطار مخزن مؤقت برمجي فقط؛ التسريع العتادي عبر GPU غير متوفر. للعديد من مهام الإدارة وتطبيقات الواجهة الرسومية هذا كافٍ. إذا كنت بحاجة إلى جلسة مدعومة بالـ GPU، استخدم HDMI dummy أو برنامج تشغيل dummy لـ Xorg مدموج مع برنامج تشغيل GPU (المذكور أدناه).
الخيار C — برنامج تشغيل dummy لـ Xorg / خادم X بلا شاشة (لجلسات مديري العرض)
بدلاً من Xvfb يمكنك تهيئة Xorg لاستخدام برنامج تشغيل الفيديو «dummy» بحيث يقوم مدير العرض في النظام (GDM/LightDM) بإنشاء جلسة تسجيل دخول عادية عند التمهيد. هذا أقرب إلى جلسة شاشة حقيقية وفي بعض الأحيان يوفر توافقًا أفضل من Xvfb.
# Install Xorg dummy driver and a lightweight DE (Debian/Ubuntu)
sudo apt install -y xserver-xorg-video-dummy xfce4
# Example minimal /etc/X11/xorg.conf.d/10-dummy.conf
Section "Device"
Identifier "DummyDevice"
Driver "dummy"
EndSection
Section "Monitor"
Identifier "DummyMonitor"
HorizSync 28.0-80.0
VertRefresh 48.0-75.0
EndSection
Section "Screen"
Identifier "DummyScreen"
Device "DummyDevice"
Monitor "DummyMonitor"
SubSection "Display"
Depth 24
Modes "1920x1080"
EndSubSection
EndSection
بعد إنشاء هذا التهيئة، فعّل مدير العرض وأعد التشغيل. يجب أن يعرض مدير العرض شاشة ترحيب عادية وينشئ جلسات يمكنك الوصول إليها عبر x11vnc (لمشاركة سطح المكتب القائم) أو عبر خادم VNC متصل بعرض X.
الخيار D — xrdp: جلسات RDP تعمل جيداً بدون شاشة
xrdp خيار قوي لأنه ينشئ جلسة X عند الطلب ويتحدث بروتوكول RDP المدعوم على نطاق واسع. لا يعتمد على شاشة متصلة وغالبًا ما يكون الأقل إحداثاً للمشاكل لولوج واجهة المستخدم الرسومية على الخوادم.
sudo apt install -y xrdp xfce4 xfce4-terminal # Configure XFCE for xrdp: create or edit /home/you/.xsession or /etc/xrdp/startwm.sh echo "startxfce4" > /home/you/.xsession sudo systemctl enable --now xrdp # Open firewall for TCP/UDP 3389 only if you control the network; prefer an SSH tunnel or Tenvo relay
بعدها اتصل بأي عميل RDP إلى المنفذ 3389 أو عبر نفق SSH. يمكن لـ xrdp استخدام XorgXrdp لأداء أفضل؛ راجع حزم التوزيعة لديك للحصول على نسخة xorgxrdp المطابقة.
Wayland: ملاحظات وخيارات
تعالج مُركِّبات Wayland المخرجات بشكل مختلف ولها تاريخياً دعم محدود أو معدوم للشاشات الافتراضية. GNOME على Wayland لن يقبل عرض Xvfb؛ فهو يتوقع مُخرج DRM/KMS. خياراتك:
- استخدم وصلة HDMI dummy كي يعتقد المكوّن أن هناك شاشة موصولة.
- شغّل جلسة Xorg بدلاً من ذلك (ثبّت جلسة X11 مثل XFCE أو GNOME على Xorg) واستخدم Xvfb/xrdp/VNC.
- لمركبات مبنية على wlroots، تحقق من wlr-rdp أو wayvnc (نضج المشاريع يختلف حسب المكوّن).
- لأساطيل كبيرة تتطلب Wayland، فكر في استخدام GPU دون شاشات مادي أو برنامج تشغيل عتادي مخصّص — لكن ذلك عادة يتطلب حزم بائع وارتباطات نواة.
إذا اعتمدت على Wayland، اقرأ تغطيتنا الأعمق في Wayland Remote Desktop: PipeWire, portals and gaps قبل اتخاذ قرار.
الاتصال الشبكي: ترحيل Tenvo وملاحظات أمان
بعد إعداد جلسة سطح المكتب تحتاج إلى اتصال موثوق. يقدم Tenvo عملاء أصليين على macOS/Windows/Linux، وعميل متصفح في بيتا عامة، وترحيل مدار متعدد المناطق وهو الخيار الموصى به لمعظم المستخدمين. الخطط: Free $0، Lite $2.99/mo، Pro $7.99/mo. الترحيل المدار يزيل الحاجة إلى قواعد جدار ناري، تجاوز NAT، وإدارة أسطول TURN/STUN.
كن صريحاً بشأن التشفير: يستخدم Tenvo TLS مع شهادات لكل جهاز. الاتصال النظير‑إلى‑النظير المباشر يكون مشفراً من طرف إلى طرف بين الجهازين. عندما ينتقل المرور إلى الترحيل، تنتهي جلسة TLS عند الترحيل، مما يعني أن من يدير الترحيل يمكنه الوصول إلى حركة الجلسة. إذا كانت متطلبات الامتثال تمنع البنية التحتية لطرف ثالث، فاستضافة ذاتية هي الخيار الصحيح — وإلا فإن تكلفة التشغيل للاستضافة الذاتية (التحديثات، حفظ المفاتيح، التلافُ فضي) غالباً ما تكون أعلى من الترحيل المدار. انظر Self-Hosted Remote Desktop: Why, How, and What Breaks لمعرفة متى تختار الاستضافة الذاتية.
إذا أردت تجنّب إعادة توجيه المنافذ تمامًا لكن لا تزال تستخدم ترحيلًا أو نفقًا خاصًا بك، راجع Remote Desktop Without Port Forwarding Explained.
قائمة فحص استكشاف الأخطاء (شاشات سوداء، دقة خاطئة، مشاكل لوحة المفاتيح)
- شاشة سوداء بعد تسجيل الدخول: تحقق من سجلات مدير العرض (journalctl -u gdm -b أو journalctl -u lightdm)، و/أو /var/log/Xorg.0.log للأخطاء.
- إطار مخزن مؤقت صغير جدًا (مثلاً 640×480): اضبط نمط مخصص في تهيئة dummy X الخاصة بك أو استخدم xrandr لإضافة نمط (يعمل فقط إذا كشف X المخرج).
- تخطيط لوحة المفاتيح/الفأرة خاطئ: تحقق من إعدادات locale و xkb، وتأكد أن عميل VNC/RDP لا يفرض تخطيطًا؛ اختبر باستخدام وحدة افتراضية محلية (chvt) إن أمكن.
- لا يوجد GPU/OpenGL: Xvfb لن يوفر تسريع GPU. استخدم HDMI dummy أو برنامج تشغيل عتادي مخصص إذا كنت بحاجة لتسريع عتادي.
- مرحب Wayland لكن لا توجد جلسة: انتقل إلى جلسة X أو وصل dummy display؛ تحقق من سجلات المكوّن (journalctl لـ gnome-shell أو خدمة المكوّن).
لإصلاحات الشاشات السوداء الشائعة راجع دليل استكشاف الأخطاء: Remote desktop black screen troubleshooting flow. افحص أيضاً Xauthority، ملكية /tmp/.X11-unix، وأن للمستخدم شل صالح ودليل منزلي.
متى تستضيف ذاتياً مقابل استخدام ترحيل Tenvo المدار
اختر الاستضافة الذاتية فقط إذا كان لديك سياسة مكتوبة تمنع المرحلات التابعة لأطراف ثالثة (موقع البيانات، أنظمة امتثال معينة)، أو إذا كانت الآلة على شبكة معزولة. خلاف ذلك، يعد ترحيل Tenvo المدار الخيار العملي الافتراضي: يقلل عبء الاستدعاء، يتعامل مع شهادات TLS، ويقدم تجاوز فشل متعدد المناطق. إذا خططت للاستضافة الذاتية، اطلع على مفاضلاتها في Self-Hosted Remote Desktop: Why, How, and What Breaks واستعد لتشغيل عنقود ترحيل، إدارة تدوير الشهادات، السجلات، والمراقبة.
مرجع سريع: أوامر وفحوصات
# Check active display echo "$DISPLAY" # Test X connectivity xdpyinfo -display :0 || xdpyinfo -display :99 # View DM logs sudo journalctl -u gdm -b --no-pager # Xorg log sudo tail -n 200 /var/log/Xorg.0.log # See screen/outputs DISPLAY=:0 xrandr --listmonitors || DISPLAY=:99 xrandr --listmonitors # Enable xrdp sudo systemctl enable --now xrdp
إذا كنت تنتقل من أداة سطح مكتب بعيد كانت 'تعمل دائماً' عند وجود شاشة موصولة، فتذكر: الأجهزة بلا شاشة تغير الافتراضات التي يصنعها نظام التشغيل وبرامج التعريف عن الشاشات. ابدأ بأبسط إصلاح (HDMI dummy) وانتقل إلى الحلول البرمجية إذا لم يكن الوصول إلى الأجهزة ممكناً.
هل أنت مستعد لتجربته؟ حمّل Tenvo، اختبر اتصالاً غير مراقَب عبر الترحيل المدار، واختر نهج سطح المكتب أعلاه الذي يتناسب مع GPU ومتطلبات الامتثال لديك: Download Tenvo.
مستعد لتجربته بنفسك؟
مجانًا حتى 30 جهازًا، دون بطاقة ائتمان. جاهز ومتصِل في دقيقتين.