VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04
يستأجر بعض المستخدمين VPS غير مكلف نسبيًا مع Windows لتشغيل خدمة سطح مكتب بعيد. يمكن فعل الشيء نفسه على Linux دون وضع أجهزتك الخاصة في مركز البيانات أو استئجار خادم مخصص. يحتاج شخص ما إلى بيئة رسومية مألوفة للاختبار والتطوير ، أو سطح مكتب بعيد بقناة واسعة للعمل من الأجهزة المحمولة. هناك العديد من الاستخدامات لنظام حوسبة الشبكة الافتراضية (VNC) المستند إلى بروتوكول FrameBuffer (RFB). في مقال قصير ، سنخبرك بكيفية إعداده في جهاز افتراضي باستخدام أي برنامج Hypervisor.

главление:

اختيار خادم VNC
التثبيت والإعداد
بدء الخدمة عبر systemd
اتصال سطح المكتب

اختيار خادم VNC

يمكن دمج خدمة VNC في نظام المحاكاة الافتراضية ، بينما يقوم برنامج Hypervisor بربطها بالأجهزة التي تمت محاكاتها ولا يلزم أي تكوين إضافي. يتضمن هذا الخيار عبءًا كبيرًا ولا يتم دعمه من قبل جميع الموفرين - حتى في التنفيذ الأقل كثافة للموارد ، عندما يتم تمرير تجريد مبسط (الإطارات الاحتياطية) إلى الجهاز الظاهري بدلاً من محاكاة جهاز رسومات حقيقي. في بعض الأحيان ، يكون خادم VNC مرتبطًا بخادم X قيد التشغيل ، ولكن هذه الطريقة أكثر ملاءمة للوصول إلى جهاز مادي ، وعلى جهاز افتراضي يخلق عددًا من الصعوبات التقنية. من الأسهل تثبيت خادم VNC باستخدام خادم X مدمج. لا يتطلب وجود أجهزة مادية (محول فيديو ولوحة مفاتيح وماوس) أو مضاهاة باستخدام برنامج Hypervisor ، وبالتالي فهو مناسب لأي نوع من أنواع VPS.

التثبيت والإعداد

سنحتاج إلى جهاز افتراضي مع Ubuntu Server 18.04 LTS في التكوين الافتراضي. يوجد العديد من خوادم VNC في المستودعات القياسية لهذا التوزيع: TightVNC, TigerVNC, x11vnc و اخرين. استقرنا على TigerVNC - الشوكة الحالية لـ TightVNC ، والتي لا يدعمها المطور. يتم تكوين الخوادم الأخرى بطريقة مماثلة. تحتاج أيضًا إلى اختيار بيئة سطح المكتب: في رأينا ، سيكون XFCE هو الخيار الأفضل بسبب المتطلبات المنخفضة نسبيًا لموارد الحوسبة. يمكن لأولئك الذين يرغبون في تثبيت DE أو WM آخر: كل هذا يتوقف على التفضيلات الشخصية ، لكن اختيار البرنامج يؤثر بشكل مباشر على الحاجة إلى ذاكرة الوصول العشوائي (RAM) ونواة الحوسبة.

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

يتم تثبيت بيئة سطح المكتب بكل التبعيات بالأمر التالي:

sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils

بعد ذلك ، تحتاج إلى تثبيت خادم VNC:

sudo apt-get install tigervnc-standalone-server tigervnc-common

يعتبر تشغيله كجذر فكرة سيئة. إنشاء مستخدم ومجموعة:

sudo adduser vnc

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

دعنا نضيف المستخدم إلى مجموعة sudo حتى يتمكن من أداء المهام المتعلقة بالإدارة. إذا لم تكن هناك حاجة ، يمكن تخطي هذه الخطوة:

sudo gpasswd -a vnc sudo

الخطوة التالية هي بدء تشغيل خادم VNC بامتيازات مستخدم vnc لإنشاء كلمة مرور آمنة وملفات التكوين في الدليل ~ / .vnc /. يمكن أن يتراوح طول كلمة المرور من 6 إلى 8 أحرف (يتم قطع الأحرف الإضافية). إذا لزم الأمر ، يتم أيضًا تعيين كلمة مرور للعرض فقط ، على سبيل المثال. بدون الوصول إلى لوحة المفاتيح والماوس. يتم تشغيل الأوامر التالية كمستخدم vnc:

su - vnc
vncserver -localhost no

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04
بشكل افتراضي ، يستخدم بروتوكول RFB نطاق منفذ TCP من 5900 إلى 5906 - وهذا ما يسمى. منافذ العرض ، كل منها يتوافق مع شاشة خادم X. المنافذ مرتبطة بالشاشات: من 0 إلى: 6. مثيل خادم VNC الذي بدأناه يستمع على المنفذ 5901 (الشاشة: 1). قد تعمل مثيلات أخرى على منافذ أخرى بها شاشات: 2 ،: 3 ، وما إلى ذلك. أوقف الخادم قبل المزيد من التكوين:

vncserver -kill :1

يجب أن يعرض الأمر شيئًا مثل هذا: "Killing Xtigervnc process ID 18105 ... Success!".

عند بدء التشغيل ، يقوم TigerVNC بتنفيذ البرنامج النصي ~ / .vnc / xstartup لتعيين خيارات التكوين. لنقم بإنشاء البرنامج النصي الخاص بنا ، بعد حفظ نسخة احتياطية من النص الموجود ، إذا كان موجودًا:

mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup

تبدأ جلسة بيئة سطح المكتب XFCE باستخدام برنامج xstartup النصي التالي:

#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &

الأمر xrdb مطلوب لنظام VNC لقراءة ملف .Xresources في الدليل الرئيسي. هناك ، يمكن للمستخدم تحديد خيارات متنوعة لسطح المكتب الرسومي: عرض الخط ، والألوان الطرفية ، وسمات المؤشر ، وما إلى ذلك. يجب أن يكون البرنامج النصي قابلاً للتنفيذ:

chmod 755 ~/.vnc/xstartup

هذا يكمل إعداد خادم VNC. إذا قمت بتشغيله باستخدام الأمر vncserver -localhost no (كمستخدم vnc) ، فيمكنك الاتصال بكلمة المرور التي حددتها سابقًا ومشاهدة الصورة التالية:

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

بدء الخدمة عبر systemd

لا يعد بدء تشغيل خادم VNC يدويًا مناسبًا للاستخدام القتالي ، لذلك سنقوم بإعداد خدمة النظام. يتم تنفيذ الأوامر كجذر (باستخدام sudo). أولاً ، لنقم بإنشاء ملف وحدة جديد لخادمنا:

sudo nano /etc/systemd/system/[email protected]

يسمح لك الحرف @ في الاسم بتمرير وسيطة لتكوين الخدمة. في حالتنا ، فإنه يحدد منفذ عرض VNC. يتكون ملف الوحدة من عدة أقسام:

[Unit]
Description=TigerVNC server
After=syslog.target network.target

[Service]
Type=simple
User=vnc 
Group=vnc 
WorkingDirectory=/home/vnc 
PIDFile=/home/vnc/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x960 :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

ثم تحتاج إلى إخطار systemd بالملف الجديد وتنشيطه:

sudo systemctl daemon-reload
sudo systemctl enable [email protected]

الرقم 1 في الاسم يحدد رقم الشاشة.

أوقف خادم VNC ، وابدأ تشغيله كخدمة وتحقق من الحالة:

# от имени пользователя vnc 
vncserver -kill :1

# с привилегиями суперпользователя
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1

إذا كانت الخدمة قيد التشغيل ، يجب أن نحصل على شيء مثل هذا.

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

اتصال سطح المكتب

لا يستخدم التكوين الخاص بنا التشفير ، لذلك يمكن اعتراض حزم الشبكة من قبل المتسللين. بالإضافة إلى ذلك ، في خوادم VNC في كثير من الأحيان البحث عن نقاط الضعف، لذلك يجب ألا تفتحها للوصول من الإنترنت. للاتصال بشكل آمن على الجهاز المحلي ، تحتاج إلى التفاف حركة المرور في نفق SSH ثم تكوين عميل VNC. ضمن Windows ، يمكنك استخدام عميل SSH رسومي (مثل PuTTY). للأمان ، يستمع TigerVNC على الخادم فقط إلى المضيف المحلي ولا يمكن الوصول إليه مباشرة من الشبكات العامة:


sudo netstat -ap |more

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04
في Linux و FreeBSD و OS X وأنظمة التشغيل الأخرى المشابهة لـ UNIX ، يتم إنشاء نفق من كمبيوتر عميل باستخدام الأداة المساعدة ssh (يجب تشغيل sshd على خادم VNC):

ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip

يربط الخيار -L المنفذ 5901 بالاتصال البعيد بالمنفذ 5901 على المضيف المحلي. يتيح الخيار -C الضغط ، ويخبر -N الأداة المساعدة ssh بعدم تشغيل الأمر البعيد. يحدد الخيار -l تسجيل الدخول لتسجيل الدخول عن بُعد.

بعد إعداد النفق على الكمبيوتر المحلي ، تحتاج إلى بدء عميل VNC وإنشاء اتصال بالمضيف 127.0.0.1:5901 (المضيف المحلي: 5901) باستخدام كلمة المرور المحددة مسبقًا للوصول إلى خادم VNC. الآن يمكننا التواصل بأمان من خلال نفق مشفر مع بيئة سطح المكتب الرسومية XFCE على الخادم الافتراضي الخاص. في لقطة الشاشة ، يتم تشغيل الأداة المساعدة العليا في المحاكي الطرفي لإظهار استهلاك الجهاز الظاهري الخفيف لموارد الحوسبة. علاوة على ذلك ، سيعتمد كل شيء على تطبيقات المستخدم.

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04
يمكنك تثبيت خادم VNC وتكوينه في Linux على أي VPS تقريبًا. لا يتطلب تكوينات باهظة الثمن وكثيفة الموارد مع محاكاة محول الفيديو أو شراء تراخيص البرامج التجارية. بالإضافة إلى خيار خدمة النظام الذي درسناه ، هناك خيارات أخرى: التشغيل في الوضع الخفي (عبر /etc/rc.local) عند تمهيد النظام أو عند الطلب عبر inetd. هذا الأخير مثير للاهتمام لإنشاء تكوينات متعددة المستخدمين. سيبدأ خادم الإنترنت الفائق خادم VNC ويوصل العميل به ، وسيقوم خادم VNC بإنشاء شاشة جديدة وبدء الجلسة. للمصادقة بداخله ، يمكنك استخدام مدير عرض رسومي (على سبيل المثال ، LightDM) وبعد فصل العميل سيتم إغلاق الجلسة وسيتم إنهاء جميع البرامج التي تعمل مع الشاشة.

VPS على Linux باستخدام واجهة المستخدم الرسومية: قم بتشغيل خادم VNC على Ubuntu 18.04

المصدر: www.habr.com

إضافة تعليق