Daži lietotÄji Ä«rÄ salÄ«dzinoÅ”i lÄtu VPS ar Windows, lai palaistu attÄlÄs darbvirsmas pakalpojumus. To paÅ”u var izdarÄ«t operÄtÄjsistÄmÄ Linux, neizvietojot savu aparatÅ«ru datu centrÄ vai neÄ«rÄjot Ä«paÅ”u serveri. Dažiem cilvÄkiem ir nepiecieÅ”ama pazÄ«stama grafiskÄ vide testÄÅ”anai un izstrÄdei vai attÄlÄ darbvirsma ar plaÅ”u kanÄlu darbam no mobilajÄm ierÄ«cÄm. Ir daudz iespÄju izmantot Remote FrameBuffer (RFB) protokolu balstÄ«tu virtuÄlÄ tÄ«kla skaitļoÅ”anas (VNC) sistÄmu. Å ajÄ Ä«sajÄ rakstÄ mÄs jums pateiksim, kÄ to konfigurÄt virtuÄlajÄ maŔīnÄ ar jebkuru hipervizoru.
Satura rÄdÄ«tÄjs:
VNC servera izvÄle
VNC servisu var iebÅ«vÄt virtualizÄcijas sistÄmÄ, un hipervizors to savienos ar emulÄtajÄm ierÄ«cÄm un nebÅ«s nepiecieÅ”ama papildu konfigurÄcija. Å Ä« opcija ir saistÄ«ta ar ievÄrojamÄm pieskaitÄmÄm izmaksÄm, un to neatbalsta visi pakalpojumu sniedzÄji - pat mazÄk resursietilpÄ«gÄ ievieÅ”anÄ, kad reÄlas grafikas ierÄ«ces emulÄÅ”anas vietÄ uz virtuÄlo maŔīnu tiek pÄrsÅ«tÄ«ta vienkÄrÅ”ota abstrakcija (kadru buferis). Dažreiz VNC serveris ir piesaistÄ«ts X serverim, kas darbojas, taÄu Ŕī metode ir vairÄk piemÄrota, lai piekļūtu fiziskai maŔīnai, un virtuÄlajÄ ierÄ«cÄ tas rada vairÄkas tehniskas grÅ«tÄ«bas. VienkÄrÅ”Äkais veids, kÄ instalÄt VNC serveri, ir ar iebÅ«vÄtu X serveri. Tam nav nepiecieÅ”amas fiziskas ierÄ«ces (video adapteris, tastatÅ«ra un pele) vai to emulÄcija, izmantojot hipervizoru, un tÄpÄc ir piemÄrota jebkura veida VPS.
UzstÄdÄ«Å”ana un konfigurÄÅ”ana
Mums bÅ«s nepiecieÅ”ama virtuÄlÄ maŔīna ar Ubuntu Server 18.04 LTS noklusÄjuma konfigurÄcijÄ. Å Ä« izplatÄ«Å”anas standarta krÄtuvÄs ir vairÄki VNC serveri:
Darbvirsmas vides instalÄÅ”ana ar visÄm atkarÄ«bÄm tiek veikta ar Å”Ädu komandu:
sudo apt-get install xfce4 xfce4-goodies xorg dbus-x11 x11-xserver-utils
TÄlÄk jums jÄinstalÄ VNC serveris:
sudo apt-get install tigervnc-standalone-server tigervnc-common
To palaist kÄ superlietotÄju ir slikta ideja. Izveidojiet lietotÄju un grupu:
sudo adduser vnc
Pievienosim lietotÄju sudo grupai, lai viÅÅ” varÄtu veikt ar administrÄÅ”anu saistÄ«tus uzdevumus. Ja Å”Ädas vajadzÄ«bas nav, varat izlaist Å”o darbÄ«bu:
sudo gpasswd -a vnc sudo
NÄkamais solis ir palaist VNC serveri ar vnc lietotÄja privilÄÄ£ijÄm, lai izveidotu droÅ”u paroli un konfigurÄcijas failus direktorijÄ ~/.vnc/. Paroles garums var bÅ«t no 6 lÄ«dz 8 rakstzÄ«mÄm (liekÄs rakstzÄ«mes tiek nogrieztas). Ja nepiecieÅ”ams, parole tiek iestatÄ«ta arÄ« tikai apskatei, t.i. bez piekļuves tastatÅ«rai un pelei. KÄ vnc lietotÄjs tiek izpildÄ«tas Å”Ädas komandas:
su - vnc
vncserver -localhost no
PÄc noklusÄjuma RFB protokols izmanto TCP portu diapazonu no 5900 lÄ«dz 5906 - tas ir tÄ sauktais. displeja porti, katrs atbilst X servera ekrÄnam. Å ajÄ gadÄ«jumÄ porti ir saistÄ«ti ar ekrÄniem no :0 lÄ«dz :6. MÅ«su palaistais VNC servera gadÄ«jums klausÄs portu 5901 (ekrÄns: 1). Citas instances var darboties citos portos ar ekrÄniem :2, :3 utt. Pirms turpmÄkas konfigurÄÅ”anas ir jÄaptur serveris:
vncserver -kill :1
Komandai vajadzÄtu parÄdÄ«t apmÄram Å”Ädu: āNogalinot Xtigervnc procesa ID 18105... panÄkumus!ā
Kad TigerVNC startÄ, tas palaiž ~/.vnc/xstartup skriptu, lai konfigurÄtu konfigurÄcijas iestatÄ«jumus. Izveidosim savu skriptu, vispirms saglabÄjot esoÅ”Ä rezerves kopiju, ja tÄda ir:
mv ~/.vnc/xstartup ~/.vnc/xstartup.b
nano ~/.vnc/xstartup
XFCE darbvirsmas vides sesiju sÄk Å”Äds xstartup skripts:
#!/bin/bash
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
xrdb $HOME/.Xresources
exec /usr/bin/startxfce4 &
Komanda xrdb ir nepiecieÅ”ama, lai VNC nolasÄ«tu .Xresources failu mÄjas direktorijÄ. Tur lietotÄjs var definÄt dažÄdus grafiskos darbvirsmas iestatÄ«jumus: fontu renderÄÅ”anu, terminÄļa krÄsas, kursora motÄ«vus utt. Skriptam jÄbÅ«t izpildÄmam:
chmod 755 ~/.vnc/xstartup
Tas pabeidz VNC servera iestatÄ«Å”anu. Ja palaižat to ar komandu vncserver -localhost no (kÄ vnc lietotÄjs), varat izveidot savienojumu ar iepriekÅ” norÄdÄ«to paroli un redzÄt Å”Ädu attÄlu:
Pakalpojuma palaiŔana, izmantojot systemd
ManuÄla VNC servera palaiÅ”ana nav piemÄrota kaujas lietoÅ”anai, tÄpÄc mÄs konfigurÄsim sistÄmas pakalpojumu. Komandas tiek izpildÄ«tas kÄ root (mÄs izmantojam sudo). Vispirms izveidosim jaunu vienÄ«bas failu mÅ«su serverim:
sudo nano /etc/systemd/system/[email protected]
Simbols @ nosaukumÄ Ä¼auj nodot argumentu pakalpojuma konfigurÄÅ”anai. MÅ«su gadÄ«jumÄ tas norÄda VNC displeja portu. VienÄ«bas fails sastÄv no vairÄkÄm sadaļÄm:
[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
PÄc tam jums jÄpaziÅo systemd par jauno failu un jÄaktivizÄ:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
Cipars 1 nosaukumÄ norÄda ekrÄna numuru.
Apturiet VNC serveri, palaidiet to kÄ pakalpojumu un pÄrbaudiet statusu:
# Š¾Ń ŠøŠ¼ŠµŠ½Šø ŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŠµŠ»Ń vnc
vncserver -kill :1
# Ń ŠæŃŠøŠ²ŠøŠ»ŠµŠ³ŠøŃŠ¼Šø ŃŃŠæŠµŃŠæŠ¾Š»ŃŠ·Š¾Š²Š°ŃŠµŠ»Ń
sudo systemctl start vncserver@1
sudo systemctl status vncserver@1
Ja pakalpojums darbojas, mums vajadzÄtu iegÅ«t kaut ko lÄ«dzÄ«gu Å”im.
Darbvirsmas savienojums
MÅ«su konfigurÄcijÄ netiek izmantota Å”ifrÄÅ”ana, tÄpÄc uzbrucÄji var pÄrtvert tÄ«kla paketes. TurklÄt VNC serveros diezgan bieži
sudo netstat -ap |more
Linux, FreeBSD, OS X un citÄs UNIX lÄ«dzÄ«gÄs operÄtÄjsistÄmÄs, izmantojot ssh utilÄ«tu, tiek izveidots tunelis no klienta datora (sshd jÄdarbojas VNC serverÄ«):
ssh -L 5901:127.0.0.1:5901 -C -N -l vnc vnc_server_ip
Opcija -L saista attÄlÄ savienojuma portu 5901 ar portu 5901 uz localhost. Opcija -C iespÄjo saspieÅ”anu, un opcija -N liek ssh neizpildÄ«t attÄlo komandu. Opcija -l norÄda pieteikÅ”anos attÄlajai pieteikÅ”anÄs.
PÄc tuneļa iestatÄ«Å”anas lokÄlajÄ datorÄ ir jÄpalaiž VNC klients un jÄizveido savienojums ar resursdatoru 127.0.0.1:5901 (localhost:5901), izmantojot iepriekÅ” norÄdÄ«to paroli, lai piekļūtu VNC serverim. Tagad mÄs varam droÅ”i sazinÄties, izmantojot Å”ifrÄtu tuneli ar XFCE grafisko darbvirsmas vidi VPS. EkrÄnuzÅÄmumÄ galvenÄ utilÄ«ta darbojas terminÄļa emulatorÄ, lai parÄdÄ«tu virtuÄlÄs maŔīnas zemo skaitļoÅ”anas resursu patÄriÅu. Tad viss bÅ«s atkarÄ«gs no lietotÄja lietojumprogrammÄm.
JÅ«s varat instalÄt un konfigurÄt VNC serveri operÄtÄjsistÄmÄ Linux gandrÄ«z jebkurÄ VPS. Tam nav nepiecieÅ”amas dÄrgas un resursietilpÄ«gas konfigurÄcijas ar video adaptera emulÄciju vai komerciÄlu programmatÅ«ras licenÄu iegÄde. Papildus mÅ«su apsvÄrtajai sistÄmas pakalpojuma opcijai ir arÄ« citas: palaiÅ”ana dÄmona režīmÄ (izmantojot /etc/rc.local), kad sistÄma tiek sÄknÄta, vai pÄc pieprasÄ«juma, izmantojot inetd. PÄdÄjais ir interesants, lai izveidotu vairÄku lietotÄju konfigurÄcijas. Interneta superserveris startÄs VNC serveri un savienos ar to klientu, un VNC serveris izveidos jaunu ekrÄnu un sÄks sesiju. Lai autentificÄtos tajÄ, varat izmantot grafisko displeja pÄrvaldnieku (piemÄram,
Avots: www.habr.com