[LinuxFocus-icon]
Castellano Chinese Deutsch English Français Indonesia Italiano Nederlands

Questo documento è disponibile in: English  Français  Indonesia  Italiano  

[Photo of the Author]
Viktor Horvath
<viktor /at/ ibiblio.org>

L'autore:

Sono all'ultimo anno di Informatica (ed un po' di neurobiologia)all'Universitá di Amburgo, in Germania. Nel mio tempo libero, amo remare,registrare ed ascoltare gli audio-libri, i software gratuiti, gli open content e la filosofia dietro di essi.



Tradotto in Italiano da:
Lucia Di Gaeta <lucialinux/at/hotmail.co.uk>

Contenuto:

 

Huge screenshots using VNC

Premessa:

A metá tra un "suggerimento" ed un articolo vero e proprio, vi dimostreró come produrre degli screenshots giganti utilizzando un desktop virtuale VNC. Non parlo di formule magiche, ma piuttosto di un extra per coloro che non conoscono ancora le possibilitá di VNC.

_________________ _________________ _________________

 

Motivo

Si dice comunemente che un'immagine (o uno screenshot) dice piú di mille parole. Immaginate tuttavia che lo screenshot che volete creare, si espanda su diverse pagine del vostro schermo. Un grande grafico per esempio, che non puó essere esportato come PostScript oppure PDF.

Nel mio caso in particolare, volevo correggere un testo, e volevo che gli altri vedessero i cambiamenti che avevo apportato. Ora questo é il classico caso per un diff, ma che cosa succede se il partner non sa come leggerlo o ancor peggio, se ha un sistema senza sofisticati strumenti grafici diff tipo TkDiff o KDiff3 [1] ? Quindi ho preferito inviare uno screenshot del mio bel KDiff3 – ma siccome la finestra include piú di cinque pagine di schermata, sarebbe stato necessario scorrere in verticale verso il basso. Creare cinque screenshots ed assemblarli in GIMP potrebbe essere una possibilitá. Creare uno schermo virtuale enorme e produrre uno screenshot ne é un’altra, che vi spiegheró qui di seguito.

 

Che cos'é VNC?

Non voglio ripetere la bella introduzione a Virtual Network Computing che esiste sul web [2]. In breve, un desktop (con uno schermo come output ed un mouse ed una tastiera come input) é condiviso sul network - il computer di cui volete condividere il desktop ha attivo un server VNC ed il computer su cui volete vedere e controllare l’altro desktop in una finestra ha in moto il VNC client. Originariamente sviluppato dall’Universitá di Cambridge, UK ed AT&T, la base del VNC é ora l’azienda inglese RealVNC [3]. Fortunatamente non ci sono solo esecuzioni di software gratuiti del protocollo VNC, ma anche una piattaforma incrociata che consente di controllare un desktop Mac OS X desktop da un box GNU/Linux e vice versa. E ci sono molti strumenti ed idee per VNC.

Su Microsoft Windows e Mac OS X, avrete solo un singolo desktop, quindi dividerete quello corrente; su Unix e GNU/Linux bisogna creare un altro desktop (sebbene ci siano programmi per dividere quello corrente [4]), come pure potete avere molteplici servers X sulla stessa macchina. Infatti, il nuovo desktop VNC é un desktop X "avvolto" da VNC. Se le vostre machine hanno un firewall o se volete proteggere le vostre comunicazioni, potete far passare la connessione VNC attraverso SSH (previo che la macchina a cui siete connessi possieda un server SSH) [5].

 

VNC vs. X11

Come probabilmente saprete, potete anche trasferire sigole finestre X11 attraverso la rete, con l’ applicazione avviata sulla macchina A e osservando le finestre sulla macchina B. Le principali differenze del VNC sono:

 

Installazione, configurazione ed avvio del server VNC

Ogni importante distribuzione procura pacchetti per VNC server e client. Se siete fortunati, giá possedete comandi quali vncserver o xvncviewer. Su Debian e simili, potrete comunque averli, se siete il superuser:

apt-get install vncserver xvncviewer
Lo sto facendo su una macchina Debian, ma non ci dovrebbero essere enormi differenze tra le distribuzioni.

Normalmente dovrete solo dire:

vncserver :1 -localhost
ed avrete un nuovo server X avviato su un display :1, accessibile connettendosi al server VNC che ascolta sulla porta 5900 + configura il numero, in questo caso sulla porta 5901. A causa del parametro -localhost, potete connettervi solo localmente o usando SSH. .

Potete connettervi a questo server con il client:

xvncviewer :1
Se avete protetto la vostra connessione VNC con una password (usando vncpasswd), a questo punto il vostro desktop dovrebbe apparire in una finestra.

Tuttavia, a causa probabilmente del mio startup scripts in ~/.xsession individuale, il window manager non appare nel client (o peggio, creerá nuove finestre di errore). Per questo sono dovuto uscire da vncserver:

vncserver -kill :1
e creerà un file ~/.vnc/xstartup con solo una configurazione minima(exec icewm come linea unica). Questa é la configurazione per il server X cominciata d VNC e non la configurazione VNC stessa! Quest’ultima si trova in /etc/vnc.conf e ~/.vncrc. Ho dovuto scrivere una linea nel latter per usare lo xstartupche avevo appena creato, quindi il mio ~/.vncrc somiglia a:
$vncStartup = "~/.vnc/xstartup";

A questo punto, vogliamo effettuare il nostro screenshot gigante, quindi avviate il server VNC nella grandezza che vi serve. Mi piace avere la larghezza un po’ piú piccola di quella attuale dello schermo per poter avere solo una direzione per scorrere. Voi peró forse avete bisogno di una finestra piú larga per la vostra applicazione.

vncserver :1 -localhost -depth 16 -geometry 950x5000
Connettetevi come prima (xvncviewer :1).

 

Catturare lo schermo VNC

Quello che segue é abbastanza semplice: cominciate la vostra applicazione di cui volete catturare la finestra e manipolatela nel modo che piú vi piace. Per catturare lo schermo, di solito sono pigro ed uso il famoso editore di immagini GIMP. Per questa volta, ovviamente, dovete avviarlo all’interno del desktop VNC, cosí come la vostra applicazione. Poi potete fare "File -> Acquire -> Screen Shot..." come al solito. Probabilmente vorrete salvare solo l’ output e modificarlo dopo nel vostra desktop normale, per evitare di scorrere. A volte dovete scorrere di parecchio prima di trovare la finestra che avete appena aperto!

 

Requisiti Hardware

Non credete di avere bisogno di un’estesa memoria video per farlo. Il mio computer é vecchio di cinque anni e addirittura la scheda grafica ha dieci anni (4 MB RAM). Dovrete solo aspettare un po, questo é tutto.

 

I miei risultati

Questo é solo un esempio , sto paragonando due versioni della stessa sezione nel manuale tedesco per installare Debian in KDiff3. Cliccate per vedere la risoluzione originale.

 

Bibliografia

Tutti controllati il 15 novembre 2006.

[1] Due di tanti strumenti diff grafici:
TkDiff: http://tkdiff.sourceforge.net
KDiff3: http://kdiff3.sourceforge.net

[2] VNC in Wikipedia:
http://en.wikipedia.org/wiki/VNC
Alcune informazioni di sfondo, da parte di Tim Waugh per il Red Hat Magazine:
http://cyberelk.net/tim/articles/VNC/index.html

[3] RealVNC homepage:
http://www.realvnc.com

[4] x11vnc (una pagina lunga):
http://www.karlrunge.com/x11vnc/
Inoltre, la versione 4 e successive di RealVNC sostiene di poter dividere la sessione X11 corrente.

[5] Il Web Thingy di Jason: Assicurare una connessione VNC con OpenSSH
http://www.trekweb.com/~jasonb/articles/vnc_ssh.shtml
From the old AT&T/Cambridge VNC pages: Making VNC more secure using SSH
http://www.cl.cam.ac.uk/research/dtg/attarchive/vnc/sshvnc.html

 

Discussioni su quest'articolo

ogni articolo possiede una sua pagina di discussione, da questa pagina puoi inviare un commento o leggere quelli degli altri lettori:




Webpages maintained by the LinuxFocus Editor team
© Viktor Horvath
"some rights reserved" see linuxfocus.org/license/
http://www.LinuxFocus.org
Translation information:
en --> -- : Viktor Horvath <viktor /at/ ibiblio.org>
en --> it: Lucia Di Gaeta <lucialinux/at/hotmail.co.uk>

2007-03-26, generated by lfparser version 2.54b