VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä
Jotkut käyttäjät vuokraavat suhteellisen halvan VPS:n Windowsilla käyttääkseen etätyöpöytäpalveluita. Sama voidaan tehdä Linuxissa isännöimättä omaa laitteistoasi datakeskuksessa tai vuokraamatta omaa palvelinta. Jotkut tarvitsevat tutun graafisen ympäristön testausta ja kehitystä varten tai etätyöpöydän laajalla kanavalla työskentelyyn mobiililaitteilla. Remote FrameBuffer (RFB) -protokollapohjaisen Virtual Network Computing (VNC) -järjestelmän käyttämiseen on monia vaihtoehtoja. Tässä lyhyessä artikkelissa kerromme, kuinka se määritetään virtuaalikoneessa millä tahansa hypervisorilla.

Vastaaja:

VNC-palvelimen valinta
Asennus ja konfigurointi
Palvelun käynnistäminen systemd:n ​​kautta
Työpöytäyhteys

VNC-palvelimen valinta

VNC-palvelu voidaan rakentaa virtualisointijärjestelmään, ja hypervisor yhdistää sen emuloituihin laitteisiin, eikä lisämäärityksiä tarvita. Tämä vaihtoehto sisältää huomattavia lisäkustannuksia, ja kaikki palveluntarjoajat eivät tue sitä - edes vähemmän resursseja vaativassa toteutuksessa, kun todellisen grafiikkalaitteen emuloinnin sijaan yksinkertaistettu abstraktio (framebuffer) siirretään virtuaalikoneeseen. Joskus VNC-palvelin on sidottu käynnissä olevaan X-palvelimeen, mutta tämä menetelmä sopii paremmin fyysiseen koneeseen, ja virtuaalisessa koneessa se aiheuttaa useita teknisiä vaikeuksia. Helpoin tapa asentaa VNC-palvelin on sisäänrakennettu X-palvelin. Se ei vaadi fyysisiä laitteita (näytönohjain, näppäimistö ja hiiri) tai niiden emulointia hypervisorilla, joten se sopii kaikentyyppisille VPS:ille.

Asennus ja konfigurointi

Tarvitsemme virtuaalikoneen, jonka oletuskokoonpanossa on Ubuntu Server 18.04 LTS. Tämän jakelun vakiovarastoissa on useita VNC-palvelimia: TightVNC, TigerVNC, x11vnc ja muut. Päädyimme TigerVNC:hen – TightVNC:n nykyiseen haaraan, jota kehittäjä ei tue. Muiden palvelimien asetukset tehdään samalla tavalla. Sinun on myös valittava työpöytäympäristö: mielestämme optimaalinen vaihtoehto olisi XFCE, koska laskentaresurssit ovat suhteellisen alhaiset. Halukkaat voivat asentaa toisen DE:n tai WM:n: kaikki riippuu henkilökohtaisista mieltymyksistä, mutta ohjelmiston valinta vaikuttaa suoraan RAM-muistin ja laskentaytimien tarpeeseen.

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

Työpöytäympäristön asennus kaikilla riippuvuuksilla tehdään seuraavalla komennolla:

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

Seuraavaksi sinun on asennettava VNC-palvelin:

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

Sen käyttäminen superkäyttäjänä on huono idea. Luo käyttäjä ja ryhmä:

sudo adduser vnc

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

Lisätään käyttäjä sudo-ryhmään, jotta hän voi suorittaa hallintaan liittyviä tehtäviä. Jos tällaista tarvetta ei ole, voit ohittaa tämän vaiheen:

sudo gpasswd -a vnc sudo

Seuraava vaihe on suorittaa VNC-palvelin vnc-käyttäjäoikeuksilla suojatun salasanan ja asetustiedostojen luomiseksi ~/.vnc/-hakemistoon. Salasanan pituus voi olla 6-8 merkkiä (ylimääräiset merkit leikataan pois). Tarvittaessa asetetaan salasana myös vain katselua varten, ts. ilman pääsyä näppäimistöön ja hiireen. Seuraavat komennot suoritetaan vnc-käyttäjänä:

su - vnc
vncserver -localhost no

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä
Oletusarvoisesti RFB-protokolla käyttää TCP-porttialuetta 5900 - 5906 - tämä on ns. näyttöportit, joista jokainen vastaa X-palvelinnäyttöä. Tässä tapauksessa portit liitetään näyttöihin välillä :0 - :6. Aloittamamme VNC-palvelinesiintymä kuuntelee porttia 5901 (näyttö: 1). Muut esiintymät voivat toimia muissa porteissa, joissa on näytöt :2, :3 jne. Ennen kuin määrität lisäasetuksia, sinun on pysäytettävä palvelin:

vncserver -kill :1

Komennon pitäisi näyttää jotain tällaista: "Killing Xtigervnc process ID 18105... success!"

Kun TigerVNC käynnistyy, se suorittaa ~/.vnc/xstartup-komentosarjan konfigurointiasetusten määrittämiseksi. Luodaan oma skriptimme tallentamalla ensin varmuuskopio olemassa olevasta, jos sellainen on olemassa:

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

XFCE-työpöytäympäristön istunnon käynnistää seuraava xstartup-skripti:

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

xrdb-komentoa tarvitaan, jotta VNC voi lukea kotihakemiston .Xresources-tiedoston. Siellä käyttäjä voi määrittää erilaisia ​​graafisia työpöytäasetuksia: fontin renderöintiä, päätevärejä, kohdistinteemoja jne. Skripti on tehtävä suoritettavaksi:

chmod 755 ~/.vnc/xstartup

Tämä päättää VNC-palvelimen asennuksen. Jos suoritat sen komennolla vncserver -localhost no (vnc-käyttäjänä), voit muodostaa yhteyden aiemmin määritetyllä salasanalla ja nähdä seuraavan kuvan:

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

Palvelun käynnistäminen systemd:n ​​kautta

VNC-palvelimen manuaalinen käynnistäminen ei sovellu taistelukäyttöön, joten konfiguroimme järjestelmäpalvelun. Komennot suoritetaan pääkäyttäjänä (käytämme sudoa). Luodaan ensin uusi yksikkötiedosto palvelimellemme:

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

@-symboli nimessä antaa sinun välittää argumentin palvelun määrittämiseksi. Meidän tapauksessamme se määrittää VNC-näyttöportin. Yksikkötiedosto koostuu useista osista:

[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

Sitten sinun on ilmoitettava systemdille uudesta tiedostosta ja aktivoitava se:

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

Numero 1 nimessä määrittää näytön numeron.

Pysäytä VNC-palvelin, käynnistä se palveluna ja tarkista tila:

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

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

Jos palvelu on käynnissä, meidän pitäisi saada jotain tällaista.

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

Työpöytäyhteys

Kokoonpanomme ei käytä salausta, joten hyökkääjät voivat siepata verkkopaketteja. Lisäksi VNC-palvelimissa melko usein löytää haavoittuvuuksia, joten sinun ei pitäisi avata niitä Internetin kautta. Jotta voit muodostaa turvallisen yhteyden paikallisella tietokoneellasi, sinun on pakattava liikenne SSH-tunneliin ja määritettävä sitten VNC-asiakas. Windowsissa voit käyttää graafista SSH-asiakasta (esimerkiksi PuTTY). Turvallisuussyistä palvelimella oleva TigerVNC kuuntelee vain localhostia eikä ole suoraan käytettävissä julkisista verkoista:


sudo netstat -ap |more

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä
Linuxissa, FreeBSD:ssä, OS X:ssä ja muissa UNIXin kaltaisissa käyttöjärjestelmissä tunneli asiakastietokoneesta tehdään ssh-apuohjelmalla (sshd:n on oltava käynnissä VNC-palvelimella):

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

Vaihtoehto -L sitoo etäyhteyden portin 5901 paikallispalvelimen porttiin 5901. Vaihtoehto -C mahdollistaa pakkaamisen, ja -N -valinta kertoo ssh:lle, ettei se suorita etäkomentoa. Vaihtoehto -l määrittää kirjautumisen etäkirjautumista varten.

Kun olet määrittänyt tunnelin paikalliselle tietokoneelle, sinun on käynnistettävä VNC-asiakas ja muodostettava yhteys isäntään 127.0.0.1:5901 (localhost:5901) käyttämällä aiemmin määritettyä salasanaa päästäksesi VNC-palvelimeen. Voimme nyt kommunikoida turvallisesti salatun tunnelin kautta VPS:n graafisen XFCE-työpöytäympäristön kanssa. Kuvakaappauksessa pääteemulaattorissa on käynnissä pääapuohjelma, joka näyttää virtuaalikoneen alhaisen laskentaresurssien kulutuksen. Sitten kaikki riippuu käyttäjien sovelluksista.

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä
Voit asentaa ja määrittää VNC-palvelimen Linuxissa lähes mihin tahansa VPS:ään. Tämä ei vaadi kalliita ja resursseja vaativia kokoonpanoja videosovittimen emuloinnilla tai kaupallisten ohjelmistolisenssien ostamista. Harkitun järjestelmäpalveluvaihtoehdon lisäksi on muitakin: käynnistäminen daemon-tilassa (/etc/rc.localin kautta) järjestelmän käynnistyessä tai pyynnöstä inetd:n kautta. Jälkimmäinen on mielenkiintoinen monen käyttäjän kokoonpanojen luomiseen. Internet Superserver käynnistää VNC-palvelimen ja yhdistää asiakkaan siihen, ja VNC-palvelin luo uuden näytön ja aloittaa istunnon. Voit todentaa siinä käyttämällä graafista näytönhallintaa (esim. LightDM), ja kun asiakas on katkaissut, istunto suljetaan ja kaikki näytön kanssa toimivat ohjelmat lopetetaan.

VPS Linuxissa graafisella käyttöliittymällä: VNC-palvelimen käynnistäminen Ubuntu 18.04:ssä

Lähde: will.com

Lisää kommentti