ogni tanto si puo' avere la necessita' di collegarsi ad un PC o server , non fisicamente accessibili..... magari un' amico vi ha chiesto un' aiuto sul suo pc e vi fa' comodo vedere l' output della GUI ,
a me e' capitato di dover controllare la configurazione di una telecamera accessibile solo dalla sua rete interna ... fortunatamente il mio amico ha un server linux accessibile dall' esterno via SSH , e un' accesso VPN alla sua rete!!!!!
le strade percorribili , sono :
- usare il classico teamviewer
- una sessione vnc
- il trasporto dell' app di broswer sotto sessione ssh
un prerequisito che mi sono imposto e' quello di limitare al minimo la collaborazione di utenti o utonti dall' altro lato, quindi non deve esserci nessuno a lanciare programmi per me e/o a mettere credenziali , cio' ci impone quindi di far un login da remoto ...
ho deciso di scartare la prima soluzione e di provare le altre due, in quest ' articolo parlero' di come configurare VNC , facendo dapprima delle prove su un server a casa mia, e su una mia raspberry .....
iniziamo col fare le prove sul mio server ....
intanto sia il server che la raspi , partono in runlevel 2 , ossia modalita' solo testo , senza lanciare X all' avvio, quindi la prima cosa da fare e' cambiargli il runlevel , percio' dobbiamo editare /etc/inittab e modificare
da
# The default runlevel. id:2:initdefault:
a
# The default runlevel. id:5:initdefault:
in modo da far partire il server X11
quindi installiamo x11vnc
sudo apt-get install x11vnc
di default debian 7.7 server ha come display manager gdm3 ...... che mi porta ad .... una schermata vuota , installo quindi lxde
sudo apt-get install lxde
x11vnc si lancia come
sudo x11vnc -auth /var/lib/gdm/:0.Xauth -display :0
girando in rete si consiglia di inserire una password e di lanciarlo in automatico all' avvio del server ...
sinceramente non sono di questa idea quando mi serve la lancio a manina , piu' sicuro di cosi!!!!
quindi vai di bash!
creiamo un file nella nostra home directory col nostro editor preferito, io uso nano.
nano vnc.sh
con all' interno
#/bin/bash x11vnc -auth /var/lib/gdm/:0.Xauth -display :0 -forever &
diamogli i permessi di esecuzione
chmod u+x vnc.sh
quindi all' occorrenza verra' lanciato a manina
sudo ./vnc.sh
in teoria per essere ancora piu' sicuro dovrei riuscire a lanciare da utente normale ....
continuiamo a provare (in realta ho fatto le prove in contemporanea) su raspberry ,quindi segnalero' solo le differenze con quanto scritto sopra
qui' cambia il display manager che e' lightdm , aggiustando la riga con cui lanciamo x11vnc , otteniamo che il nostro file .sh conterra
#/bin/sh x11vnc -xkb -noxrecord -noxfixes -noxdamage -display :0 -auth /var/run/lightdm/root/:0 -forever &
in entrambi i casi, ho provato a a collegarmi dal mio pc usando due app
KRDC (kde remote desktop)
e vncviewer (sudo apt-get install xvnc4vievwer) da lanciare manualmente (Alt+ F2) non avendo un lanciatore
delle due app, KDRC sicuramente piu' bella graficamente, e piu' intuitiva da usare, mi e' sembrata meno performante, e nell' impostazione "Bassa qualita , linea ISDN , MODEM" non riesce a collegarsi ne al server ne al raspberry , mentre vncviewer anche se molto piu' spartana, con le scritte piu' piccole , con la seccatura di doverlo lanciare a manina , ha funzionato a dovere, quasi quasi affermerei con prestazioni leggermente superiori , e riesce a funzionare pure in configurazione colore 8 bit!!!
inoltre ho provato anche a trasportare X su ssh .... ma questa e 'un 'altra storia!!!!