Eläyhteys etä-GUI-yhteys Linux-tietokoneeseen käyttäen Tightvnc:tä systemd:n kanssa
On 13 tammikuun, 2022 by adminTämä on opas TightVNC:n asentamiseen Raspberry Pi:lle. Raspbianin uusin versio sisältää nyt RealVNC:n, joka on vaihtoehtoinen etätyöpöytätyökalu. Jos haluat mieluummin käyttää RealVNC:tä, niin se on helppo ottaa käyttöön raspi-config-työkalun kautta, tämä opas on hyödyllinen niille, jotka haluavat ymmärtää muiden sovellusten luomista käynnistyksen yhteydessä systemd:n kautta.
Komentorivi on hyvä tapa hallita etä-Linux-tietokonetta, jos sinua ei haittaa komentojen kirjoittaminen, mutta joskus sinun on voitava tarkastella graafista käyttöliittymää. Erittäin pitkän kaapelin puuttuessa yksi parhaista tavoista on käyttää VNC-protokollaa (Virtual Network Computing).
TightVNC vs. Real VNC
TightVNC-palvelin luo erilaisen virtuaali-ikkunan, joka kopioidaan toiseen koneeseen TightVNC-asiakasohjelman avulla. Tämä eroaa RealVNC:stä, joka yleensä kaikui oletusnäyttöä.
Kun useimmat ihmiset ajattelevat etätyöpöytätyökalua, he ajattelevat yleensä RealVNC:n toimintatapaa. Tällöin kun liikutat hiirtä tai käynnistät sovelluksen, se näyttää saman tulosteen fyysisesti liitetyllä näytöllä (yleensä HDMI) ja etäasiakkaalla verkon kautta.
TightVNC on hyödyllinen, jos haluat ajaa jotain muuta kuin mitä päänäytöllä näkyy. Voit esimerkiksi käyttää sitä niin, että sinulla on tilanäyttö päänäytöllä (HDMI:n kautta) ja toinen näyttö, jota käytetään konfigurointiin, joka näytetään kannettavassa tietokoneessa.
TightVNC:n toinen etu on, että se on ILMAINEN avoimen lähdekoodin ohjelmisto. Sellaisena sillä ei ole käyttörajoituksia ja voit tarkastella ja muokata lähdekoodia. Real VNC on kaupallinen versio VNC:stä ja se on lisensoitava. Real VNC:tä voi käyttää ilmaiseksi henkilökohtaiseen käyttöön Raspberry Pi:ssä, mutta sillä on rajoituksia, jos haluat tehdä sillä muita asioita, jotka saattavat vaatia kaupallisen lisenssin. Tähän kuuluu myös Raspbian Desktop -kuvan käyttäminen PC:llä, koska se ei sisällä kaupallista ohjelmistoa.
Käynnistysskriptin asentaminen Systemd:n avulla
Seuraavat ohjeet tämän konfiguroimiseksi Raspberry Pi:ssä (Debian-pohjainen jakelu). Sen pitäisi olla samanlainen missä tahansa muussa Debian-pohjaisessa jakelussa (esim. Ubuntu), joka käyttää Systemd-käynnistystiedostoja. Joissakin muissa jakeluissa käytetään erilaisia ohjelmistojen asennustyökaluja ja mahdollisesti erilaisia init-asennustyökaluja.
Jos tätä käytetään yhdessä oppaan kanssa Raspberry Pi:n käyttämisestä headless-käytössä Debian Linuxin kanssa, sitä voidaan käyttää Raspberry Pi:n määrittämiseen etäkäyttöä varten ilman, että sitä tarvitsee koskaan liittää näyttöön.
TightVNC:n valitseminen
VNC:tä tukevia ohjelmistoprojekteja on useita. Olen valinnut TightVNC:n, koska se on ilmainen avoimen lähdekoodin ohjelmisto (GPL2), se tarjoaa pakkauksen, jonka ansiosta se toimii hitaassa verkossa (Internet), ja se on helposti saatavilla ohjelmistovarastoista.
Asiakaspalvelinmalli
VNC noudattaa perinteistä asiakaspalvelinmallia. Palvelinohjelmisto toimii isännällä, jota halutaan käyttää, ja asiakasohjelmisto toimii paikallisella koneella, joka haluaa hallita isäntää. Palvelimen ja asiakkaan ei tarvitse olla samat (esim. asiakas voi olla RealVNC, kun palvelimena on TightVNC), mutta jotkin ominaisuudet voivat toimia vain, kun käytetään samaa asiakasta ja palvelinta.
Asenna TightVNC-palvelinohjelmisto
Virkistä ensin ohjelmistotietovaraston tiedot käyttämälläsudo apt update
Tämä on erityisen tärkeää, jos olet juuri asentanut käyttöjärjestelmän, sillä tietovaraston tiedot saattavat olla puutteelliset.
Asenna palvelinohjelmisto arkistoista:sudo apt install tightvncserver
Käynnistä palvelin ja määritä salasana
Käynnistettäessäsi palvelimen ensimmäisen kerran se pyytää sinua asettamaan salasanan. Tätä salasanaa käytät, kun muodostat etäyhteyden.
/usr/bin/tightvncserver
Ei ole tarpeen luoda vain näkymäsalasanaa, ellei sinulla ole erityistä tarvetta.
Kun palvelin käynnistyy, se kertoo, mikä virtuaalinen työpöytä on määritetty. Tässä tapauksessa:New 'X' desktop is raspberrypi:1
sanoo, että kyseessä on virtuaalinen työpöytä 1. Voit muodostaa siihen yhteyden käyttämällä :1:tä IP-osoitteen lopussa asiakkaassa, tämä on se, jonka asetamme käynnistymään automaattisesti myöhemmin.
Voit käyttää useita instansseja. Joka kerta kun käynnistät tightvncserverin, se käyttää seuraavaa käytettävissä olevaa työpöytää, mutta useimmissa tapauksissa tarvitset vain yhden.
Tightvnc:n lisääminen systemd:n käynnistykseen
Tightvnc:n automaattista käynnistystä varten on luotava uusi käynnistystiedosto, joka on tallennettava hakemistoon /etc/systemd/system/ system/ ja sen on päätyttävä päätteellä ”.service”. Nimesin tämän tightvncserver.service. Tämä on luotava pääkäyttäjänä, joten käytä sudosudo nano /etc/systemd/system/tightvncserver.service
-
-
Description=TightVNC remote desktop server
-
After=sshd.service
-
-
-
-
Type=dbus
-
ExecStart=/usr/bin/tightvncserver :1
-
User=pi
-
Type=forking
-
-
-
WantedBy=multi-user.target
Voi olla, että joudut muuttamaan käyttäjänimen rivillä 8. Se on tällä hetkellä asetettu pi:ksi, joka on Raspberry Pi Raspbian -kuvan oletuskäyttäjänimi. Aseta tämä mihin tahansa käyttäjänimeen, jolla haluat kirjautua TightVNC:hen. Älä laita käyttäjäksi rootia.
Muuta tiedosto niin, että sen omistaa rootsudo chown root:root /etc/systemd/system/tightvncserver.service
Muuta tiedosto suoritettavaksi ajamallasudo chmod 755 /etc/systemd/system/tightvncserver.service
Skripti kannattaa testata tässä vaiheessa eikä odottaa uudelleenkäynnistyksen jälkeen. Tämä tapahtuu käyttämällä:sudo systemctl start tightvncserver.service
Ei hätää, jos saat seuraavan virheilmoituksen, joka johtuu siitä, että olet jo käynnistänyt tightvnc:nA VNC server is already running as :1
Enable startup at boot usingsudo systemctl enable tightvncserver.service
TightVNC käynnistyy nyt käynnistyksen yhteydessä. Suosittelen, että käynnistät palvelun uudelleen tässä vaiheessa varmistaaksesi, että se toimii, mutta voit sen sijaan pysäyttää ja käynnistää palvelun systemctl-komennolla.
Huomaa, että tämä on tarkoitettu vain yhden TightVNC-instanssin käyttämiseen tietokoneella. Jos haluat pystyä käynnistämään ja pysäyttämään tietyt TightVNC:n instanssit, sinun on muokattava käynnistysskriptiä asianmukaisesti.
Tightvnc-katseluohjelman (VNC-asiakasohjelman) asentaminen Linux-tietokoneeseen
Linux-tietokoneeseen voit asentaa katseluohjelmansudo apt install xtightvncviewer
tai jos sitä ei löydy arkistoista, kokeile:sudo apt-get install ssvnc
Tämä toimii vain Debian / Ubuntuun perustuvissa jakeluissa, muissa jakeluissa käytä normaalia pakettihallintaa.
Huomaa, että ssvnc – joka on Kubuntu-tietokoneeseeni asentamani versio – perustuu tightvnc:hen, mutta siinä on myös mahdollisuus konfiguroida ssh-tunnelointi (katso myöhemmin) graafisen käyttöliittymän kautta.
Login usingxtightvncviewer 192.168.1.6:1
(korvaa tarvittaessa omalla IP-osoitteellasi)
Tightvnc-näkymän asentaminen Windows-tietokoneeseen
Käyttäytyäksesi Windows-tietokoneesta käsin tai käyttämällä Java-asiakasta, joka on ladattu TightVNC:stä.com
TightVNC:n suojaaminen
TightVNC:n avulla kuka tahansa, joka tietää salasanan, voi kirjautua sisään käyttäjänä, jolla se toimii. Se tekee tämän myös ilman salausta, joten kuka tahansa voi nuuskia istuntoa. Onneksi on olemassa turvallinen ratkaisu, joka on yhteyden tunnelointi ssh-kirjautumisen (secure shell) kautta.
Ensimmäinen askel on rajoittaa Tightvnc vain paikalliseen tietokoneeseen. Tämä tehdään lisäämällä vaihtoehto -localhost käynnistettäessä tightvncserver. Tätä varten muokkaa /etc/systemd/system/tightvncserver.service-tiedoston riviä 7 seuraavasti:>
ExecStart=/usr/bin/tightvncserver -localhost :1
Sitten käynnistä palvelin uudelleen.
Kirjautuminen ssh:n avulla – kirjaudu ensin isäntäkoneeseen ssh:n avullassh [email protected] -L 5901:localhost:5901
Vaihtoehto -L luo tunnelin, nykyisestä tietokoneesta (oletusarvoisesti) portista 5901 isäntäkoneeseen (kuten localhost) porttiin 5901. Portti 5901 on oletusportti näytölle 1, 5902 näytölle 2 jne.
Kytkeytyäksesi yhteyden tightvnc:n avulla käytä nyt komentoaxtightvncviewer 127.0.0.1:1
Huomaa, että edellinen päätelaitteesi on nyt kirjautuneena Raspberry Pi:hen, joten sinun on käynnistettävä uusi päätelaite tai välilehti, jotta voit käyttää katseluohjelmaa.
Jos käytät Windowsia, ssh-tunneli voidaan luoda PuTTY:stä
Sitten muodosta yhteys vnc-asiakasohjelmalla käyttäen 127.0.0.0.1:1.
Voit nyt käyttää graafista käyttöliittymää sovellusten suorittamiseen Raspberry Pi:llä tarvitsematta näyttöä tai näppäimistöä. Jos reitittimessäsi on määritetty porttien välitys, voit tehdä tämän Internetin kautta.
Ikkunanhallinnan käynnistäminen
Yllä olevat ohjeet riittävät Raspberry Pi:lle, jossa on Raspbian (Debian). Muissa järjestelmissä saatat joutua tekemään lisämuutoksen konfiguraatioon, jotta voit käynnistää normaalin ikkunanhallintasi / sovellusten käynnistimen. Jos saat tyhjän ruudun yhteyden muodostamisen yhteydessä, muokkaa tiedostoa ~/.vnc/xstartup ja korvaa rivi /etc/X11/Xsession jollakin seuraavista soveltuvin osin.
exec ck-launch-session startlxde#for an lxde sessionexec ck-launch-session gnome-session#for a gnome-sessionexec ck-launch-session openbox-session#for an openbox desktopexec ck-launch-session startxfce4#for an xfce desktopexec ck-launch-session icewm#for an icewm desktopexec ck-launch-session startkde#for a kde desktop
Esimerkiksi Ubuntussa käytät merkintää gnome, xubuntussa xfce ja kubuntussa kde. Raspberry Pi käyttää lxde:tä, mutta se käynnistyy Raspberry Pi:ssä automaattisesti, joten sitä ei tarvitse lisätä xstartup-tiedostoon.
Vastaa