VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04
Iuj uzantoj luas relative malmultekostan VPS kun Vindozo por ruli fora labortablaj servoj. La sama povas esti farita en Linukso sen gastigi vian propran aparataron en datumcentro aŭ luante dediĉitan servilon. Iuj homoj bezonas konatan grafikan medion por testado kaj disvolviĝo, aŭ fora labortablo kun larĝa kanalo por labori de porteblaj aparatoj. Estas multaj opcioj por uzi la Remote FrameBuffer (RFB) protokol-bazitan Virtual Network Computing (VNC) sistemo. En ĉi tiu mallonga artikolo ni diros al vi kiel agordi ĝin sur virtuala maŝino kun iu ajn hiperviziero.

Enhavtabelo:

Elektante VNC-Servilon
Instalado kaj agordo
Komencante servon per systemd
Labortabla Konekto

Elektante VNC-Servilon

La VNC-servo povas esti enkonstruita en la virtualigsistemon, kaj la hiperviziero konektos ĝin kun la kopiitaj aparatoj kaj neniu plia agordo estos postulata. Ĉi tiu opcio implikas signifan ŝarĝon kaj ne estas subtenata de ĉiuj provizantoj - eĉ en malpli intensiva rimedo efektivigo, kiam anstataŭ kopii veran grafikan aparaton, simpligita abstraktado (framebuffer) estas transdonita al la virtuala maŝino. Foje VNC-servilo estas ligita al funkcianta X-servilo, sed ĉi tiu metodo pli taŭgas por aliri fizikan maŝinon, kaj sur virtuala ĝi kreas kelkajn teknikajn malfacilaĵojn. La plej facila maniero instali VNC-servilon estas kun enkonstruita X-servilo. Ĝi ne postulas fizikajn aparatojn (video-adaptilo, klavaro kaj muso) aŭ ilian emuladon per hiperviziero, kaj tial taŭgas por ajna tipo de VPS.

Instalado kaj agordo

Ni bezonos virtualan maŝinon kun Ubuntu Server 18.04 LTS en ĝia defaŭlta agordo. Estas pluraj VNC-serviloj en la normaj deponejoj de ĉi tiu distribuo: TightVNC, TigerVNC, x11vnc kaj aliaj. Ni decidis por TigerVNC - nuna forko de TightVNC, kiu ne estas subtenata de la programisto. Agordo de aliaj serviloj estas farita en simila maniero. Vi ankaŭ devas elekti labortablan medion: la optimuma opcio, laŭ nia opinio, estus XFCE pro la relative malaltaj postuloj por komputikaj rimedoj. Tiuj, kiuj deziras, povas instali alian DE aŭ WM: ĉio dependas de personaj preferoj, sed la elekto de programaro rekte influas la bezonon de RAM kaj komputikkernoj.

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

Instalado de la labortabla medio kun ĉiuj dependecoj estas farita per la sekva komando:

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

Poste vi devas instali la VNC-servilon:

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

Ruli ĝin kiel superuzanto estas malbona ideo. Kreu uzanton kaj grupon:

sudo adduser vnc

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

Ni aldonu la uzanton al la sudo-grupo, por ke li povu plenumi administrado-rilatajn taskojn. Se ne ekzistas tia bezono, vi povas preterlasi ĉi tiun paŝon:

sudo gpasswd -a vnc sudo

La sekva paŝo estas ruli la VNC-servilon kun vnc-uzantprivilegioj por krei sekuran pasvorton kaj agordajn dosierojn en la ~/.vnc/ dosierujo. La pasvortlongo povas esti de 6 ĝis 8 signoj (kromaj signoj estas fortranĉitaj). Se necese, pasvorto ankaŭ estas agordita por nur spektado, t.e. sen aliro al klavaro kaj muso. La sekvaj komandoj estas ekzekutitaj kiel la vnc-uzanto:

su - vnc
vncserver -localhost no

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04
Defaŭlte, la RFB-protokolo uzas la TCP-pordan gamon de 5900 ĝis 5906 - ĉi tio estas la tn. montrohavenoj, ĉiu egalrilatante al X-servila ekrano. En ĉi tiu kazo, la havenoj estas asociitaj kun ekranoj de :0 ĝis :6. La VNC-servila petskribo kiun ni lanĉis aŭskultas la havenon 5901 (ekrano: 1). Aliaj okazoj povas funkcii en aliaj havenoj kun ekranoj :2, :3, ktp. Antaŭ plua agordo, vi devas haltigi la servilon:

vncserver -kill :1

La komando devus montri ion kiel ĉi tio: "Mortigo de Xtigervnc-procezo ID 18105... sukceso!"

Kiam TigerVNC komenciĝas, ĝi rulas la ~/.vnc/xstartup-skripton por agordi agordajn agordojn. Ni kreu nian propran skripton, unue konservante rezervan kopion de la ekzistanta, se ĝi ekzistas:

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

La XFCE labortabla medio-sesio estas komencita per la sekva xstartup-skripto:

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

La komando xrdb estas postulata por ke VNC legu la dosieron .Xresources en la hejma dosierujo. Tie la uzanto povas difini diversajn grafikajn labortablaj agordojn: tiparo bildigo, finaj koloroj, kursoraj temoj, ktp. La skripto devas fariĝi plenumebla:

chmod 755 ~/.vnc/xstartup

Ĉi tio kompletigas la agordon de VNC-servilo. Se vi rulas ĝin per la komando vncserver -localhost no (kiel la vnc-uzanto), vi povas konektiĝi per la antaŭe specifita pasvorto kaj vidi la sekvan bildon:

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

Komencante servon per systemd

Mane lanĉi VNC-servilon ne taŭgas por bataluzo, do ni agordos sisteman servon. La komandoj estas ekzekutitaj kiel radiko (ni uzas sudo). Unue, ni kreu novan unuodosieron por nia servilo:

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

La simbolo @ en la nomo permesas al vi pasigi argumenton por agordi la servon. En nia kazo, ĝi specifas la VNC-montran havenon. La unuodosiero konsistas el pluraj sekcioj:

[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

Tiam vi devas sciigi Systemd pri la nova dosiero kaj aktivigi ĝin:

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

La numero 1 en la nomo specifas la ekranan numeron.

Haltu la VNC-servilon, lanĉu ĝin kiel servon kaj kontrolu la staton:

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

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

Se la servo funkcias, ni devus ricevi ion tian.

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

Labortabla Konekto

Nia agordo ne uzas ĉifradon, do retpakoj povas esti kaptitaj de atakantoj. Krome, en VNC-serviloj sufiĉe ofte trovi vundeblecojn, do vi ne devus malfermi ilin por aliro de la Interreto. Por sekure konektiĝi al via loka komputilo, vi devas paki la trafikon en SSH-tunelon kaj poste agordi VNC-klienton. En Vindozo, vi povas uzi grafikan SSH-klienton (ekzemple PuTTY). Por sekureco, TigerVNC sur la servilo nur aŭskultas lokagastiganton kaj ne estas rekte alirebla de publikaj retoj:


sudo netstat -ap |more

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04
En Linukso, FreeBSD, OS X kaj aliaj UNIX-similaj OS-oj, tunelo de la klienta komputilo estas farita uzante la ssh-servaĵon (sshd devas funkcii sur la VNC-servilo):

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

La opcio -L ligas la havenon 5901 de la fora konekto al la haveno 5901 sur lokahost. La opcio -C ebligas kunpremadon, kaj la opcio -N diras al ssh ne ekzekuti la foran komandon. La opcio -l specifas ensaluton por fora ensaluto.

Post agordo de la tunelo en la loka komputilo, vi devas lanĉi la VNC-klienton kaj establi konekton al la gastiganto 127.0.0.1:5901 (localhost:5901), uzante la antaŭe specifitan pasvorton por aliri la VNC-servilon. Ni nun povas sekure komuniki per ĉifrita tunelo kun la grafika labortabla medio XFCE sur la VPS. En la ekrankopio, la plej alta utileco funkcias en la terminala emulilo por montri la malaltan konsumon de komputikaj rimedoj de la virtuala maŝino. Tiam ĉio dependos de uzantaj aplikaĵoj.

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04
Vi povas instali kaj agordi VNC-servilon en Linukso ĉe preskaŭ ajna VPS. Ĉi tio ne postulas multekostajn kaj rimedo-intensajn agordojn kun videoadaptilo-emulado aŭ la aĉeton de komercaj programaraj licencoj. Krom la opcio pri sistema servo, kiun ni konsideris, ekzistas aliaj: lanĉi en demona reĝimo (per /etc/rc.local) kiam la sistemo ekfunkciigas aŭ laŭpeto per inetd. Ĉi-lasta estas interesa por krei pluruzantajn agordojn. La Interreta Superservilo komencos la VNC-servilon kaj konektos la klienton al ĝi, kaj la VNC-servilo kreos novan ekranon kaj komencos la sesion. Por aŭtentikigi en ĝi, vi povas uzi grafikan ekranadministranton (ekzemple, LightDM), kaj post malkonekti la klienton, la sesio estos fermita kaj ĉiuj programoj laborantaj kun la ekrano estos ĉesigitaj.

VPS en Linukso kun grafika interfaco: lanĉante VNC-servilon sur Ubuntu 18.04

fonto: www.habr.com

Aldoni komenton