Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу
Кейбір пайдаланушылар қашықтағы жұмыс үстелі қызметтерін іске қосу үшін Windows жүйесімен салыстырмалы түрде арзан VPS жалға алады. Деректер орталығында өзіңіздің аппараттық құралыңызды орналастырмай немесе арнайы серверді жалға алмай-ақ, Linux жүйесінде де солай жасауға болады. Кейбір адамдарға тестілеу және әзірлеу үшін таныс графикалық орта немесе мобильді құрылғылардан жұмыс істеу үшін кең арнасы бар қашықтағы жұмыс үстелі қажет. Remote FrameBuffer (RFB) протоколына негізделген Virtual Network Computing (VNC) жүйесін пайдаланудың көптеген нұсқалары бар. Бұл қысқа мақалада біз оны кез келген гипервизормен виртуалды машинада қалай конфигурациялау керектігін айтамыз.

Мазмұны:

VNC серверін таңдау
Орнату және конфигурация
Systemd арқылы қызметті бастау
Жұмыс үстеліне қосылу

VNC серверін таңдау

VNC қызметін виртуалдандыру жүйесіне енгізуге болады, ал гипервизор оны эмуляцияланған құрылғылармен қосады және қосымша конфигурация қажет болмайды. Бұл опция айтарлықтай үстеме шығындарды қамтиды және оны барлық провайдерлер қолдамайды - тіпті аз ресурсты қажет ететін іске асыруда, нақты графикалық құрылғыны эмуляциялаудың орнына виртуалды машинаға жеңілдетілген абстракция (жақтау буфері) тасымалданған кезде. Кейде VNC сервері жұмыс істейтін X серверімен байланыстырылады, бірақ бұл әдіс физикалық машинаға қол жеткізу үшін қолайлырақ, ал виртуалдыда ол бірқатар техникалық қиындықтарды тудырады. VNC серверін орнатудың ең оңай жолы - кірістірілген X сервері. Ол физикалық құрылғыларды (бейне адаптер, пернетақта және тінтуір) немесе оларды гипервизор арқылы эмуляциялауды қажет етпейді, сондықтан кез келген VPS түріне жарамды.

Орнату және конфигурация

Бізге әдепкі конфигурациясында Ubuntu Server 18.04 LTS бар виртуалды машина қажет болады. Бұл таратудың стандартты репозиторийлерінде бірнеше VNC серверлері бар: Тығыз VNC, TigerVNC, x11vnc және басқалар. Біз TigerVNC-ке орналастық - TightVNC-тің қазіргі шанышқысы, оны әзірлеуші ​​қолдамайды. Басқа серверлерді орнату дәл осылай орындалады. Сіз сондай-ақ жұмыс үстелі ортасын таңдауыңыз керек: оңтайлы нұсқа, біздің ойымызша, есептеу ресурстарына салыстырмалы түрде төмен талаптарға байланысты XFCE болар еді. Қалағандар басқа DE немесе WM орната алады: бәрі жеке қалауларға байланысты, бірақ бағдарламалық жасақтаманы таңдау жедел жады мен есептеуіш ядролардың қажеттілігіне тікелей әсер етеді.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Жұмыс үстелі ортасын барлық тәуелділіктермен орнату келесі пәрменмен орындалады:

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

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Әкімшілікке қатысты тапсырмаларды орындауы үшін пайдаланушыны sudo тобына қосамыз. Егер мұндай қажеттілік болмаса, бұл қадамды өткізіп жіберуге болады:

sudo gpasswd -a vnc sudo

Келесі қадам ~/.vnc/ каталогында қауіпсіз құпия сөзді және конфигурация файлдарын жасау үшін vnc пайдаланушы артықшылықтарымен VNC серверін іске қосу болып табылады. Құпия сөздің ұзындығы 6-дан 8 таңбаға дейін болуы мүмкін (қосымша таңбалар кесілген). Қажет болса, құпия сөз де тек көру үшін орнатылады, яғни. пернетақта мен тінтуірге қол жеткізусіз. Vnc пайдаланушысы ретінде келесі пәрмендер орындалады:

su - vnc
vncserver -localhost no

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу
Әдепкі бойынша, RFB протоколы 5900-ден 5906-ға дейінгі TCP порт ауқымын пайдаланады - бұл деп аталады. әрқайсысы X сервер экранына сәйкес келетін дисплей порттары. Бұл жағдайда порттар :0-ден :6-ға дейінгі экрандармен байланысты. Біз іске қосқан VNC сервер данасы 5901 портты тыңдайды (экран: 1). Басқа даналар :2, :3, т.б. экрандары бар басқа порттарда жұмыс істей алады. Әрі қарай конфигурациялау алдында серверді тоқтату керек:

vncserver -kill :1

Пәрмен келесідей нәрсені көрсетуі керек: «Xtigervnc процесінің идентификаторы 18105 жойылды... сәтті!»

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 пайдаланушысы ретінде) іске қоссаңыз, бұрын көрсетілген құпия сөзбен қосылып, келесі суретті көре аласыз:

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Systemd арқылы қызметті бастау

VNC серверін қолмен іске қосу ұрыс үшін жарамсыз, сондықтан біз жүйелік қызметті конфигурациялаймыз. Командалар root ретінде орындалады (біз 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

Егер қызмет жұмыс істеп тұрса, біз осындай нәрсені алуымыз керек.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Жұмыс үстеліне қосылу

Біздің конфигурациямыз шифрлауды пайдаланбайды, сондықтан желі пакеттерін шабуылдаушылар ұстай алады. Сонымен қатар, VNC серверлерінде жиі кездеседі осалдықтарды табыңыз, сондықтан оларды Интернеттен кіру үшін ашпау керек. Жергілікті компьютерге қауіпсіз қосылу үшін трафикті SSH туннельіне буып, одан кейін VNC клиентін конфигурациялау керек. Windows жүйесінде графикалық SSH клиентін (мысалы, PuTTY) пайдалануға болады. Қауіпсіздік үшін сервердегі TigerVNC тек жергілікті хостты тыңдайды және қоғамдық желілерден тікелей қол жетімді емес:


sudo netstat -ap |more

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу
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 портын localhost серверіндегі 5901 портына байланыстырады. -C опциясы қысуды қосады, ал -N опциясы ssh-ге қашықтағы пәрменді орындамауды айтады. -l опциясы қашықтан кіру үшін кіруді көрсетеді.

Жергілікті компьютерде туннельді орнатқаннан кейін VNC клиентін іске қосып, VNC серверіне кіру үшін бұрын көрсетілген құпия сөзді пайдаланып, 127.0.0.1:5901 (localhost:5901) хостымен байланыс орнату керек. Біз енді VPS жүйесіндегі XFCE графикалық жұмыс үстелі ортасымен шифрланған туннель арқылы қауіпсіз байланыса аламыз. Скриншотта виртуалды машинаның есептеу ресурстарын аз тұтынуын көрсету үшін терминал эмуляторында жоғарғы қызметтік бағдарлама жұмыс істейді. Содан кейін бәрі пайдаланушы қолданбаларына байланысты болады.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу
Кез келген дерлік VPS жүйесінде Linux жүйесінде VNC серверін орнатуға және конфигурациялауға болады. Бұл бейне адаптер эмуляциясы бар қымбат және ресурстарды көп қажет ететін конфигурацияларды немесе коммерциялық бағдарламалық құрал лицензияларын сатып алуды қажет етпейді. Біз қарастырған жүйелік қызмет опциясынан басқа, басқалары бар: жүйе жүктелген кезде демон режимінде (/etc/rc.local арқылы) немесе inetd арқылы сұраныс бойынша іске қосу. Соңғысы көп пайдаланушы конфигурацияларын жасау үшін қызықты. Интернет суперсервері VNC серверін іске қосып, оған клиентті қосады, ал VNC сервері жаңа экран жасап, сеансты бастайды. Оның ішінде аутентификациялау үшін графикалық дисплей менеджерін пайдалануға болады (мысалы, LightDM), ал клиентті ажыратқаннан кейін сеанс жабылады және экранмен жұмыс істейтін барлық бағдарламалар тоқтатылады.

Графикалық интерфейсі бар Linux жүйесіндегі VPS: Ubuntu 18.04 жүйесінде VNC серверін іске қосу

Ақпарат көзі: www.habr.com

пікір қалдыру