GNU/Linux mahaigain baten urruneko administrazio

VNC (*Virtual Network Computing*) mahaigainak urrunetik kudeatzeko tresna dugu, horrela beste erabiltzaileen mahaigainak ikusteko eta kontrolatzeko. Dagoeneko badago TightVNC bertsio berri bat, hau sare geldoetarako optimizatuta eta VNC -rekin guztiz bateragarria dena. Bai VNC eta bai TightVNC askeak dira

Windowserako eta GNU/Linuxerako bertsioak daude eta honek Windows mahaigain bat GNU/Linux batetik (eta alderantziz) kontrolatzeko aukera ematen du arazorik gabe.

VNC zerbitzua windows-erako konfiguratzen denean urruneko erabiltzaileak erabiltzen ari den mahaigain bera atzitzea posible da eta ondorioz bere saguko punteroa eta teklatua kontrola ditzakegu administratzaile lanak egiteko ( adib.: sistemaren konfigurazioa) edo erabiltzaileari tresna konkretu bat erabiltzen irakasteko; hau guztia erabiltzailearen bulego edo etxean fisikoki egon gabe.

Baina GNU/Linuxerako konfiguratzen badugu VNC zerbitzua ezin izango da urruneko erabiltzailearen mahaigain bera atzitu, mahaigain independente bat baizik. Honen ondorioz zenbait gauza egitea ezinezko izango dira administratzailearentzat, hala nola erabiltzailearen mahaigain hondoa aldatzea edo aplikazio bat nola erabili behar den erakustea. Beraz, erabiltzailearen zenbait eskakizun ezingo dira zerbitzatu berak eta administratzaileak atzitzen ari diren mahaigainak desberdinak direlako.

Hau dela eta erabiltzaile bat badugu mahaigaina erabiltzen eta VNC zerbitzari bat makina berean, bakoitzak portu ezberdin batean egongo lirateke entzuten:

 Erabiltzailearen idazmahaia --> localhost:0
 VNC Server --> localhost:1

Badago, jadanik, arazo hau ebazten duen aplikazioa bat Gemsvnc deiturikoa. Honek Linux-erako VNC -a Windows -erakoaren portaera berdina izan dezan prestatuta dago.

Gemsvnc VNC zerbitzari bat da eta exekutatuta izan den mahaigaina erabiltzen du urruneko atzipena baimentzeko, beraz, gure mahaigainean sartu (berdin dio GNOME, KDE,... den) kontsola bat ireki eta gemsvnc exekutatzearekin aski da. Sarera konektaturiko beste ordenagailutik “vncviewer servidor:0” exekutatuko dugu eta leiho bat irekiko zaigu urruneko mahaigaina erakutsiz. Modu honetan bere teklatua eta sagua kontrola ditzakegu eta arazorik gabe idatz dezakegu, arazo bitxi bakarrarekin topo egingo dugu Gemsvnc -n eta “$” karakterearekin izango da; shift+4 sakatuz gero 4 bat idatziko duelako eta ez $.

## Gemsvnc -ren konfigurazioa 
Gentoo banaketarekin nola konfiguratu ikusiko dugu (beste banaketekin antzekoa izango da) gemsvnc beti martxan egoteko eta konexioa ezartzeko pasahitza eska dadin.

Gemsvnc eta tightvnc sisteman instalatuko ditugu 'emerge gemsvnc tightvnc’ -rekin. Gemsvnc- k zerbitzari lana egingo du eta tightvnc bezeroarena eta zerbitzariaren pasahitza sortzearena.

Behin instalatuak sarrera baimentzeko pasahitza sortuko dugu:

 # vncpasswd /etc/gemsvnc.passwd
 Password:
 Verify:
 Would you like to enter a view only password (y/n)?  n

Honek '/etc/gemsvnc.passwd' fitxategia sortuko du guk sartutako pasahitz zifratua bertan gordeko delarik. 'View only' aukera ez da zehaztu behar gemsvnc-k ez baitu kontutan hartzen aukera hori.

Ondoren GDM login kudeatzailean gemsvnc abiaratzea lortuko dugu eta horretarako '/etc/X11/gedm/Init/Deafult' fitxategia editatuko dugu amaieran hau idatziz:

 ...
 killall gemsvnc
 /usr/bin/gemsvnc -runforever -quiet -rfbauth /etc/gemsvnc.passwd &
 exit 0

Beste login kudeatzaileekin lan egiten dutenok (KDM adibidez) antzeko fitxategi bat izango dute, hau bilatu eta editatu beharko da.

Gemsvnc puntu honetan abiaraztearen abantaila administratzaileak logina atzitu dezakeela da eta horrela ez du itxoin behar PC -aren erabiltzaileak sesioa hasi arte. GNOME -ren 2.8 bertsiotik aurrera 'vino' aplikazioa dugu VNC -k gemsvnc bezala funtziona dezan baina hau ez da aktibatuko erabiltzaileak sesioa ireki arte.

Aldatu berri duguna frogatzeko sesioa itxi eta berriro ireki beharko beharko dugu GDM -ari gehitu dioguna exekutatzeko.

Orain bigarren makinara jo behar dugu eta bertan tightvnc -a instalatzeko (emerge tightvnc) eta urruneko mahaigainarekin konektatzen saiatu honekin:

 $ vncviewer 192.168.0.3:0

IP -aren balioa konektatu nahi garen ordenagailuarena izan behar da edo horren ordez makinaren izena ere jar dezakegu.

Komandoa behin exekutatuta leiho bat agertu beharko litzateke password -a eskatuz eta horren ondoren beste leiho bat non urruneko mahaigainerako atzipena izango dugun.

### Gemsvnc zifratua 
Kontutan hartu behar da VNC -ko konexioa ez duela zifratzea erabiltzen, beraz, sare ez-seguru batean bagaude edonork jaso dezake bi makinen artean bidalitako informazioa, pasahitza barne. Soluzio bat SSH tunelak erabiltzea izan daiteke datuek enkriptatuak bidaia daitezen. Horretarako beharrezkoa da SSH zerbitzari konfiguratu bat izatea gemsvnc daukan makinan. Beste PC -an (administratzailearena izango dena) kontsola batean zera exekutatuko genuke:

 $ ssh -L 2000:servidor:5900 user@servidor -N

Eta beste kontsola batean:

 $ vncviewer localhost:2000

Lehenengo komandoa zifratutako SSH tunela sortuko du gure makina eta zerbitzariaren artean, gure 2000 portura bidaliko ditugun datuak zerbitzariaren 5900 portura joango dira (IP bat izan daiteke ere) eta horretarako “servidor” zerbitzariko gure “user” erabiltzailea erabiliko dugu. Halako tunelak VNC -z besteko zerbitzuetarako erabili daitezke.

Bigarren pausoan gure portu lokalera konektatzen gara (2000 portura) bertan VNC zerbitzari bat izango bagenu bezala. Zifratzeak dakarren desabantaila bakarra da banda zabalera handiago bat behar dela eta, ondorioz, geldoago funtzionatzen duela.

## Erabilerarako zenbait ohar 
Aplikazioak 100Mbps -eko sareetan funtzionamendu optimoa du bai zuzen eta baita SSH tunelen bidez egiten bada. Baina ADSL bidez konektatutako bi ordenagailuen artean (256Kbps jaitsiera eta 128Kbps -eko igoerarekin adibidez) motelegi ibiltzen da modu zifratuan ibiltzen bagara batez ere.

Edozein kasutan urruneko mahaigainetik jasotako irudiaren kalitatea erregula dezakegu erabiltzen den banda zabalera minimizatzeko. Adibidez, kalitate kaxkarrena eta banda zabalera minimoa honela lortzen da:

 $ vncviewer -encodings Tight -compresslevel 9 -quality 0 servidor:0

Azkenik, aipatu behar da gemsvnc noizean behin huts egiten duela urruneko atzipena ezgaituta geldituz erabiltzailea sesioa berrabiatu arte. Halako kasu batean bagaude eta erbiltzaileak administratzailearen laguntza behar badu komeni da erabiltzailearen PC- an script berezi bat eukitzea. Script sinple honek GDM -k exekutatzen duenaren parekoa izango litzateke. Hona hemen script-a:

 # ! /bin/bash
 CHECK=`ps aux|grep gemsvnc |grep runforever`
 if [ $? -eq 0 ]; then
 echo “ERROR: Ya hay un escritorio remoto en ejecución.”
 echo “Si desea pararlo ejecute ‘killall gemsvnc’ como root.”
 exit
 fi
 export DISPLAY=:0
 killall gemsvnc &> /dev/null
 echo “Escritorio remoto (VNC) en marcha!”
 echo “Pulsar CTRL+C para terminar…”
 /usr/bin/gemsvnc -runforever -quiet -rfbauth /etc/gemsvnc.passwd

Script hau '/usr/local/bin/escritorio-remoto' -n gorde dezakegu eta “chmod 755 /usr/local/bin/escritorio-remoto” -rekin exekuzio baimenak eman. Kontutan hartzekoa da script hau exekutatuko duenak '/etc/gemsvnc.passwd' fitxategia atzitzeko baimenak izan behar dituela.

Honek urruneko makina batera sartu nahi garenean eta gemsvnc martxan ez dagoela konturatzen garenerako balioko digu. Aski da erabiltzaileak terminal batean “escritorio-remoto” exekutatzea eta gemsvnc exekutatuko da berriro bere mahaigaina kontrolatzen utziz.

## Ikus, gainera 
* http://www.marblestation.com
* http://www.gpltarragona.org
* http://www.realvnc.com/
* http://www.tightvnc.com/
* http://www.elilabs.com/~rj/gemsvnc/

## Kanpo estekak