VNC

Linux.fista
Versio hetkellä 18. marraskuuta 2007 kello 02.51 – tehnyt Heikki (keskustelu | muokkaukset) (välitallennus (osittain moinmoinin muodossa))
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

VNC (Virtual Network Computing) on protokolla tietokoneen etäkäyttöön graafisesti.

VNC löytyy useimpien jakeluiden paketinhallinnasta. Esimerkiksi Debianissa ja siihen pohjautuvissa jakeluissa (mm. Ubuntussa) asiakasohjelma löytyy paketista vncviewer. Koneella, johon yhdistetään on oltava käynnissä SSH-palvelinohjelma (esim. paketti openssh-server). VNC ottaa SSH-yhteyden koneiden välille oletuksena porttiin 22, joten palomuuri ei saa estää SSH-liikennettä tähän porttiin.

VNC löytyy myös Windowsille, esimerkiksi Realvnc.

Käyttö

Graafisen etäyhteyden ottaminen riippuu siitä, onko kohdekoneella jo käynnissä X-istunto vai onko se käynnistettävä.

Yhteys koneelle, jossa et ole kirjautuneena

Aluksi on otettava SSH:lla yhteys koneeseen johon, haluat ottaa graafisen yhteyden. Yhteys on otettava käyttäen SSH:n valitsinta -L, jolloin luodaan SSH-tunneli (lisätietoja SSH-artikkelissa):

ssh kayttajanimi@palvelin -L 5903:localhost:5904

5903 on portti koneessa, josta otat yhteyttä ja 5904 on portti koneessa, johon olet ottamassa yhteyttä ja jota palvein asetetaan kuuntelemaan.

Seuraavaksi on käynnistettävä vncserver koneella, johon olet ottamassa yhteyttä. vncserver löytyy yleensä paketinhallinnasta paketista vncserver. Se käynnistetään komennolla

vncserver -geometry 800x600 -depth 16 :4 

missä

  • geometry kertoo ruudun resoluution,
  • depth värien määrän ja
  • :4 on käytettävän työpöydän numero (ja joka laittaa kuuntelemaan porttia 5904)

Komennolla vncpasswd voi asettaa työpöydälle salasanan, jota kysytään yhteyttä muodostettaessa (tämä on siis eri salasana kuin varsinainen käyttäjän salasana).

Jätä tämä SSH-tunneli auki taustalle ja käynnistä yhteyttä ottavalla koneella vncviewer komennolla

vcnviewer localhost:5903

Jolloin vncviewer</tt kysyy aikaisemmin asettua työpöydän salasanaa.

vncserverin voi periaatteessa jättää koneelle pyörimään, mutta se syö resursseja turhaan joten jos sille ei ole enää tarvetta, se voidaan sulkea komennolla

vncserver -kill :4

jossa tuo :4 on käyttämäsi näytön numero (huomaa välilyönti ennen tuota kaksoispistettä!).

Yhteys katkeaa kun lopetat ssh-yhteyden (kirjoittamalla exit).

Yhteys koneelle, johon olet kirjautuneena

Tässä tapauksessa koneella, johon otetaan yhteys, on oltava asennettuna lisäksi x11vnc, joka löyty yleensä paketinhallinnasta samannimisestä paketista.

Aluksi muodostetaan SSH:lla yhteys koneeseen johon halutaan ottaa graafinen yhteys ja luodaan SSH-tunneli samaan tapaan kuin edellä komennolla

ssh kayttajanimi@palvelin -L 5903:localhost:5900

missä 5903 on portti koneessa, josta otat yhteyttä ja 5904 on portti koneessa, johon olet ottamassa yhteyttä ja jota palvein asetetaan kuuntelemaan.

Seuraavaksi käynnistetään vnc-palvelin komennolla

x11vnc -usepw

Parametri -usepw ensimmäisellä kerralla kysyy käytettävää salasanaa (jos koneeseen on jo asetettu vnc-salasana, käyttää sitä), jatkossa käyttää asetettua.

Jätä tämä ssh - tunneli taustalle auki oleskelemaan ja käynnistä yhteyttä ottavalla koneella vncviewer esim. uuteen terminaali-ikkunaan.

{{{ vcnviewer localhost:5903 }}}

Viewer kysyy aikaisemmin asettamaa työpöydän salasanaa.

vncserverin voi periaatteessa kait jättää koneelle pyörimään - syö tosin resursseja joten jos tarvetta ei heti ole uudestaan, saa serverin pysäytettyä painamalla ctrl + C jolloin keskeyttää ohjelman ajon.

Yhteys katkeaa (myös) kun lopetat ssh-yhteyden (kirjoittamalla exit).


Tämä ohje on "public domain".


Jos X-istunto ei ole käynnissä

Ohje graafisille työkaluille forumilla


VNC-palvelimen käynnistäminen kohdekoneessa graafisesti

Ubuntuun on nykyisin asennettu valmiiksi VNC-yhteys, jota pystyy hallinnoimaan graafisesti

Järjestelmä > Asetukset > Etätyöpöytä


Uusi tapa käyttää SSH-yhteyttä

Ubuntun mukana tuleva VNC-ohjelma sisältää nykyisin option -via, joka avaa ssh-yhteyden kohdekoneeseen automaattisesti. Näin ollen yhteys saadaan yksinkertaisesti seuraavalla tavalla:

{{{ vncviewer -via kayttajanimi@serverinosoite localhost:0 }}}