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
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:
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
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
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:
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.
Labortabla Konekto
Nia agordo ne uzas ĉifradon, do retpakoj povas esti kaptitaj de atakantoj. Krome, en VNC-serviloj sufiĉe ofte
sudo netstat -ap |more
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.
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,
fonto: www.habr.com