العربية

سطح مكتب XFCE وخادم TigerVNC على VPS لينكس

2 min
استضافة VPS/VDS

بعض المهام أسهل مع واجهة رسومية: تشغيل متصفح أو أداة بواجهة أو تطبيق مكتبي على جهاز بعيد. XFCE خفيف بما يكفي لخادم صغير، ويتيح لك TigerVNC رؤيته من حاسوبك. يعدّ هذا الدليل الإعداد على VPS Linux Infrawire بحيث لا يُكشف منفذ VNC للإنترنت أبدًا: لا تصل إليه إلا عبر نفق SSH.

📋 المتطلبات

  • خادم VPS بنظام Ubuntu 24.04 أو Debian 12 مع وصول SSH بصلاحية root (من منطقة العميل تجد عنوان IP وكلمة مرور root الخاصة بالـ VPS).
  • ذاكرة لا تقل عن 2 جيجابايت لسطح مكتب مريح.
  • عميل SSH على حاسوبك وبرنامج عرض VNC (RealVNC Viewer أو TigerVNC Viewer).
  • حساب مستخدم عادي: لا تشغّل سطح المكتب بصلاحية root.

📦 تثبيت XFCE وTigerVNC

حدّث النظام ثم ثبّت سطح المكتب والخادم. تتجنب الحزمة dbus-x11 مشكلة الشاشة الرمادية الشائعة.

Bash
apt update && apt upgrade -y apt install -y xfce4 xfce4-goodies tigervnc-standalone-server tigervnc-common dbus-x11

أنشئ مستخدمًا مخصصًا إن لم يكن لديك واحد:

Bash
adduser USER usermod -aG sudo USER

🔑 ضبط كلمة مرور VNC والجلسة

انتقل إلى ذلك المستخدم واضبط كلمة مرور VNC (الأهم فيها 8 أحرف كحد أقصى):

Bash
su - USER vncpasswd

أجب بـ n عن سؤال كلمة مرور القراءة فقط. ثم اطلب من TigerVNC تشغيل XFCE:

Bash
mkdir -p ~/.vnc cat > ~/.vnc/xstartup <<'EOF' #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 EOF chmod +x ~/.vnc/xstartup

جرّبه يدويًا مع الاستماع على localhost فقط:

Bash
vncserver :1 -localhost yes -geometry 1920x1080 -depth 24 vncserver -list vncserver -kill :1

⚙️ التشغيل التلقائي عبر systemd

عُد إلى root وأنشئ وحدة تشغّل الجلسة لمستخدمك. تقابل الشاشة :1 المنفذ TCP رقم 5901.

INI
1# /etc/systemd/system/vncserver@.service 2[Unit] 3Description=TigerVNC server on display %i 4After=network.target 5 6[Service] 7Type=forking 8User=USER 9Group=USER 10WorkingDirectory=/home/USER 11PIDFile=/home/USER/.vnc/%H:%i.pid 12ExecStartPre=-/usr/bin/vncserver -kill :%i 13ExecStart=/usr/bin/vncserver :%i -localhost yes -geometry 1920x1080 -depth 24 14ExecStop=/usr/bin/vncserver -kill :%i 15 16[Install] 17WantedBy=multi-user.target
Bash
systemctl daemon-reload systemctl enable --now vncserver@1.service systemctl status vncserver@1.service

لمستخدم ثانٍ انسخ الوحدة باسم آخر مع ذلك المستخدم والشاشة :2 (المنفذ 5902).

🔒 الاتصال عبر نفق SSH

يجعل الخيار -localhost yes خدمة VNC تستمع على 127.0.0.1 فقط، فلا يمكن الوصول إلى شيء من الخارج. من حاسوبك افتح نفقًا:

Bash
ssh -N -L 5901:localhost:5901 USER@VPS_IP

اترك هذه النافذة مفتوحة. في برنامج عرض VNC اتصل بالعنوان localhost:5901 وأدخل كلمة مرور VNC. يعمل الأمر نفسه في PowerShell على ويندوز وفي Terminal على macOS. لا تفتح المنفذ 5901 في أي جدار حماية.

✅ التحقق

على الـ VPS تأكد من أن VNC يستمع على عنوان الحلقة المرتدة فقط:

Bash
ss -tlnp | grep 5901 systemctl is-active vncserver@1.service

ينبغي أن ترى 127.0.0.1:5901 وليس 0.0.0.0:5901. على حاسوبك ينبغي أن يعرض برنامج العرض سطح مكتب XFCE بعد فتح النفق.

🛠️ استكشاف الأخطاء

شاشة رمادية أو لا يوجد سطح مكتب. تأكد من أن الملف ~/.vnc/xstartup قابل للتنفيذ وأن dbus-x11 مثبّت، واقرأ السجل بالأمر cat ~/.vnc/*.log. غياب السطر exec startxfce4 هو السبب الأكثر شيوعًا.

الرسالة "A VNC server is already running as :1". بقي قفل قديم. نفّذ vncserver -kill :1 ثم احذف /tmp/.X1-lock و/tmp/.X11-unix/X1 إن بقيا، وأعد تشغيل الخدمة.

النفق يرفض الاتصال. غالبًا الخدمة متوقفة: افحص systemctl status vncserver@1.service. وتأكد كذلك من أن المنفذ المحلي 5901 غير مستخدم على حاسوبك، أو اختر منفذًا آخر مثل -L 5999:localhost:5901.


🎉 يوفر الـ VPS الآن سطح مكتب XFCE خاصًا لا يمكن الوصول إليه إلا عبر نفق SSH الخاص بك.

ابقَ على اطلاع بأحدث العروض والخصومات والعروض الترويجية الخاصة.

عرض العروض الترويجية

نستخدم ملفات تعريف الارتباط

نستخدم كوكيز تحليلية لتحسين تجربتك. لا نبيع البيانات لأطراف ثالثة. المزيد في سياسة الخصوصية.