VPS дар Linux бо интерфейси графикӣ: оғоз кардани сервери VNC дар Ubuntu 18.04

VPS дар Linux бо интерфейси графикӣ: оғоз кардани сервери VNC дар Ubuntu 18.04
Баъзе корбарон VPS-и нисбатан арзонро бо Windows иҷора мегиранд, то хидматҳои мизи кории дурдастро иҷро кунанд. Ҳамин корро дар Linux бе ҷойгиркунии сахтафзори шахсии худ дар маркази додаҳо ё иҷораи сервери махсус анҷом додан мумкин аст. Баъзе одамон ба муҳити графикии шинос барои озмоиш ва таҳия ё мизи кории дурдаст бо канали васеъ барои кор аз дастгоҳҳои мобилӣ ниёз доранд. Имкониятҳои зиёде барои истифодаи системаи Remote FrameBuffer (RFB) дар асоси протоколи шабакаи виртуалии компютерӣ (VNC) мавҷуданд. Дар ин мақолаи кӯтоҳ мо ба шумо мегӯям, ки чӣ тавр онро дар мошини виртуалӣ бо ягон гипервизор танзим кунед.

Мундариҷа:

Интихоби сервери VNC
Насб ва танзимот
Оғози хидмат тавассути systemd
Пайвастшавӣ ба мизи корӣ

Интихоби сервери VNC

Хидмати VNC метавонад дар системаи виртуализатсия сохта шавад ва гипервизор онро бо дастгоҳҳои тақлидшуда пайваст мекунад ва конфигуратсияи иловагӣ талаб карда намешавад. Ин хосият хароҷоти назаррасро дар бар мегирад ва аз ҷониби ҳамаи провайдерҳо дастгирӣ намешавад - ҳатто дар татбиқи камтари захираҳо, вақте ки ба ҷои тақлид кардани дастгоҳи графикии воқеӣ, абстраксияи соддакардашуда (framebuffer) ба мошини виртуалӣ интиқол дода мешавад. Баъзан сервери VNC ба сервери фаъоли X пайваст мешавад, аммо ин усул барои дастрасӣ ба мошини физикӣ мувофиқтар аст ва дар як мошини виртуалӣ як қатор мушкилоти техникиро ба вуҷуд меорад. Роҳи осонтарини насб кардани сервери VNC бо сервери дарунсохташудаи X мебошад. Он ба дастгоҳҳои физикӣ (видео адаптер, клавиатура ва муш) ё эмуляцияи онҳо бо истифода аз гипервизор ниёз надорад ва аз ин рӯ барои ҳама намуди 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

Иҷрои он ҳамчун superuser фикри бад аст. Эҷоди корбар ва гурӯҳ:

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

Фармон бояд чунин чизеро нишон диҳад: "Кулкунии Xtigervnc process ID 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) иҷро кунед, шумо метавонед бо пароли қаблан муайяншуда пайваст шавед ва расми зеринро бубинед:

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 дар сервер танҳо ба localhost гӯш медиҳад ва мустақиман аз шабакаҳои ҷамъиятӣ дастрас нест:


sudo netstat -ap |more

VPS дар Linux бо интерфейси графикӣ: оғоз кардани сервери VNC дар Ubuntu 18.04
Дар Linux, FreeBSD, OS X ва дигар OS-ҳои ба UNIX монанд нақб аз компютери муштарӣ бо истифода аз утилитаи ssh сохта мешавад (sshd бояд дар сервери VNC кор кунад):

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

Опсияи -L порти 5901-и пайвасти дурдаст ба порти 5901 дар localhost мепайвандад. Опсияи -C фишурданро имкон медиҳад ва опсияи -N ба ssh мегӯяд, ки фармони дурдастро иҷро накунад. Параметри -l вурудро барои воридшавии дурдаст муайян мекунад.

Пас аз насб кардани нақб дар компютери маҳаллӣ, шумо бояд муштарии VNC-ро оғоз кунед ва пайвастшавӣ ба ҳост 127.0.0.1:5901 (localhost:5901), бо истифода аз пароли қаблан муайяншуда барои дастрасӣ ба сервери VNC. Ҳоло мо метавонем тавассути нақби рамзшуда бо муҳити мизи кории графикии XFCE дар VPS бехатар муошират кунем. Дар скриншот, утилитаи боло дар эмулятори терминал кор мекунад, то истеъмоли ками захираҳои компютериро дар мошини виртуалӣ нишон диҳад. Он гоҳ ҳама чиз аз барномаҳои корбар вобаста хоҳад буд.

VPS дар Linux бо интерфейси графикӣ: оғоз кардани сервери VNC дар Ubuntu 18.04
Шумо метавонед сервери VNC-ро дар Linux қариб дар ҳама гуна VPS насб ва танзим кунед. Ин конфигуратсияҳои гаронарзиш ва захираҳои серталабро бо эмулятсияи адаптерҳои видеоӣ ё харидани иҷозатномаҳои нармафзори тиҷоратӣ талаб намекунад. Илова ба варианти хидматрасонии система, ки мо баррасӣ кардем, дигарҳо ҳастанд: оғоз кардан дар реҷаи демон (тавассути /etc/rc.local), вақте ки система пурбор мешавад ё бо дархост тавассути inetd. Охирин барои эҷоди конфигуратсияҳои бисёркорбар ҷолиб аст. Superserver Internet сервери VNC-ро оғоз мекунад ва муштариро ба он пайваст мекунад ва сервери VNC экрани нав эҷод мекунад ва сессияро оғоз мекунад. Барои тасдиқи аслӣ дар дохили он, шумо метавонед менеҷери намоиши графикиро истифода баред (масалан, LightDM) ва пас аз ҷудо кардани муштарӣ, сеанс баста мешавад ва ҳамаи барномаҳое, ки бо экран кор мекунанд, қатъ карда мешаванд.

VPS дар Linux бо интерфейси графикӣ: оғоз кардани сервери VNC дар Ubuntu 18.04

Манбаъ: will.com

Илова Эзоҳ