GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin
Bəzi istifadəçilər uzaq masaüstü xidmətini idarə etmək üçün Windows ilə nisbətən ucuz VPS icarəyə götürürlər. Eyni şeyi Linux-da məlumat mərkəzinə öz avadanlıqlarınızı yerləşdirmədən və ya xüsusi server icarəyə götürmədən etmək olar. Sınaq və inkişaf üçün kiməsə tanış qrafik mühit və ya mobil cihazlardan işləmək üçün geniş kanalı olan uzaq iş masası lazımdır. Remote FrameBuffer (RFB) protokol əsaslı Virtual Network Computing (VNC) sistemi üçün çoxlu proqramlar mövcuddur. Qısa bir məqalədə onu istənilən hipervizorla virtual maşında necə quracağınızı sizə xəbər verəcəyik.

Mündəricat:

VNC serverinin seçilməsi
Quraşdırma və konfiqurasiya
Systemd vasitəsilə xidmətə başlamaq
Masaüstü bağlantısı

VNC serverinin seçilməsi

VNC xidməti virtualizasiya sisteminə daxil edilə bilər, hipervizor isə onu emulyasiya edilmiş cihazlarla əlaqələndirəcək və əlavə konfiqurasiya tələb olunmur. Bu seçim əhəmiyyətli əlavə xərcləri əhatə edir və bütün provayderlər tərəfindən dəstəklənmir - hətta daha az resurs tələb edən tətbiqetmədə, real qrafik cihazını təqlid etmək əvəzinə virtual maşına sadələşdirilmiş abstraksiya (framebufer) ötürüldüyü zaman. Bəzən VNC serveri işləyən X serverinə bağlanır, lakin bu üsul fiziki maşına daxil olmaq üçün daha uyğundur və virtual maşında bir sıra texniki çətinliklər yaradır. Daxili X serveri olan VNC serverini quraşdırmaq ən asandır. Fiziki cihazların (video adapter, klaviatura və siçan) mövcudluğunu və ya hipervizordan istifadə edərək onların emulyasiyasını tələb etmir və buna görə də istənilən VPS növü üçün uyğundur.

Quraşdırma və konfiqurasiya

Bizə standart konfiqurasiyada Ubuntu Server 18.04 LTS ilə virtual maşın lazımdır. Bu paylamanın standart depolarında bir neçə VNC server var: Sıx VNC, TigerVNC, x11vnc və qeyriləri. Biz TigerVNC-də qərarlaşdıq - hazırkı TightVNC çəngəli, onu tərtibatçı dəstəkləmir. Digər serverlər də oxşar şəkildə konfiqurasiya edilmişdir. Siz həmçinin masaüstü mühiti seçməlisiniz: bizim fikrimizcə, hesablama resurslarına nisbətən aşağı tələblərə görə XFCE ən yaxşı seçim olardı. Arzu edənlər başqa bir DE və ya WM quraşdıra bilərlər: hər şey şəxsi üstünlüklərdən asılıdır, lakin proqram seçimi birbaşa RAM və hesablama nüvələrinə olan ehtiyaca təsir göstərir.

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

İş masası mühitinin bütün asılılıqlarla quraşdırılması aşağıdakı əmrlə həyata keçirilir:

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

Sonra VNC serverini quraşdırmalısınız:

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

Kök kimi işlətmək pis fikirdir. İstifadəçi və qrup yaradın:

sudo adduser vnc

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

İstifadəçini sudo qrupuna əlavə edək ki, o, idarəetmə ilə bağlı tapşırıqları yerinə yetirə bilsin. Belə bir ehtiyac yoxdursa, bu addım atlana bilər:

sudo gpasswd -a vnc sudo

Növbəti addım ~/.vnc/ qovluğunda təhlükəsiz parol və konfiqurasiya faylları yaratmaq üçün VNC serverini vnc istifadəçi imtiyazları ilə işə salmaqdır. Parolun uzunluğu 6 ilə 8 simvol arasında ola bilər (əlavə olanlar kəsilir). Lazım gələrsə, yalnız görünüş üçün parol da təyin olunur, yəni. klaviatura və siçan girişi olmadan. Aşağıdakı əmrlər vnc istifadəçisi kimi işlədilir:

su - vnc
vncserver -localhost no

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin
Varsayılan olaraq, RFB protokolu 5900 ilə 5906 arasında TCP port diapazonundan istifadə edir - bu sözdə. hər biri X server ekranına uyğun gələn portlar. Portlar :0 - :6 ekranları ilə əlaqələndirilir. Başladığımız VNC server nümunəsi 5901 portunu dinləyir (ekran :1). Digər nümunələr :2, :3 və s. ekranları olan digər portlarda işləyə bilər. Növbəti konfiqurasiyadan əvvəl serveri dayandırın:

vncserver -kill :1

Komanda bu kimi bir şey göstərməlidir: “Xtigervnc proses ID 18105-in öldürülməsi… uğur!”.

Başlanğıcda TigerVNC konfiqurasiya seçimlərini təyin etmək üçün ~/.vnc/xstartup skriptini icra edir. Mövcud olanın ehtiyat nüsxəsini saxladıqdan sonra, əgər varsa, öz skriptimizi yaradaq:

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

XFCE masa üstü mühiti sessiyası aşağıdakı xstartup skripti ilə başladılır:

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

VNC sisteminin .Xresources faylını ev kataloqunda oxuması üçün xrdb əmri tələb olunur. Orada istifadəçi qrafik iş masası üçün müxtəlif variantları müəyyən edə bilər: şriftlərin göstərilməsi, terminal rəngləri, kursor mövzuları və s. Skript icra edilə bilən olmalıdır:

chmod 755 ~/.vnc/xstartup

Bu, VNC serverinin quraşdırılmasını tamamlayır. Əgər onu vncserver -localhost no əmri ilə (vnc istifadəçisi kimi) işlədirsinizsə, əvvəllər qeyd etdiyiniz parolla qoşula və aşağıdakı şəkilə baxa bilərsiniz:

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

Systemd vasitəsilə xidmətə başlamaq

VNC serverinin əl ilə işə salınması döyüş istifadəsi üçün o qədər də uyğun deyil, ona görə də biz sistem xidməti quracağıq. Əmrlər kök kimi yerinə yetirilir (sudo istifadə edərək). Əvvəlcə serverimiz üçün yeni vahid faylı yaradaq:

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

Addakı @ simvolu xidməti konfiqurasiya etmək üçün arqument ötürməyə imkan verir. Bizim vəziyyətimizdə VNC ekran portunu təyin edir. Vahid fayl bir neçə bölmədən ibarətdir:

[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

Sonra yeni fayl haqqında systemd-i xəbərdar etməli və onu aktivləşdirməlisiniz:

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

Addakı 1 rəqəmi ekran nömrəsini təyin edir.

VNC serverini dayandırın, onu xidmət kimi işə salın və vəziyyəti yoxlayın:

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

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

Xidmət işləyirsə, buna bənzər bir şey almalıyıq.

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

Masaüstü bağlantısı

Konfiqurasiyamız şifrələmədən istifadə etmir, ona görə də şəbəkə paketləri müdaxilə edənlər tərəfindən tutula bilər. Bundan əlavə, VNC serverlərində olduqca tez-tez zəiflikləri tapın, buna görə də onları İnternetdən daxil olmaq üçün açmamalısınız. Yerli kompüterdə təhlükəsiz əlaqə üçün trafiki SSH tunelində paketləməlisiniz və sonra VNC müştərisini konfiqurasiya etməlisiniz. Windows altında siz qrafik SSH müştərisindən (məsələn, PuTTY) istifadə edə bilərsiniz. Təhlükəsizlik üçün serverdəki TigerVNC yalnız localhost-u dinləyir və ictimai şəbəkələrdən birbaşa istifadə edilmir:


sudo netstat -ap |more

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin
Linux, FreeBSD, OS X və digər UNIX kimi əməliyyat sistemlərində ssh yardım proqramından istifadə etməklə müştəri kompüterindən tunel hazırlanır (sshd VNC serverində işləməlidir):

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

-L seçimi uzaqdan əlaqənin 5901 portunu localhost-da 5901 portuna bağlayır. -C seçimi sıxılmaya imkan verir və -N ssh yardım proqramına uzaqdan əmri işə salmamağı bildirir. -l seçimi uzaqdan giriş üçün girişi təyin edir.

Yerli kompüterdə tunel qurduqdan sonra VNC müştərisini işə salmalı və VNC serverinə daxil olmaq üçün əvvəllər təyin edilmiş paroldan istifadə edərək 127.0.0.1:5901 (localhost:5901) host ilə əlaqə yaratmalısınız. İndi biz VPS-də XFCE qrafik iş masası mühiti ilə şifrələnmiş tunel vasitəsilə təhlükəsiz əlaqə saxlaya bilərik. Ekran görüntüsündə virtual maşının hesablama resurslarının yüngül istehlakını göstərmək üçün terminal emulyatorunda ən yaxşı yardım proqramı işləyir. Bundan əlavə, hər şey istifadəçi proqramlarından asılı olacaq.

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin
Siz demək olar ki, istənilən VPS-də Linux-da VNC serverini quraşdıra və konfiqurasiya edə bilərsiniz. Video adapter emulyasiyası və ya kommersiya proqram təminatı lisenziyalarının alınması ilə bahalı və resurs tutumlu konfiqurasiyaları tələb etmir. Nəzərdən keçirdiyimiz sistem xidməti seçiminə əlavə olaraq, başqaları da var: sistem açılışında və ya inetd vasitəsilə tələb əsasında demon rejimində (/etc/rc.local vasitəsilə) işləmək. Sonuncu çox istifadəçi konfiqurasiyaları yaratmaq üçün maraqlıdır. İnternet superserveri VNC serverini işə salacaq və müştərini ona bağlayacaq, VNC server isə yeni ekran yaradıb sessiyanı başlayacaq. Onun daxilində autentifikasiya etmək üçün qrafik displey menecerindən istifadə edə bilərsiniz (məsələn, LightDM) və müştərini ayırdıqdan sonra sessiya bağlanacaq və ekranla işləyən bütün proqramlar dayandırılacaq.

GUI ilə Linux-da VPS: Ubuntu 18.04-də VNC Server işlədin

Mənbə: www.habr.com

Добавить комментарий