Asenna VNC. VNC-palvelin tai etätyöpöytä Ubuntussa

  • opetusohjelma

Tämä opas käsittelee noVNC:n määrittämistä Windows-tietokoneiden etäkäyttöä varten.

Miksi noVNC?

- Windowsissa on "alkuperäinen" työkalu etäkäyttöön - Etätyöpöytäyhteys. Mutta se ei ole saatavilla kaikissa Windows-versioissa - se ei esimerkiksi ole Home-versiossa.
- On myös monia VNC-palvelimia ja asiakkaita kaikille Windows-versioille. Mutta käyttääksesi niitä, sinun on asennettava VNC-asiakas. Ja on aikoja, jolloin et voi laittaa mitään (oikeuksien rajoitus), tai se ei ole toivottavaa, jotta se ei jätä jälkiä jonkun muun tietokoneeseen.
- On myös Chrome Remote Desktop, joka tarvitsee vain selainlaajennuksen asiakaspuolella. Mutta minulla oli tapaus, jossa organisaatio esti Chrome-protokollan (melkein kaikki estettiin siellä), ja noVNC käyttää tavallista HTTP:tä ja siksi toimi.

Sikäli kuin tiedän, noVNC on ainoa työkalu, jolla voit muodostaa yhteyden etätietokoneeseen asentamatta mitään asiakasta - vain selainta käytetään.
Siellä on myös SPICE, mutta en löytänyt Windows-palvelinta sille.

Tämän opetusohjelman tuloksena voimme yksinkertaisesti avata linkin selaimessa, syöttää salasanan ja käyttää etäjärjestelmää.

Edellytyksenä on porttiohjaus tai etätietokoneen valkoinen IP. Voit myös käyttää VNC-toistinta. Mutta tämä on jo tämän artikkelin ulkopuolella.

Yleinen kaava

Ensin laitamme tavallisen VNC-palvelimen porttiin 5900.

Laita sitten noVNC ja WebSockify porttiin 5901.

Tavoitteena on olla jotain tällaista:


Suorita nyt komentokehote järjestelmänvalvojan oikeuksilla:


Käynnistä WebSockify:

C:\> cd c:\noVNC\websockify c:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master VAROITUS: ei "resurssi"-moduulia, WebSocket-tuki on poistettu käytöstä palvelinasetukset: - Kuuntele:5901 - Flash-suojauskäytäntöpalvelin - Web-palvelin. Web-juuri: c:\noVNC\noVNC-master - Ei SSL/TLS-tukea (ei sertifikaattitiedostoa) - välityspalvelin välillä:5901 arvoon 127.0.0.1:5900
Ensimmäinen yllä oleva parametri on portti, jota noVNC kuuntelee: 5901 . Tämä portti on asetettava asiakkaiden käyttöön.

Toinen parametri on IP ja portti, jossa VNC-palvelin sijaitsee: 127.0.0.1:5900

Kolmas parametri --verkko käskee noVNC:tä palvelemaan hakemiston sisältöä c:\noVNC\noVNC-master HTTP:n kautta. Oletuksena noVNC antaa vain VNC-verkkoliittimen, mutta tämä vaihtoehto mahdollistaa HTTP-palvelimen käyttämisen samassa portissa.

Hakemistossa c:\noVNC\noVNC-master nimeä tiedosto uudelleen vnc.html v index.html annetaan oletuksena.

noVNC-asiakkaan pitäisi nyt olla saatavilla portissa 5901:


Kokeile myös avata noVNC-sivu toisesta tietokoneesta/älypuhelimesta varmistaaksesi, että se on käytettävissä ulkopuolelta. Jos ei, tarkista:

Että Windowsin palomuurisi ei estä ulkoisia yhteyksiä tähän porttiin,
- että reitittimesi uudelleenohjaa pyynnöt tähän porttiin oikein oikeaan tietokoneeseen; Google "port forwarding" tarvittaessa.

Yhdistämme (Yhdistä), annamme VNC-salasanan ja näemme etätietokoneen työpöydän!

Jos jokin meni pieleen, virheiden pitäisi näkyä konsolissamme.

Voit pysäyttää noVNC-palvelimen painamalla konsolissa Ctrl-C. Yllä kuvattu kokoonpano toimii HTTP:n (ja WS:n) yli.

Lisää SSL itse allekirjoitetulla varmenteella

SSL:n lisääminen on valinnaista. Voit luoda itse allekirjoitetun varmenteen seuraavasti:

Openssl req -uusi -x509 -päivää 365 -solmut -out self.pem -keyout self.pem
Windowsissa openssl voidaan ottaa.

Tuloksena saamme self.pem-tiedoston, joka on osoitettava noVNC:tä käynnistettäessä:

C:\noVNC\websockify> websockify.exe 5901 127.0.0.1:5900 --web c:\noVNC\noVNC-master --cert=c:\noVNC\self.pem
Nyt HTTPS ja WSS (WebSocket Secure) toimivat. WSS:n asetuksissa (Settings) on määritettävä Encrypt. Mielenkiintoista on, että noVNC käyttää samaa porttia HTTP:lle ja HTTPS:lle - se "osoittaa" erottamaan pyynnöt ja vastaamaan oikein.

Koska varmenne on itse allekirjoitettu, selaimen on hyväksyttävä tämä varmenne.

Salataan

Minulla ei ole ohjeita järjestelmän asettamiseen niin, että Let's Encrypt luo automaattisesti varmenteen nimenomaan järjestelmäämme varten. Tämä vaatisi noVNC:n toimimista portissa 80, mikä on varmasti mahdollista, mutta voi olla hankalaa, ja löytää tapa integroida certbot, jotta nämä tiedostot julkaistaan ​​oikeaan hakemistoon.Luulen, että se on mahdollista, mutta en tehnyt. Jos lopetat sen, jaa se kommenteissa.

Minun tapauksessani minulla on jo kotipalvelin NGINX- ja DDNS-nimellä, joka on määritetty vastaanottamaan automaattisesti sertifikaatti Lets Encryptiltä.

Voit ajaa jotain vastaavaa itsellesi. siellä on ohjeet Let's Encryptin määrittämiseen Linuxille ja Windowsille.

Siksi varten noVNC Käytän vain olemassa olevia pem- tiedostot luotu nginx.

Let's Encrypt luo seuraavat tiedostot:

Cert.pem: Verkkotunnuksesi sertifikaattiketju.pem: Let's Encrypt -ketjusertifikaatti fullchain.pem: cert.pem ja chain.pem yhdistetty privkey.pem: Varmenteesi yksityinen avain
Ubuntussa löydät ne tältä polulta: /etc/letsencrypt/live/your_domain_name

Tarve kopioida (yhdistää) fullchain.pem ja privkey.pem esimerkiksi yhdeksi tiedostoksi, kutsutaan sitä encrypt.pem ja tämä tiedosto, jota käytämme noVNC.

Tietysti tämä toimii vain, jos nginx palvelin ja noVNC- yhdellä verkkotunnuksella. Portit voivat vaihdella.

Emmekä saa unohtaa, että varmenteet ovat voimassa vain muutaman kuukauden, minkä jälkeen sinun on kopioitava päivitetyt tiedostot.

NoVNC:n lisääminen Windows-palveluksi

Lataa zip-arkisto ja pura tiedostot sieltä niin, että ne ovat samassa kansiossa tiedoston kanssa websockify.exe, eli meidän tapauksessamme c:\noVNC\websockify.

Käynnistettäessä palvelu käyttää tiedoston parametreja noVNCConfig.ini. Tässä on esimerkki konfiguraatiostani:

5901 127.0.0.1:5900 --web C:\noVNC\noVNC-master --cert=c:\noVNC\encrypt.pem
Luo uusi palvelu järjestelmänvalvojan oikeuksilla käynnistetyssä konsolissa:

Sc luo "noVNC Websocket Server" binPath= "c:\noVNC\websockify\noVNC Websocket Service.exe" DisplayName= "noVNC Websocket Server"
Jos sinun on poistettava palvelu, toimi näin:

Sc poistaa "noVNC Websocket Server"
Avaa palvelut (Ohjauspaneeli → Hallintatyökalut → Palvelut) ja käynnistä noVNC Websocket Server. Voit myös määrittää täällä niin, että palvelu käynnistyy aina Windowsin kanssa:

Tunnetut ongelmat

Näppäimistöasettelu

Huomasin, että venäläinen näppäimistöasettelu toimii melko epätavallisella tavalla:
Jos asiakkaan kieleksi on asetettu venäjä, etätietokoneeseen ei lähetetä näppäinpainalluksia ollenkaan.remote desktop Lisää tunnisteita |

VNC (Virtual Network Computing) on ​​etäkäyttöjärjestelmä, jonka avulla voit käyttää näppäimistöä ja hiirtä vuorovaikutuksessa etäpalvelimen työpöydän graafisen käyttöliittymän kanssa. Sen avulla voit hallita etäpalvelimen tiedostoja, ohjelmistoja ja asetuksia ilman komentoriviä.

Tämä opas auttaa sinua asentamaan VNC:n Ubuntu 16.04 Virtual Private Serveriin ja määrittämään suojatun yhteyden SSH-tunnelin avulla. VNC-palvelin käyttää TightVNC:tä, nopeaa ja kevyttä kaukosäädinpakettia, joka pitää asiat käynnissä jopa hitaalla internetillä.

Vaatimukset

  • Konfiguroitu Ubuntu 16.04 -palvelin (katso tästä).
  • Ei-root-käyttäjä, jolla on sudo-käyttöoikeus.
  • Paikallinen tietokone, jossa on esiasennettu VNC-asiakas, joka tukee VNC-yhteyksiä SSH-tunnelin kautta. Windows-käyttäjät voivat asentaa TightVNC:n, RealVNC:n tai UltraVNC:n. Mac OS X -käyttäjät voivat käyttää sisäänrakennettua Screen Sharing -pakettia tai monialustaisia ​​sovelluksia (kuten RealVNC). Linux-käyttäjät voivat valita seuraavista: vinagre, krdc, RealVNC, TightVNC jne.

Vaihe 1: Työpöytäympäristön ja VNC-palvelimen asentaminen

Oletusarvoisesti Ubuntu 16.04 -palvelimet tulevat ilman esiasennettua graafista työpöytäympäristöä ja VNC-palvelinta. Siksi sinun on ensin asennettava nämä komponentit. Tämä opas käyttää Xfce- ja TightVNC-paketteja, jotka ovat saatavilla virallisesta Ubuntu-arkistosta.

Asenna määritetyt paketit palvelimelle kirjoittamalla:

sudo apt asentaa xfce4 xfce4-goodies tightvncserver

Viimeistele VNC-palvelimen alkumääritykset sen asennuksen jälkeen ja valitse vahva salasana vncserver-komennolla.

Komento kehottaa sinua valitsemaan ja vahvistamaan salasanan sekä salasanan katselua varten (valinnainen). Käyttäjät, jotka käyttävät VNC:tä selaussalasanalla, eivät voi ohjata VNC:tä hiirellä tai näppäimistöllä. Tämän salasanan avulla voit esitellä VNC:tä muille käyttäjille tarvittaessa.

vncserver-komento suorittaa VNC:n alkuasennuksen ja luo määritystiedostot.

Vaihe 2: VNC-palvelimen määrittäminen

Ensimmäinen askel on määrittää komennot, jotka VNC-palvelin suorittaa käynnistyksen yhteydessä. Näiden komentojen tulee olla xstartup-tiedostossa .vnc-hakemistossa, joka on tallennettu nykyisen käyttäjän kotihakemistoon. Käynnistyskomentosarjan loi vncserver-tiimi, mutta sitä on mukautettava toimimaan Xfcen kanssa.

Kun VNC käynnistyy ensimmäisen kerran, se käyttää porttia 5901. VNC nimeää tämän portin:1. VNC voi ajaa muita esiintymiä muissa porteissa, joiden nimet ovat :2, :3 jne.

Jos haluat muuttaa VNC-palvelinasetuksia, sinun on pysäytettävä porttia 5901 käyttävä ilmentymä.

vncserver -kill:1

Komento palauttaa seuraavan viestin (PID on eri):

Killing Xtightvnc -prosessin tunnus 17648

Varmuuskopioi xstartup-tiedosto:

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Luo sitten uusi xstartup-tiedosto:

nano ~/.vnc/xstartup

Liitä siihen seuraavat komennot, jotka suoritetaan automaattisesti, kun VNC-palvelin käynnistyy. Tallenna ja sulje tiedosto.

~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4&

Ensimmäisellä komennolla xrdb $HOME/.Xresources VNC-palvelimen graafinen käyttöliittymä lukee .Xresources-tiedoston. .Xresources-tiedostossa käyttäjä voi tehdä muutoksia joihinkin graafisen työpöydän asetuksiin (muokata päätevärejä, kohdistinten teemoja, fontteja). Toinen komento käynnistää yksinkertaisesti Xfcen, joka sisältää kaikki palvelimen hallintaan tarvittavat graafiset ohjelmistot.

Nyt sinun on siirrettävä oikeudet tiedostoon:

sudo chmod +x ~/.vnc/xstartup

Käynnistä VNC uudelleen:

Käynnistyksen aikana palvelin palauttaa:

Uusi "X"-työpöytä on sinun_palvelimesi_nimi.com:1
Käynnistetään sovellukset, jotka on määritetty kohdassa /home/8host/.vnc/xstartup
Lokitiedosto on /home/8host/.vnc/liniverse.com:1.log

Vaihe 3: VNC-työpöydän testaus

Nyt sinun on varmistettava, että VNC-palvelin on määritetty oikein.

Luo SSH-yhteys paikalliseen koneeseen, joka ohjataan VNC-palvelimen paikalliseen isäntään. Voit käyttää tähän Linux- tai OS X -päätettä.

ssh -L 5901:127.0.0.1:5901 -N -f -l käyttäjätunnus palvelimen_ip_osoite

Merkintä: Korvaa käyttäjä ja palvelimen_ip_osoite käyttäjänimellä, jossa on sudo-käyttöoikeus ja IP-osoitteesi.

Jos käytät graafista SSH-asiakasta (kuten PuTTY), käytä palvelimen_ip_osoite yhteyden IP-osoitteena ja määritä sitten localhost:5901 SSH-tunnelin asetuksissa.

Nyt voit käyttää VNC-asiakasta muodostaaksesi yhteyden palvelimeen. Tätä varten sinun on oltava todennettu. Syötä kohdassa 1 asetettu salasana.

Sen jälkeen tavallinen Xfce-työpöytä ilmestyy näytölle.

Voit käyttää kotihakemistosi tiedostoja tiedostonhallinnan tai komentorivin avulla.

Vaihe 4: Luo VNC-palvelutiedosto

Nyt meidän on määritettävä VNC-palvelin järjestelmäpalveluksi.

Luo uusi tiedosto /etc/systemd/system/ [sähköposti suojattu]:

sudo nano /etc/systemd/system/ [sähköposti suojattu]

Kopioi ja liitä siihen seuraava koodi:

/etc/systemd/system/ [sähköposti suojattu]
Description=Käynnistä TightVNC-palvelin käynnistyksen yhteydessä
After=syslog.target network.target
Tyyppi = haarukka
User=8isäntä
PAMName=kirjautuminen
PIDFile=/home/8host/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -syvyys 24 -geometria 1280x800:%i
ExecStop=/usr/bin/vncserver -kill:%i
WantedBy=multi-user.target

Merkintä: Anna käyttäjätunnuksesi 8host sijaan.

Tallenna ja sulje tiedosto.

Käynnistä demoni uudelleen:

sudo systemctl daemon-reload

Sisällytä uusi tiedosto:

sudo systemctl enable [sähköposti suojattu]

Pysäytä nykyinen VNC-palvelinilmentymä, jos se on edelleen käynnissä:

vncserver -kill:1

Yritä nyt käynnistää se kuten mikä tahansa muu järjestelmäpalvelu:

sudo systemctl start [sähköposti suojattu]

Varmistaaksesi, että palvelin on käynnissä, tarkista sen tila:

sudo systemctl tila [sähköposti suojattu]

Jos palvelin on käynnissä, komento palauttaa:

[sähköposti suojattu]- TightVNC-palvelin Ubuntu 16.04:ssä
Ladattu: ladattu (/etc/systemd/system/ [sähköposti suojattu]; käytössä; toimittajan esiasetus: käytössä)
Aktiivinen: aktiivinen (juoksu) maanantaista 2016-04-25 03:21:34 EDT; 6s sitten
Prosessi: 2924 ExecStop=/usr/bin/vncserver -kill:%i (koodi=exited, status=0/SUCCESS)
...
systemd: TightVNC-palvelimen käynnistäminen Ubuntu 16.04:ssä...

systemd: pam_unix(login:session): istunto avattiin käyttäjälle finid by (uid=0)
systemd: Käynnistettiin TightVNC-palvelin Ubuntu 16.04:ssä.

Johtopäätös

Suojattu VNC-palvelin on nyt asennettu Ubuntu 16.04 -palvelimeen. Sitä voidaan käyttää etäpalvelimen tiedostojen, ohjelmien ja asetusten hallintaan.

Tunnisteet: ,

VNC (lyhenne sanoista Virtual Network Computing) on ​​järjestelmä, jonka avulla voit käyttää näppäimistöä ja hiirtä vuorovaikutuksessa etäpalvelimen graafisen käyttöliittymän kanssa. Tämä järjestelmä mahdollistaa tiedostojen, ohjelmistojen ja asetusten hallinnan etäpalvelimella käyttäjille, jotka tuntevat olonsa epämukavaksi komentorivityökalujen kanssa.

Tässä artikkelissa opastamme sinut VNC:n asennuksen läpi Ubuntu 16.04 -palvelimelle sekä suojatun yhteyden luomiseen kyseiseen palvelimeen SSH-tunnelin avulla. VNC-palvelimessa käytämme TightVNC:tä, nopeaa ja kevyttä etäkäyttöpakettia. Tämän tuotteen ansiosta VNC-yhteytemme toimii luotettavasti myös hitaalla Internet-yhteydellä.

Ennen asennusta

Tämän artikkelin ohjeiden noudattamiseksi tarvitset:

    Ubuntu 16.04 -pisara, joka on määritetty julkaisun vaiheiden mukaisesti, mukaan lukien ei-root-käyttäjän luominen sudo-oikeuksilla.

    Paikallinen tietokone VNC-asiakkaalla, joka tukee yhteyksiä SSH-tunnelin kautta. Jos käytät Windowsia, voit käyttää TightVNC:tä, RealVNC:tä tai UltraVNC:tä. Mas OS X -käyttäjät voivat käyttää sisäänrakennettua Screen Sharing -apuohjelmaa tai monialustaisia ​​sovelluksia, kuten RealVNC. Linux-käyttäjillä on laaja valikoima: vinagre, krdc, RealVNC, TightVNC jne.

Vaihe 1 – Työpöytäympäristön ja VNC-palvelimen asentaminen

Oletusarvon mukaan Ubuntu 16.04 dropleteissa ei ole asennettuna graafista työpöytäympäristöä tai VNC-palvelinta, joten aloitamme asentamalla ne. Asennamme uusimmat Xfce-työpöytäympäristöpaketit ja TightVNC-paketin Ubuntun arkistoista.

Asenna Xfce- ja TightVNC-paketit palvelimellesi.

  • sudo apt asentaa xfce4 xfce4-goodies tightvncserver

Viimeistele VNC-palvelimen alkumääritykset sen asennuksen jälkeen asettamalla vahva salasana komennolla vncserver.

  • vncserver

Sinua pyydetään syöttämään ja vahvistamaan salasana sekä antamaan salasana katsomista varten. Selaussalasanaa käyttävät käyttäjät eivät voi tehdä mitään VNC-koneen näppäimistöllä ja hiirellä. Tämä voi olla hyödyllistä esitelläksesi jotain VNC-palvelimellasi muille ihmisille, sitä ei tarvitse tehdä.

Vncserverin suorittaminen viimeistelee VNC-asennuksen luomalla oletusmääritystiedostoja sekä luomalla tietoja yhteyden muodostamiseksi palvelimeemme. Kun nämä paketit on asennettu, voimme aloittaa palvelimemme konfiguroinnin.

Vaihe 2 – VNC-palvelimen määrittäminen

Määritetään ensin komennot, jotka VNC-palvelimen tulee suorittaa käynnistyksen yhteydessä. Nämä komennot annetaan xstartup-määritystiedostossa kotihakemistosi .vnc-alihakemistossa. Käynnistysskripti luotiin edellisen vaiheen vncserver-komennon aikana, nyt muutamme joitain komentoja toimimaan Xfcen kanssa.

Kun käynnistät VNC:n ensimmäisen kerran, se käynnistää oletusarvoisesti palvelimen ilmentymän portissa 5901. Tätä porttia kutsutaan näyttöportiksi, ja VNC:ssä sen nimi on: 1 . VNC voi ajaa monia ilmentymiä muissa porteissa, kuten :2 , :3 ja niin edelleen. Kun työskentelet VNC-palvelimien kanssa, muista, että näyttöporttinumero:X toimii portissa 5900+X.

Koska aiomme tehdä muutoksia VNC-palvelimen kokoonpanoon, meidän on ensin pysäytettävä palvelinilmentymä, joka toimii portissa 5901.

  • vncserver -kill:1

Tulosteen pitäisi näyttää samanlaiselta kuin prosessitunnus:

Killing Xtightvnc -prosessin tunnus 17648

Ennen kuin teet muutoksia uuteen xstartup-tiedostoon, tehdään varmuuskopio alkuperäisestä tiedostosta.

  • mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Luodaan nyt uusi xstartup-tiedosto nanolla tai toisella tekstieditorilla.

  • nano ~/.vnc/xstartup

Liitä nämä komennot tiedostoon suorittaaksesi ne automaattisesti, kun VNC-palvelin käynnistyy tai käynnistyy uudelleen, ja tallenna ja sulje tiedosto sitten.

#!/bin/bash xrdb $HOME/.Xresources startxfce4 &

Xrdb-tiedoston $HOME/.Xresources ensimmäinen komento käskee VNC GUI -kehyksen käyttämään mukautettua .Xresources-tiedostoa. .Xresources-tiedosto tallentaa tiettyjä mukautettuja työpöytäasetuksia, kuten päätteen värit, kohdistinteeman ja kirjasinten renderöinnin. Toinen komento käskee palvelimen käynnistämään Xfce:n, jonka avulla voit hallita palvelintasi mukavasti.

Jotta VNC-palvelin voi käyttää näitä asetuksia, tehdään tiedostosta suoritettava.

  • sudo chmod +x ~/.vnc/xstartup

Nyt käynnistetään VNC-palvelin uudelleen.

  • vncserver

Palvelimen pitäisi käynnistyä uudelleen ja tulostaa jotain konsolin kaltaista:

Uusi "X"-työpöytä on sinun_palvelimesi_nimi.com:1 /home/sammy/.vnc/xstartup-lokitiedostossa määritettyjen sovellusten käynnistys on /home/sammy/.vnc/liniverse.com:1.log

Vaihe 3 – VNC-työpöydän testaus

Tarkastetaan nyt yhteys VNC-palvelimeesi.

Luodaan ensin SSH-yhteys paikalliseen koneellesi suojatun VNC-yhteyden muodostamiseksi. Voit tehdä tämän Linuxin tai OS X:n terminaalista seuraavalla komennolla. Muista korvata käyttäjänimi ja server_ip_address sudo-käyttäjänimelläsi ja palvelimesi IP-osoitteella.

  • ssh -L 5901:127.0.0.1:5901 -N -f -l käyttäjätunnus palvelimen_ip_osoite

Jos käytät graafista SSH-asiakasta, kuten PuTTY:tä, aseta server_ip_address yhteyden IP-osoitteeksi ja aseta myös localhost:5901 edelleenlähetysportiksi asiakkaasi SSH-yhteysasetuksissa.

Kun yhteys on muodostettu, näet oletusarvoisen Xfce-työpöydän. Sen pitäisi näyttää tältä:

Voit käyttää kotihakemistosi tiedostoja tiedostonhallinnan avulla tai komentoriviltä:

Vaihe 4 – VNC-palvelutiedoston luominen

Luodaan ensin yksikkötiedosto /etc/systemd/system/ [sähköposti suojattu] tekstieditorillasi:

Kopioi ja liitä siihen seuraava sisältö. Varmista, että muutat kentän arvoa käyttäjä ja käyttäjätunnus kenttään PIDFILE arvoihisi.

/etc/systemd/system/ [sähköposti suojattu]

Description=Käynnistä TightVNC-palvelin käynnistyksen yhteydessä After=syslog.target network.target Type=forking User=sammy PAMName=login PIDFile=/home/sammy /.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800:%i ExecStop=/usr/bin/vncserver -kill:%i WantedBy=multi-user.target

  • sudo systemctl daemon-reload

Aktivoi yksikkötiedosto.

Pysäytä nykyinen VNC-palvelinilmentymä, jos se on käynnissä.

  • vncserver -kill:1

Varmista, että palvelu on käynnissä tällä komennolla:

Jos käynnistys sujui hyvin, tulosteen pitäisi näyttää tältä:

Nimi johtopäätös

[sähköposti suojattu]- TightVNC-palvelin Ubuntu 16.04:ssä Ladattu: ladattu (/etc/systemd/system/ [sähköposti suojattu]; käytössä; toimittajan esiasetus: käytössä) Aktiivinen: aktiivinen (käynnissä) maanantaista 2016-04-25 03:21:34 EDT; 6s sitten Prosessi: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS) ... systemd: TightVNC-palvelimen käynnistäminen Ubuntu 16.04:ssä... systemd: pam_unix(login:session ): istunto avasi käyttäjälle finid by (uid=0) systemd: pam_unix(login:session): istunto avasi käyttäjälle finid by (uid=0) systemd: TightVNC-palvelin aloitettu Ubuntu 16.04:ssä.

Johtopäätös

Sinulla on nyt VNC-palvelin asennettuna ja määritettynä Ubuntu 16.04 -palvelimellesi. Voit hallita tiedostojasi, ohjelmistojasi ja asetuksiasi yksinkertaisella ja tutulla graafisella käyttöliittymällä.

Asennusta varten tarvitsemme palvelimen tai etätietokoneen, paikallisen tietokoneen, jossa on VNC-asiakas, joka tukee yhteyttä SSH-tunnelin kautta. Windows-käyttäjille suosittelemme RealVNC:tä, UltraVNC:tä tai TightVNC:tä. Mac OS:ssä voit käyttää tavallista Screen Sharing -apuohjelmaa tai asentaa muita VNC-sovelluksia sovelluskaupasta. Linux-käyttäjillä on laajempi valikoima ohjelmia, kuten krdc, vinagre, TightVNC, RealVNC, Remmina ja paljon muuta.

Työpöytäympäristön ja VNC-palvelimen asentaminen

Oletusarvon mukaan Ubuntu 16.04 -kuvissa ei ole graafista työpöytää ja VNC-palvelinta, jotka on asennettava erikseen. Ensin asennetaan uusimmat Xfce-työpöytäympäristöpaketit ja TightVNC-paketti Ubuntun arkistoista.

Asenna Xfce- ja TightVNC-paketit tilatulle palvelimelle.

$ sudo apt asentaa xfce4 xfce4-goodies tightvncserver

Viimeistele VNC-palvelimen alkumääritykset sen asennuksen jälkeen asettamalla vahva salasana komennolla vncserver.

$vncserver

Sinua pyydetään syöttämään ja vahvistamaan salasana sekä antamaan salasana katselua varten. Selaussalasanaa käyttävät käyttäjät eivät voi tehdä mitään VNC-koneen näppäimistöllä ja hiirellä. Tämä voi olla hyödyllistä esitelläksesi jotain VNC-palvelimellasi muille ihmisille.

Esitys vncserver viimeistelee VNC-asennuksen luomalla oletusmääritystiedostoja sekä luomalla tietoja yhteyden muodostamiseksi palvelimeemme. Kun olet asentanut nämä paketit, voit määrittää palvelimen.

VNC-palvelimen asennus

Määritetään ensin komennot, jotka VNC-palvelimen tulee suorittaa käynnistyksen yhteydessä. Nämä komennot on määritetty asetustiedostossa xstartup alihakemistossa .vnc kotihakemistoosi. Käynnistysskripti luotiin komennon suorittamisen aikana vncserver edellisessä vaiheessa muutamme nyt joitain komentoja toimimaan Xfcen kanssa.

Kun käynnistät VNC:n ensimmäisen kerran, se käynnistää oletusarvoisesti palvelimen ilmentymän portissa 5901. Tätä porttia kutsutaan näyttöportiksi, ja VNC:ssä sen nimi on: 1. VNC voi ajaa monia ilmentymiä muissa porteissa, kuten :2, :3 ja niin edelleen. Kun työskentelet VNC-palvelimien kanssa, muista, että näyttöporttinumero:X toimii portissa 5900 X.

Koska aiomme tehdä muutoksia VNC-palvelimen kokoonpanoon, meidän on ensin pysäytettävä palvelinilmentymä, joka toimii portissa 5901.

$vncserver -kill:1

Tulosteen pitäisi näyttää samanlaiselta kuin prosessitunnus:

Johtopäätös
Killing Xtightvnc -prosessin tunnus 17648

Ennen kuin teet muutoksia uuteen xstartup-tiedostoon, tehdään varmuuskopio alkuperäisestä tiedostosta.

$ mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

Luodaan nyt uusi xstartup-tiedosto nanolla tai toisella tekstieditorilla.

$ nano ~/.vnc/xstartup

Liitä nämä komennot tiedostoon suorittaaksesi ne automaattisesti, kun VNC-palvelin käynnistyy tai käynnistyy uudelleen, ja tallenna ja sulje tiedosto sitten.

~/.vnc/xstartup
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4&

Ensimmäinen tiedostokomento xrdb $HOME/.Xresources käskee VNC GUI -kehyksen käyttämään mukautettua .Xresources-tiedostoa. Tiedosto .Xresources tallentaa tietyt käyttäjän työpöytäasetukset, kuten päätteen värit, kohdistinteeman, kirjasinten renderöinnin. Toinen komento käskee palvelimen käynnistämään Xfce:n, jonka avulla voit hallita palvelintasi mukavasti.

Jotta VNC-palvelin voi käyttää näitä asetuksia, tehdään tiedostosta suoritettava.

$ sudo chmod x ~/.vnc/xstartup

Nyt käynnistetään VNC-palvelin uudelleen.

$vncserver

Palvelimen pitäisi käynnistyä uudelleen ja tulostaa jotain konsolin kaltaista:

Johtopäätös
Uusi "X"-työpöytä on sinun_palvelimesi_nimi.com:1
Käynnistetään sovellukset, jotka on määritetty kohdassa /home/sammy/.vnc/xstartup
Lokitiedosto on /home/sammy/.vnc/liniverse.com:1.log

VNC-työpöytätestaus

Luodaan ensin SSH-yhteys paikalliseen koneeseen suojatun yhteyden muodostamiseksi VNC:hen. Voit tehdä tämän Linuxin tai OS X:n terminaalista seuraavalla komennolla. Älä unohda vaihtaa käyttäjätunnus ja palvelimen IP-osoite käyttäjänimellesi sudo-oikeuksilla ja palvelimesi IP-osoitteella.

$ ssh -L 5901:127.0.0.1:5901 -N -f -l käyttäjätunnus palvelimen_ip_osoite

Jos käytät graafista SSH-asiakasta, kuten PuTTY:tä, aseta palvelimen IP-osoite yhteyden IP-osoitteeksi ja myös aseta localhost: 5901 välitysporttina asiakkaasi SSH-yhteysasetuksissa.

Seuraavaksi voit käyttää VNC-asiakasohjelmaa yhteyden muodostamiseen VNC-palvelimeen osoitteessa localhost: 5901 . Sinua pyydetään todentamaan. Käytä ensimmäisessä vaiheessa määrittämääsi salasanaa.

Kun yhteys on muodostettu, näet oletusarvoisen Xfce-työpöydän. Sen pitäisi näyttää tältä:

Sinulla on nyt täysi pääsy palvelimen hallintaan ja kotihakemistosi tiedostoihin.

VNC-palvelutiedoston luominen

Luodaan ensin yksikkötiedosto /etc/systemd/system/ tekstieditorillasi:

$ sudo nano /etc/systemd/system/

Kopioi ja liitä siihen seuraava sisältö. Varmista, että vaihdat Käyttäjä-kentän arvon ja PIDFILE-kentän käyttäjänimen arvoihisi.

$ /etc/systemd/system/

Description=Käynnistä TightVNC-palvelin käynnistyksen yhteydessä
After=syslog.target network.target


Tyyppi = haarukka
User=sammy
PAMName=kirjautuminen
PIDFile=/home/sammy/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill:%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -syvyys 24 -geometria 1280x800:%i
ExecStop=/usr/bin/vncserver -kill:%i


WantedBy=multi-user.target

$ sudo systemctl daemon-reload

Aktivoi yksikkötiedosto.

$ sudo systemctl enable

Pysäytä nykyinen VNC-palvelinilmentymä, jos se on käynnissä.

$ sudo systemctl start

Varmista, että palvelu on käynnissä tällä komennolla:

$ sudo systemctl status >

Jos käynnistys sujui hyvin, tulosteen pitäisi näyttää tältä:

Nimi johtopäätös
Tämä sähköpostiosoite on suojattu roskapostiohjelmia vastaan. Tarvitset JavaScriptin päälle nähdäksesi sen.- TightVNC-palvelin Ubuntu 16.04:ssä
Ladattu: ladattu (/etc/systemd/system/ ; käytössä; toimittajan esiasetus: käytössä)
Aktiivinen: aktiivinen (juoksu) maanantaista 2016-04-25 03:21:34 EDT; 6s sitten
Prosessi: 2924 ExecStop=/usr/bin/vncserver -kill:%i (code=exited, status=0/SUCCESS) ... systemd: TightVNC-palvelimen käynnistäminen Ubuntu 16.04:ssä...
systemd: pam_unix(login:session): istunto avattiin käyttäjälle finid by (uid=0)
systemd: Käynnistettiin TightVNC-palvelin Ubuntu 16.04:ssä.

Valmis! Pystyit asentamaan ja määrittämään VNC-palvelimen Ubuntu 16.04 -palvelimellesi. Tästä eteenpäin voit hallita tiedostoja, ohjelmistoja ja asetuksia tutun graafisen käyttöliittymän avulla.

Vaikka Raspberry Pi toimii loistavasti näytön tai television kanssa HDMI-kaapelilla, tulee usein tilanteita, joissa näyttöä ei tarvita ja riittää, että työpöytä näkyy etänä toiselta tietokoneelta. Tässä tapauksessa VNC auttaa meitä. Muuten, useimmat tehtävät voidaan ratkaista etänä, kuten ohjelmointi tai käyttöjärjestelmän asetukset.
Mitä me tarvitsemme?

Oletetaan, että käyttöjärjestelmä on asennettu Raspberry Pi:hen (erikoisversio Debianin Linux-jakelusta) ja etätietokoneeseen on asennettu Windows 7. Tätä varten sinun on asennettava jonkinlainen VNC-asiakas Windowsille , kuten UltraVNC - se on melko kätevä ja ilmainen.
UltraVNC-lataussivu

Kun VNC-palvelin on valmis, UltraVNC-asiakasohjelma riittää muodostamaan etäyhteyden Raspberry Pi:hen. Kuitenkin, jos konfiguroimme VNC:tä myös etänä, tarvitsemme lisäksi SSH-asiakkaan - ilmaisen PuTTY-ohjelman.
PuTTY-lataussivu

Viimeinen asia, jonka tarvitsemme, on Raspberry Pi:si IP-osoite. Jos sille on määritetty staattinen osoite, tämä riittää. Jos tiedät kuinka etsiä IP-osoite reitittimestäsi, tämäkin riittää. Jos osoite ei ole tiedossa eikä sitä voi nähdä, tarvitset ohjelman, joka skannaa IP-osoitteet verkossa. Advanced IP Scanner on varsin sopiva tähän, se skannaa paikallisen verkon ja näyttää luettelon kaikista laitteista, joissa on kunkin IP-osoite. Useimmiten Raspberry Pi:n osoitteen määrittäminen ei ole vaikeaa, sillä luettelossa on nimi "raspberrypi" tai vastaava.
Advanced IP Scanner -lataussivu

Reitittimen tapauksessa useimmiten riittää katsoa kytkettyjen laitteiden luetteloa, Raspberry Pi voidaan määrittää samalla tavalla kuin edellä on kuvattu. Valitettavasti tämän artikkelin puitteissa ei ole mahdollista kuvata, kuinka tämä tehdään yksityiskohtaisemmin - kaikki reitittimet eroavat hieman toisistaan.

SSH käynnissä Raspberry Pi:llä

Aloitetaan siitä, mitä SSH on. Tämä on ohjelma, jota voidaan käyttää Linux-käyttöjärjestelmässä ja jonka avulla voit etäkäyttää Raspberry Pi -konsolia (komentorivi). Sen avulla voit ajaa mitä tahansa ohjelmaa tai suorittaa komennon komentorivillä etänä käyttämällä SSH-asiakasohjelmaa - PuTTY.

SSH-palvelin on oletuksena poistettu käytöstä Raspbianissa, joten se on käynnistettävä ensin. Tätä varten sinun on yhdistettävä Raspberry Pi näyttöön tai televisioon ja liitettävä siihen USB-näppäimistö. On kaksi tapaa käynnistää SSH-palvelin. Yksinkertaisin on käyttää raspi-config-ohjelmaa. Tätä varten sinun on kirjoitettava komento ja valittava kohde " ssh Ota ssh-palvelin käyttöön tai poista se käytöstä» ehdotetussa valikossa:

Toinen tapa on kirjoittaa komento sudo /etc/init.d/ssh start kuten alla:

Erona on, että ensimmäisessä menetelmässä raspi-config-ohjelmalla emme vain käynnistä SSH-palvelinta, vaan lisäämme sen myös käyttöjärjestelmän käynnistykseen, mikä ei välttämättä ole kovin hyvä, jos SSH-palvelinta ei tarvita kaikkia. aika. Toisessa tapauksessa suoritamme sen vain seuraavaan uudelleenkäynnistykseen asti.

Lopuksi kuvataan tapa käynnistää SSH-palvelin ilman näyttöä ja näppäimistöä. Tätä varten sinun on poistettava SD-kortti, jossa on Rasbian asennettuna, asetettava se kortinlukijaan ja liitettävä Windows-tietokoneeseen.
Raspberry Pi SD-kortissa on pieni osio, joka on alustettu Fat32-järjestelmään, jonka Windows ymmärtää. Tämä osio sisältää joitain asetustiedostoja. SD-kortin sisältö näyttää tältä:

Varmistaaksesi SSH-palvelimen käynnistämisen, sinun on nimettävä boot_enable_ssh.rc-tiedosto uudelleen boot.rc:ksi:

Aseta nyt SD-kortti takaisin Raspberry Pi -laitteeseen ja käynnistä se. SSH-palvelin käynnistyy!

Yhteys SSH:n kautta

Kuten edellä mainittiin, sinun on ensin käynnistettävä VNC-palvelin, jotta voit muodostaa yhteyden Raspberry Pi:hen etäyhteyden kautta VNC:llä. Seuraavassa näytetään, kuinka tämä toimenpide suoritetaan myös etänä. Tätä varten tarvitset SSH-asiakkaan - PuTTY. PuTTY-ohjelman lataamisen jälkeen sinun tarvitsee vain suorittaa tuloksena oleva tiedosto, asennusta ei tarvita. Seuraava ikkuna avautuu:

Kirjoita alussa oleva IP-osoite Isäntänimi-kenttään. Sitten painamme Avaa-painiketta. Kun PuTTY muodostaa yhteyden SSH-palvelimeen, pääteikkuna avautuu ja kysyy kirjautumistietoja (oletusarvoisesti käyttäjä pi salasanalla Raspberry):

Kun oikeat tunnistetiedot on syötetty, näkyviin tulee komentokehote. Täällä voit kirjoittaa minkä tahansa Raspberry Pi -komennon:

VNC-palvelimen asettaminen SSH:n kautta

Nyt kun yhteys on muodostettu, meidän on käynnistettävä VNC-palvelin. Jos käynnistät palvelimen ensimmäistä kertaa, sinun on todennäköisesti suoritettava asennus ensin. Raspberry Pi:llä oletetaan olevan Internet-yhteys, koska sitä tarvitaan VNC-palvelimen asentamiseen. Voit tehdä tämän suorittamalla komennon:
sudo apt-get asenna tightvncserver
Kuten edellä mainittiin, PuTTY suorittaa suoraan Raspberry Pi:hen syötetyt komennot, joten yllä oleva komento asentaa VNC-palvelimen tietokoneellesi.
Huomaa, että asennuksen aikana sinua pyydetään asentamaan ohjelma ilman todennusta (Asenna nämä paketit ilman vahvistusta?). Sinun on vastattava "y" tähän kysymykseen.

Kun asennus on valmis, VNC-palvelin on käynnistettävä. Voit tehdä tämän käyttämällä komentoa vncserver:1 -geometria 1280x800 -syvyys 16 -pikselimuoto rgb565

Tämä komento käynnisti VNC-palvelimen! Tässä tapauksessa tämä tarkoittaa, että virtuaalinen X-istunto (Raspberry Pi -työpöydän virtuaalinen esitys) on käynnissä, täsmälleen sama kuin startx-komento käynnistettäessä monitorin ollessa kytkettynä. Nyt kun käynnistät VNC-asiakkaan ja muodostat yhteyden, sinut yhdistetään tähän virtuaaliseen työpöytään.

Tämän komennon tärkein osa on parametri :1 . Se määrittää portin numeron, jolla VNC-prosessi suoritetaan. Portin numero voi olla mikä tahansa, mutta sinun on muistettava se, tarvitset sitä yhdistäessäsi. Toinen tärkeä parametri on virtuaalisen työpöydän resoluutio (tässä tapauksessa koko). Sen voi määrittää kuka tahansa, mutta sinun ei pitäisi määrittää enempää kuin sen tietokoneen todellinen resoluutio, josta etäkäyttö suoritetaan.

Kun käynnistät VNC:n ensimmäisen kerran, palvelin pyytää sinua antamaan salasanan. Tätä salasanaa tarvitaan, kun muodostetaan yhteys etätyöpöytään.

Toinen salasana, jota VNC-palvelin pyytää, on vain katselu -salasana. Jos annat tämän salasanan muodostaessasi yhteyttä, näet virtuaalisen työpöydän, mutta näppäimistö ja hiiri poistetaan käytöstä.

Yhdistäminen UltraVNC:hen

VNC-palvelimen käynnistämisen jälkeen viimeinen asia on muodostaa siihen etäyhteys. Suorita UtlraVNC, kirjoita IP-osoite, portin numero (1) ja napsauta Yhdistä-painiketta.
Ja nyt - kaikki on valmista!

Tärkeä muistiinpano! Etätyöpöydän kuva voi vaihdella sen mukaan, millä tunnistetiedoilla vncserver käynnistettiin. Kun ajetaan tavallisen käyttäjän tunnuksilla, ts. kuten yllä, työpöytä näyttää normaalilta. Toisaalta, kun vncserveriä käytetään pääkäyttäjänä käyttämällä sudo-komentoa, työpöytä näyttää alla olevan kuvan kaltaiselta. Muuten, sama koskee startx-komentoa, kun työskentelet Raspberry Pi:n kanssa suoraan (paikallisesti).