Ero sivun ”VNC” versioiden välillä
Siirry navigaatioon
Siirry hakuun
rewrite
Ei muokkausyhteenvetoa |
Pb (keskustelu | muokkaukset) (rewrite) |
||
Rivi 1: | Rivi 1: | ||
VNC (''Virtual Network Computing'') on [[protokolla]] tietokoneen etäkäyttöön | VNC (''Virtual Network Computing'') on [[protokolla]] tietokoneen [[X|graafiseen]] etäkäyttöön tai pelkkään etäkatseluun. VNC-protokolla on avoin ja alustariippumaton ja sitä tukevia palvelin- ja asiakasohjelmistoja löytyy kaikille yleisimmille käyttöjärjestelmille. | ||
VNC | VNC-yhteys ei ota mitään kantaa ruudulla näkyvien käyttöliittymäelementtien muodostumistapaan, vaan kuvansiirto tapahtuu pikseli kerrallaan ([[wikipedia:RFB protocol|RFB-protokolla]]). Tämä mahdollistaa käyttöjärjestelmäriippumattomuuden sekä asiakasohjelman yksinkertaisuuden. VNC on toisaalta tästä syystä usein hitaampi verrattuna [[X Window System]]in sisäänrakennettuun etäkäyttömahdollisuuteen, jossa verkon yli lähetetään samankaltaiset ohjaussignaalit kuin paikallisessakin käytössä. X:n etäkäyttöominaisuutta voi käyttää esimerkiksi [[SSH]]-yhteyden yli tai [[graafinen kirjautumisohjelma|graafisten kirjautumisohjelmien]] [[XDMCP]]-toiminnon kautta. | ||
Alkuperäinen, vuonna 1995 kehitetty VNC-ohjelmisto julkaistiin [[GPL]]-lisenssin alaisuudessa, mikä on mahdollistanut lukuisten [[haara|haarautettujen]] VNC-versioiden synnyn. Eri VNC-versiot ovat yhteensopivia toistensa kanssa, vaikka useimmista versioista löytyykin omia parannuksiaan. Tunnetuimpia versioita ovat: | |||
*[[RealVNC]] - VNC:n alkuperäisten kehittäjien ylläpitämä palvelin- ja asiakasohjelmisto, josta on saatavilla myös kaupallinen versio. RealVNC:n ilmainen, GPL-lisensoitu versio on saatavilla Linuxille, muille Unix-johdannaisille sekä Windowsille. RealVNC-asiakasohjelma löytyy useimpien Linux-[[jakelu]]iden [[paketinhallinta|paketinhallinnasta]] nimellä <tt>vnc</tt> tai <tt>vncviewer</tt> | |||
*[[TightVNC]] - Linuxille ja Windowsille saatavilla oleva, GPL-lisensoitu asiakas- ja palvelinohjelma. Sisältää oman edistyneemmän pakkausmetodinsa, joka mahdollistaa nopeammat yhteydet. Löytyy useimmista jakeluista nimellä <tt>tightvnc</tt>. | |||
*UltraVNC - GPL-lisensoitu asiakas- ja palvelinohjelmisto paremmalla salauksella ym. lisäominaisuuksilla. Vain Windowsille. | |||
*[[Xvnc]] - mm. RealVNC:n ja TightVNC:n mukana tuleva palvelinohjelmisto ja "virtuaalinen" [[X]]-palvelin, joka luo VNC-asiakasohjelmien käyttöön palvelinkoneen fyysisestä näyttölaitteesta riippumattoman X-istunnon. Xvnc löytyy useimmista jakeluista nimellä <tt>vnc-server</tt>, <tt>xorg-X11-Xvnc</tt> tai <tt>X11-server-xvnc</tt>. Xvnc käynnistyy helpoiten <tt>vncserver</tt>-skriptin avulla. | |||
*[[x11vnc]] - Jo olemassaolevaa, fyysiseen näyttöön liitettyä X-palvelinta hyödyntävä VNC-palvelin. Löytyy useimmissa jakeluissa paketista <tt>x11vnc</tt>. | |||
*[[vino]] - graafisesti hallittava VNC-palvelin [[GNOME]]lle. | |||
*[[KRDC]] - [[KDE]]:n VNC- ja [[RDP]]-asiakasohjelma. Uudelleenkirjoitettu lähes kokonaan KDE:n 4.0-versiota varten. | |||
*[[Krfb]] - KDE:n graafinen VNC-palvelin. Tukee mm. sähköpostitse lähetettäviä kutsuja etäyhteyteen. | |||
== Käyttö == | == Käyttö == | ||
Useimmista muista etäkirjautumisprotokollista poiketen VNC vaatii, että käyttäjän, jonka istuntoa halutaan etäkäyttää, on jo oltava etäkoneella kirjautuneena ja myöskin käynnistänyt VNC-palvelinohjelman omilla oikeuksillaan <span style="font-size: 0.9em;">(on tosin teoriassa mahdollista käynnistää VNC-palvelin [[nohup]]-ohjelman avulla ja sen jälkeen kirjautua ulos)</span>. | |||
Koska Linux on monen käyttäjän käyttöjärjestelmä, voidaan VNC-asiakkaille avata joko kokonaan oma X-istunto omine ohjelmineen tai sitten antaa heidän etäkäyttää tai -katsella valmista istuntoa, jolloin samaa istuntoa käyttää useampi käyttäjä. Yhden käyttäjän käyttöjärjestelmissä (esimerkiksi Windows) on mahdollista vain olemassaolevan istunnon yhteiskäyttö. Erillisten X-istuntojen luominen toteutetaan käyttämällä [[Xvnc]]-palvelinta, jolloin X-istunto ei ole yhteydessä fyysiseen näyttölaitteeseen. Saman istunnon yhteiskäyttöön taas käytetään [[x11vnc]]-palvelinta, jolloin paikallinen käyttäjä ja etäkäyttäjä jakavat samat ikkunat, [[hiiri|hiiren]] kursorin ym. | |||
VNC:n oletuksena käyttämä salaus on heikko ja mm. salasana on helppo murtaa. Poikkeuksena tästä ovat RealVNC:n kaupallinen versio sekä UltraVNC (vain Windows), joihin on lisätty tuki tehokkaammalle salaukselle. Jos VNC-yhteyttä halutaan käyttää muualla kuin turvallisessa kotiverkossa, on tehokkaampi salaus käytännössä välttämätön. VNC:n ei-kaupallisilla Linux-toteutuksilla ylimääräinen salaus onnistuu helpoiten välittämällä VNC-liikenne [[SSH#Tunneli|SSH-tunnelin]] kautta. Tällä menetelmällä voidaan myös kiertää mahdolliset palomuuriasetukset, joissa VNC:n oletuksena käyttämät portit <tt>5900-5906</tt> on suljettu, mutta SSH:n 22-portti sallittu. Tässä ohjeessa neuvotaan VNC-yhteyden muodostaminen SSH-tunnelin kautta. | |||
Jotta tämä voisi toimia, täytyy paikalliselta koneelta löytyä SSH-asiakasohjelma ja etäkoneelta ajossa oleva SSH-palvelin (<tt>sshd</tt>). Molemmat löytyvät yleensä paketista <tt>openssh</tt>, tosin joissakin jakeluissa SSH-asiakasohjelmat on eriytetty pakettiin <tt>openssh-clients</tt> ja <tt>sshd</tt> pakettiin <tt>openssh-server</tt>. Lisätietoja SSH-palvelimen pystyttämisestä löytyy artikkelista [[SSH]]. | |||
Ennen yhteyden luomista on paikallisella koneella luonnollisesti oltava myös jokin VNC-asiakasohjelma. Hyvä valinta on esimerkiksi [[TightVNC]], joka käyttää RealVNC:tä tehokkaampaa pakkausta. TightVNC löytyy useimmissa jakeluissa paketista <tt>tightvnc</tt>. | |||
== | ===Yhdistäminen erilliseen X-istuntoon=== | ||
Luodaan SSH-tunneli (valitsin <tt>-L</tt>) etäkoneeseen ''palvelin'': | |||
ssh kayttajanimi@palvelin -L 5903:palvelin:5904 | ssh kayttajanimi@palvelin -L 5903:palvelin:5904 | ||
5903 on portti koneessa | 5903 on portti paikallisessa koneessa ja 5904 on portti etäkoneessa, johon ollaan ottamassa yhteyttä. Voit myös käyttää valitsinta <tt>-C</tt>, joka aiheuttaa yhteyden pakkaamisen kompensoiden VNC:n puutteellisia pakkaustoimintoja. Toisaalta tämä saattaa jossain määrin lisätä yhteyden viivettä. Pakkauksella varustettu tunneli avattaisiin näin: | ||
ssh kayttajanimi@palvelin -CL 5903:palvelin:5904 | |||
Etäkoneella on nyt käynnistettävä VNC-palvelin. Tämä edellyttää saman <tt>tightvnc</tt>-paketin asentamista kuin paikallisellakin koneella. Palvelin käynnistetään komennolla | |||
vncserver -geometry | vncserver :4 | ||
jossa <tt>:4</tt> tarkoittaa työpöydän numeroa (tämä määrittää myös kuunneltavaksi porttiosoitteeksi <tt>5904</tt>:n). Halutessa voidaan määrittää myös näytön resoluutio (valitsin <tt>-geometry</tt>) sekä värimäärä (<tt>-depth</tt>), esimerkiksi | |||
vncserver -geometry 1024x768 -depth 16 :4 | |||
Ensimmäisellä kerralla kun palvelin käynnistetään, kysytään myös yhteydelle asetettavaa salasanaa (tämä on siis eri salasana kuin varsinainen käyttäjän salasana). Salasana tallentuu tiedostoon <tt>.vnc/passwd</tt>. Sitä voi vaihtaa komennolla <tt>vncpasswd</tt>. | |||
Etäkäyttäjän VNC-istunnossa käynnistettäviä ohjelmia voidaan muokauttaa muokkaamalla skriptiä <tt>.vnc/xstartup</tt>. Tämän tiedoston tyypillinen sisältö on | |||
#!/bin/sh | |||
xrdb $HOME/.Xresources | |||
xsetroot -solid grey | |||
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" & | |||
twm & | |||
Mikä käynnistää [[Xterm]]-[[terminaaliemulaattori]]n sekä yksinkertaisen [[TWM]]-ikkunointiohjelman. [[KDE]]:n käynnistystä varten tiedosto pitäisi muokata muotoon | |||
#!/bin/sh | |||
exec startkde | |||
ja GNOME:n käynnistystä varten muotoon | |||
#!/bin/sh | |||
exec gnome-session | |||
Mallia tähän voi ottaa [[xinitrc|.xinitrc]]-tiedostosta. | |||
Kun <tt>vncserver</tt> on käynnistetty, jätä SSH-tunneli auki taustalle ja käynnistä paikallisella koneella VNC-asiakasohjelma komennolla | |||
vcnviewer localhost:5903 | vcnviewer localhost:5903 | ||
VNC-asiakasohjelma kysyy tällöin etäkoneella asettua VNC-salasanaa. | |||
Kun lopetat VNC-käytön, voit periaatteessa jättää <tt>vncserver</tt>-ohjelman pyörimään etäkoneelle. Yleensä tämä kuitenkin vain kuluttaa turhaan koneen resursseja, joten voit sulkea palvelimen komennolla | |||
vncserver -kill :4 | vncserver -kill :4 | ||
olettaen, että 4 oli käyttämäsi työpöytänumero. SSH-tunnelin ja -etäistunnon voi sulkea komennolla | |||
exit | |||
=== Yhdistäminen olemassaolevaan X-istuntoon === | |||
Paikalliselta koneelta on ensin ylläolevaan tapaan luotava SSH-tunneli etäkoneelle komennolla | |||
ssh kayttajanimi@palvelin -L 5903:localhost:5904 | |||
Missä <tt>5903</tt> on paikallisen koneen ja <tt>5904</tt> etäkoneen portti. Pakkausta käyttävä SSH-tunneli voidaan luoda komennolla | |||
ssh kayttajanimi@palvelin -CL 5903:localhost:5904 | |||
Etäkoneelta on löydyttävä [[x11vnc]]-palvelinohjelmisto. Sen pitäisi löytyä paketinhallinnasta nimellä <tt>x11vnc</tt>. | |||
X11vnc-palvelin käynnistetään komennolla | |||
x11vnc -usepw | |||
Missä valitsin <tt>-usepw</tt> pakottaa käyttämään yhteydelle salasanaa. Jos tiedostosta <tt>.vnc/passwd</tt> jo löytyy valmis salasana, käytetään sitä. Muussa tapauksessa käyttäjää pyydetään määrittelemään salasana ja tallennetaan se sitten em. tiedostoon. Salasanan vaihtoon voi käyttää TightVNC:n ja RealVNC:n mukana tulevaa <tt>vncpasswd</tt>-ohjelmaa. Muussa tapauksessa asia onnistuu seuraavalla komennolla: | |||
x11vnc -storepasswd 'salasana' $HOME/.vnc/passwd | |||
Mikäli etäkoneella on ajossa useita eri työpöytäistuntoja, voidaan x11vnc määrittää käyttämään tiettyä istuntoa valitsimella <tt>-display</tt>, esimerkiksi | |||
x11vnc -usepw -display :0 | |||
X11vnc tukee myös huomattavaa määrää muita valitsimia, joista saa lisätietoa ohjelman [http://www.karlrunge.com/x11vnc/ kotisivuilta] tai komennolla <tt>man x11vnc</tt>. | |||
Kun olet saanut x11vnc-palvelimen käynnistettyä, voit jättää SSH-tunnelin auki taustalle ja käynnistää paikallisella koneella VNC-asiakasohjelman komennolla | |||
vcnviewer localhost:5903 | |||
VNC-asiakasohjelma kysyy tällöin etäkoneella asettua VNC-salasanaa. | |||
Kun suljet käynnistämäsi <tt>vncviewer</tt>-istunnon, sulkeutuu myös x11vnc-palvelin automaattisesti. Tällöin voit palata SSH-tunnelin komentoriville ja sulkea sen komennolla | |||
exit | |||
Jos haluat estää x11vnc:n automaattisen sulkeutumisen, voit käynnistää sen valitsimella <tt>-forever</tt>: | |||
x11vnc -usepw -forever | |||
X11vnc-palvelimen voi tällöin sulkea komennolla | |||
[[killall]] x11vnc | |||
====Yhdistäminen ilman SSH-salausta==== | |||
Kotiverkkokäytössä saattaa olla turhaa käyttää SSH-tunnelia x11vnc-yhteyttä luodessa. Tällöin voit yksinkertaisesti käynnistää x11vnc-palvelimen etäkoneen komentoriviltä komennolla | |||
x11vnc -usepw | x11vnc -usepw | ||
sekä antaa paikallisella koneella komennon | |||
vncviewer etakoneen_nimi:0 | |||
missä <tt>:0</tt> on etäkoneella käytettävä työpöytänumero. Jos etäkoneella on vain yksi X-istunto, on työpöydän numero todennäköisesti <tt>0</tt>. | |||
====Yhdistäminen graafisia työkaluja käyttäen==== | |||
Yhdistäminen näillä työkaluilla tapahtuu ilman erillisen salauksen (kuten SSH-tunneli) käyttöä, joten ne soveltuvat enimmäkseen vain turvallisissa verkoissa käytettäväksi. | |||
=====GNOME===== | |||
[[GNOME]]en kuuluu [[vino]]-niminen VNC-palvelin, jonka asetuksia voi muuttaa valikosta ''Järjestelmä'' --> ''Asetukset'' --> ''Etätyöpöytä''. | |||
Asetusruudussa voit valita, haluatko muiden käyttäjien voivan etäkäyttää tai vain etäkatsella työpöytääsi. Voit myös valita, haluatko saada uusista VNC-istunnoista varmistuksen sekä määrittää yhteydelle salasanan. Salasanan maksimipituus on joissakin VNC-ohjelmissa esiintyvän rajoituksen vuoksi 8 merkkiä. VNC-palvelimen päälläolo ei edellytä asetusikkunan aukioloa. | |||
=====KDE===== | |||
[[KDE]]:hen kuuluu [[Krfb]]-niminen VNC-palvelin. Sen voi käynnistää ''Internet''-valikon alta kohdasta ''Työpöydän jakaminen''. Ohjelma sallii yhteyskohtaisten kutsujen luomisen, joille generoidaan valmiiksi salasana sekä asetetaan tunnin voimassaoloaika. Palvelimen voi myös määrittää ottamaan jatkuvasti yhteyksiä vastaan. Yhteyden vastaanottaminen ei edellytä Krfb:n asetusikkunan aukioloa. Kun uusi yhteyspyyntö tulee, näytetään oletuksena varmistuskysely. Tämän jälkeen tarjottimelle ilmestyy Krfb:n kuvake, josta voi hallita yhteyttä. | |||
KDE:hen kuuluu myös VNC- ja RDP-asiakasohjelma nimeltä [[KRDC]]. Se löytyy ''Internet''-valikon kohdasta ''Etätyöpöytäyhteys''. Sille syötetään halutun palvelimen osoite muodossa <tt>palvelimennimi:työpöytänumero</tt>, esimerkiksi <tt>foobar:0</tt>. Tämän jälkeen tulee ikkuna, jossa kysytään yhteyden nopeutta sekä halua salasanan tallentamiseen [[Kwallet]]-työkalun avulla. Tämän jälkeen näytetään ''Todennetaan''-ikkunaa, kunnes etäkoneen käyttäjä on hyväksynyt yhteyden. Sitten kysytään salasanaa ja VNC-ikkuna aukeaa. Yhteysikkunassa voi valita mm. kokoruututilan, zoomauksen sekä erikoisnäppäinten syötön. Huomioi, että KDE:n uudessa 4.0-versiossa KRDC on uudistettu lähes kokonaan, joten tämä ohje ei välttämättä enää päde siihen. | |||
== | ==Katso myös== | ||
* | *[[XDMCP]] | ||
*[[SSH]] | |||
*[[X Window System]] | |||
== Linkkejä == | == Linkkejä == | ||
*[http://wiki.ubuntu-fi.org/VNC Ubuntu Suomen wikin VNC-artikkeli] | *[http://wiki.ubuntu-fi.org/VNC Ubuntu Suomen wikin VNC-artikkeli] | ||
*[[wikipedia:fi:VNC|Suomenkielisen Wikipedian | *[[wikipedia:fi:VNC|Suomenkielisen Wikipedian VNC-artikkeli]] | ||
*[[wikipedia:en:VNC|Englanninkielisen Wikipedian VNC-artikkeli]] | |||
*[http://www.realvnc.com/products/personal/ Realvnc] | |||
*[http://www.tightvnc.com/ TightVNC] | |||
*[http://www.karlrunge.com/x11vnc/ x11vnc] | |||
[[Luokka:Verkko]] | [[Luokka:Verkko]] | ||
[[Luokka:Ohjeet]] | [[Luokka:Ohjeet]] |