přejít na obsah přejít na navigaci

Linux E X P R E S, VNC - grafická kontrola vzdialeného počítača

VNC - grafická kontrola vzdialeného počítača

vnc.jpg

Ovládanie vecí na diaľku je snaha, ktorú ľudstvo pozná už oddávna. V niektorých starovekých ruinách sa našli architektonické pokusy využiť prúd tečúcej vody potom, ako niekto otvoril tajný uzáver, ale príkladov je viac a nielen v rozprávkach, v odkaze ktorých si mnohí pamätajú magické slová „Sezam, otvor sa!“


V počítačovej oblasti existuje veľa spôsobov podobného ovládania a jedným z nich je VNC, skratka pre Virtual Network Computing. Ide o zdieľanie pracovného prostredia desktopu vzdialeného počítača na báze klient-server - pracovný desktop vzdialeného počítača sa vám zobrazí na ploche a vy ho budete môcť používať.

VNC je grafická aplikácia. Pokiaľ nemáte X Window, Windows, ani neuvažujte o jej používaní.

VNC z blízka

Ak to priblížime, užívateľ si na serveri, teda tam, kde sa chce prihlásiť pomocou VNC, inštaluje VNC server (vncserver) a ten je potom schopný komunikovať s VNC klientom (vncviewer) spusteným z počítača, z ktorého sa užívateľ na (VNC) server prihlási.

Toto riešenie funguje globálne, možno teda z linuxového prostredia pristúpiť na VNC server vo Windows a naopak, výnimkou nie je ani Mac, Solaris, QNX, OS/2 a plno ďalších operačných systémov. Varianty programov typu VNC tiež dokážu medzi sebou vzájomne komunikovať a sú dostupné zadarmo pre rôzne platformy, ale nemusí to tak byť vždy (najmä vo Windows).

Riešenie VNC nie je veľmi bezpečné, ale je neobyčajne užitočné pre domáce siete, hoci tí náročnejší môžu použiť i SSH tunnelling, čím sa dosiahne podstatne robustnejšia bezpečnosť.

Z najdôležitejších voľne dostupných programov tu máme napríklad RealVNC, UltraVNC či TightVNC, ale tu zoznam zďaleka nekončí.

V zornom uhle tohto článku je TightVNC a informácie o jeho spojazdnení v malej lokálnej sieti s viacerými systémami.

TightVNC

Je úplne jedno, aký VNC nástroj či systém (Linux, OS/2...) si zvolíte. TightVNC mi však padol do ruky ako prvý.

V prvom rade treba mať funkčnú sieť, t. j. minimálne prepojené dva počítače, ktoré si otestujete pomocou utility ping. Ak spojenie nepôjde, kameňom úrazu môže byť ešte firewall.

Lokálna sieť sa konfiguruje relatívne ľahko - použijete adresy ako 192.168.0.1 pre klientský počítač, z ktorého sa idete prihlásiť na VNC server, a 192.168.0.2 pre vzdialený počítač, ktorý uvidíte u seba v okne (na počítači, z ktorého ste sa prihlásili, resp. na jeho monitore).

Počítače si pre ľahkú orientáciu aj pomenujeme:

  • PC1 – vncviewer
  • PC2 – vncserver

Rôzne VNC aplikácie i napriek tomu, že sa odlišne volajú, často používajú rovnaké binárne súbory ako vncviewer a vncserver - konkrétne programy, ktoré spustíte ako príkaz, hoci nie je pravidlo, že každý VNC softvér sa bude tohto (rovnaký názov) držať.

FreeBSD ako klient a server

Z nadpisu vidieť, že budeme realizovať pripojenie do grafického prostredia v systémoch FreeBSD. Balíček TightVNC sa vo FreeBSD  nachádza aj v adresári /usr/ports/net, ale nainštalujete ho i pomocou tohto príkazu priamo z internetu:

pkg_add -r tightvnc

Potrebné je vedieť, že v balíčku TightVNC sa nachádza súbor vncserver a vncviewer. Server vncserver musíte spustiť na počítači (PC2), na ktorý sa chcete pripojiť "z diaľky". Prehliadač vncviewer, pomocou ktorého si „prezriete“ vzdialený počítač (PC2), spustíte na počítači (PC1), na ktorom chcete vidieť vzdialený desktop.

V mojom prípade som spustil vncserver v administrátorskom účte na notebooku s FreeBSD 7.1, ktorý ma informoval, že mojím desktopom je „:1“. Tento údaj si treba dobre všimnúť, pretože ho použijete pre prihlásenie sa do vzdialeného počítača (jeho desktopového prostredia).

Vo FreeBSD sa s príkazom vncserver spustí prostredie X aj v prípade, že X reálne nebeží v nijakom okne.Vo FreeBSD sa s príkazom vncserver spustí prostredie X aj v prípade, že X reálne nebeží v nijakom okne.

Pokiaľ nemáte ešte heslo, vncserver sa vás naň opýta.

V klientskom počítači (PC1) však musíte pracovať v X prostredí. Vytvoríte si ikonu pre vncviewer alebo názov programu (vncviewer) zadáte do príkazového riadku.

Klient vncviewer vás uvíta oknom, kde uvediete IP adresu vzdialeného počítača (PC2).Klient vncviewer vás uvíta oknom, kde uvediete IP adresu vzdialeného počítača (PC2).

Nesmiete zabudnúť na údaj ":1" (desktop č. 1), čo je displej, v Unixe ich môžete mať pravdaže viac.

Po zadaní IP adresy uvediete heslo.Po zadaní IP adresy uvediete heslo.

Na druhom počítači je pravdaže možné si nastaviť aj druh desktopu (GNOME, Xfce, KDE) a implicitné nastavenie (TWM) si zmeníte editáciou súboru xstartup, ktorý sa automaticky vytvorí po spustení VNC servera v domovskom adresári (/root/.vnc alebo /home/fero/.vnc atď.), avšak zmeny sa prejavia až potom, keď reštartujete vncserver.

Súbor .vnc/xstartup v domovskom účte (PC2 v okne) bol zmenený pre podporu KDE tak, ako vidieť (počítač PC1, kde beží vncviewer).Súbor .vnc/xstartup v domovskom účte (PC2 v okne) bol zmenený pre podporu KDE tak, ako vidieť (počítač PC1, kde beží vncviewer).

Debian (PC1) a FreeBSD (PC2)

Na serveri (PC2) s FreeBSD nie je potrebné nič meniť, aby fungovalo pripojenie pomocou VNC tak, ako je uvedené vyššie, len s tým rozdielom, že klientský operačný systém bude v tomto prípade Debian Linux (PC1). Tu som si zvolil utilitu xvnc4viewer, ktorú si bezproblémovo nainštalujete v Synaptic manažéri.

Heslo v utilite xvnc4viewer zadávate v príkazovom riadku.Heslo v utilite xvnc4viewer zadávate v príkazovom riadku.

Keď nedostanete výzvu zadať heslo (ako vidieť vyššie na obrázku - unable to connect to host), sieťové spojenie nebudete mať dobre nastavené. Výzva zadať heslo predstavuje zároveň (connected to host), že sieťové spojenie máte správne nastavené.

FreeBSD (PC2) v prostredí Debian Linuxu (PC1) je zážitok.FreeBSD (PC2) v prostredí Debian Linuxu (PC1) je zážitok.

Windows (PC1) a FreeBSD (PC2)

TightVNC má aj svoju Windows verziu, takže niet čo riešiť.

IP adresa spolu s displejom sa všade zadáva rovnako.IP adresa spolu s displejom sa všade zadáva rovnako.

Po uvedení IP adresy vás VNC softvér vyzve zadať heslo a do grafického prostredia FreeBSD sa dostanete aj z Windows.

EchoVNC – trochu viac bezpečia

Pokiaľ vás zaujímajú bezpečnostné riešenia, tie tiež existujú v podobe programov ako EchoVNC, ktorý je rovnako k dispozícii pre Windows i Linux. EchoVNC ako prehliadač (vncviewer) bude tiež úspešne komunikovať s VNC serverom (PC2) z balíčka TightVNC na systéme FreeBSD.

Cesta EchoVNC do desktopu FreeBSD vo Windows je podobná ako v TightVNC.Cesta EchoVNC do desktopu FreeBSD vo Windows je podobná ako v TightVNC.

VNC je dobrá kalkulácia pre rôzne riešenia a príklady určite netreba hľadať. Problémom však môže byť rýchlosť, bezpečnosť, čo však určite vyriešite. Ak sa objavia komplikácie čisto komunikačného charakteru, vhodné bude vyskúšať iné VNC programy.

Nahoru

Odkazy

Příspěvky

VNC - grafická kontrola vzdialeného počítača
vojtam 26. 05. 2009, 07:17:28
Odpovědět  Odkaz 
Článek pro mě přišel trochu pozdě, řešil jsem přesně takovou to situaci, nakonec jsem zvolil xrdp protokol, je to v podstatě kombinace obou předchozích..
Ale jak napovídá název je to obdoba rdp na windows, takže je to přístupné přes obyčejného win rdp clienta. (to je z výhod snad vše, jenom snad ještě že mi to přijde rychlejší než "pravý" rdp protokol).
VNC - grafická kontrola vzdialeného počítača
Renek 26. 05. 2009, 10:11:26
Odpovědět  Odkaz 
Ahoj,

ja jsem podobny problem resil u sveho klienta. Ma linux, ale jak jej na dalku napojit. LogmeIn na Linuxu nejde. Pouzil jsem u nej REMOTE Desktop a pripojuji se k nemu pres VNC Viewer. Ale musel jsem napred u nej zprovoznil VPN. Pouzil jsem k tomu sluzby Alonweb.

http://www.alonweb.com/


Renek
VNC - grafická kontrola vzdialeného počítača
Radim 26. 05. 2009, 19:39:05
Odpovědět  Odkaz 
pokud potřebujete z Windows vidět plochu Linuxu, tak je VNC fajn. Pokud potřebujete jen daný program, tak doporučuji Exceed.

Jinak VNC používáme v práci proto, že umožňuje OpenGL, například narozdíl od Netmeetingu.
VNC - grafická kontrola vzdialeného počítača
TOmik 28. 05. 2009, 11:41:14
Odpovědět  Odkaz 
Me by zajimalo, zda-li umi audio prenos? Resp.ze si na serveru pustim hudbu (nebo nejakou aplikaci vydavajici zvuky) tak jestli je pres VNC uslysim, nebo zda-li existuje nejaka vzdalena plocha, kter by toto umoznovala. DIky
Re:VNC - grafická kontrola vzdialeného počítača
JJik 28. 05. 2009, 13:45:05
Odpovědět  Odkaz 
Pokud vim, VNC to nezvlada. Zato jsem si jisty ze NX Server/Client by mely zvladat. Nicmene, nezkousel jsem zatim, cili nemuzu potvrdit z vlastni zkusenosti.
Jen snad zbyva podotknout, ze NX Server je dostupny pouze pro *nix, klient je i pro Win.
Re:Re:VNC - grafická kontrola vzdialeného počítača
TOmik 28. 05. 2009, 14:55:48
Odpovědět  Odkaz 
No praveze NX Server mam, ale ze bych tam tu funkci nasel ..
Re:Re:Re:VNC - grafická kontrola vzdialeného počítača
JJik 28. 05. 2009, 16:13:39
Odpovědět  Odkaz 
Netusim jestli je to treba zapnout na serveru, kazdopadne ve Win klientovi je na ousku Services checkbox 'Enable multimedia support'. Vyzkousene to ale nemam.
Re:Re:Re:Re:VNC - grafická kontrola vzdialeného počítača
TOmik 28. 05. 2009, 17:06:36
Odpovědět  Odkaz 
No tak to funguje, ale prehrava se to na serveru, ale ja bych chtel aby se mi to prehravalo na klientovi, jak jsem skrz neho pripojenej.
VNC - grafická kontrola vzdialeného počítača
Nexus 28. 05. 2009, 17:11:04
Odpovědět  Odkaz 
UltraVNC ma aj konfigurovatelny viewer, ktory dokaze otvorit "opacnu" komunikaciu (t.j. server otvara komunikaciu na klienta). Je to velmi dobre, ak mate zakaznika s Win za NATom, pripadne za nejakym routerom, ktory nemozete konfigurovat pre otvorenie potrebneho portu. (http://www.uvnc.com/addons/singleclick.html)

Viete o obdobnom rieseni pre linux (ubuntu)? T.j. zakaznik s ubuntu ma na svojom stroji urcite VNC server a ja by som cakal na nejakom inom stroji s verejnou IP. Nejakym prikazom by som ja nastavil vnc klienta na cakanie na spojenie a nejakym sposobom by zakaznik u seba spustil server s napojenim na mojho klienta. Ak by sa to este dalo riesit nejakym jednoduchym prikazom, ktory zakaznik zada do terminalu, tak by to bolo to prave orechove pre support zakaznikov s linuxom :).

Dakujem.
Re:VNC - grafická kontrola vzdialeného počítača
JJik 28. 05. 2009, 21:00:59
Odpovědět  Odkaz 
To co popisujete je normalni ficura VNC serveru (RealVNC, TightVNC, UltraVNC). Kazdy Viewer se da spustit v listen modu, obvykle zadate jmeno binarky s parametrem -listen=1.
Pote z linuxu (serveru) spustite prikaz vncconnect s patricnymi parametry.
Z win je to trochu jednodussi, tam se pouze vyzada na strane serveru spojeni s naslouchajicim klientem a uz to fici.
Re:Re:VNC - grafická kontrola vzdialeného počítača
Nexus 28. 05. 2009, 23:29:02
Odpovědět  Odkaz 
Viete mi hodit nejaky link na blizsie info? (co na to treba, ako sa to sprava, na ktorych distribuciach je to standard a do ktorych to treba doinstalovat, how to, ...). Problem je cca v tom, ze neviem, ako sa ta "featurinka" vola, teda sa neviem spravne opytat pana googla :(. A na sproste otazky je vzdy sprosta odpoved - logika proste nepusti :(.
Re:Re:Re:VNC - grafická kontrola vzdialeného počítača
JJik 29. 05. 2009, 07:20:05
Odpovědět  Odkaz 
Ohledne nazvu - tusim se pouziva nazev 'reverse initiated connection' nebo jen 'reverse connection' - coz zni logicky, nebot spojeni je iniciovano ze strany serveru, nikoliv klienta.
Krastky popis je na http://www.realvnc.com/products/free/3.3.7/man/vncconnect.html a kazdopadne zeptat se Google-u na 'vncconnect' nebude spatna cesta.
Jinak vncconnect je standardni soucasti treba tightvnc ktere na *nix nainstalujete bez problemu z repo distra.

Odpovědět

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz