Un système unix , et plus particulièrement Linux , est particulièrement bien adapté pour la télé-intervention. En effet, la ligne de commande , que l'on considère souvent comme une faiblesse voire un frein, s'avère ici être un atout important !
Sur un système unix/Linux , on peut tout faire avec des commandes en ligne,
cela autorise un administrateur à se connecter sur la machine (
avec telnet
par exemple ) à partir de n'importe quel
autre point du réseau ( Internet ou intranet ) et à effectuer toutes
les opérations nécessaires avec un terminal quelconque.
Nul besoin de se déplacer sur la console de la machine en
question.
Si le système en question comprend un modem , alors même un
simple minitel suffit pour se connecter !
passer le minitel en mode 'vt100' avecEssayez donc d'en faire autant avec Windows !Funct T + A
, puis composez le numéro , vous tombez sur lelogin
loggez vous et faites votre travail !
Bien sur dans ce cas , on est limité à 1200 bauds , mais c'est bien suffisant pour lancer une sauvegarde , regarder les processus qui tournent ou tout autre opération qu'un administrateur est amené à faire !
Nous venons de voir que la ligne de commande , avec sa très faible consommation
de bande passante est parfaite pour de la télé-intervention, cependant il est de
nombreux cas ou il est tout de même intéressant d'avoir une interface graphique.
La encore Unix/Linux avec le système graphique X11 est particulièrement bien
adapté. En effet , tout programme graphique que vous lancez sur votre station
vous pouvez sans peine le lancer sur une station distante ! il suffit pour
cela de le lancer avec l'option display, par ex:
programme -display nom_de_la_station_ou_numéro_ip:0ce genre de chose n'est pas possible avec Windows sans acheter de logiciels spécialisés.
Ce que je viens de mentionner marche sur un réseau local , mais également sur internet, rien de plus facile que de faire tourner un programme à l'autre bout du monde tout en s'affichant chez vous !
Cependant ceux d'entre vous qui ont essayé cette 'manip' en étant connecté par modem ont pu constater que c'est horriblement lent !
Linux dans ce cas peut apporter une solution à ce problème :
Grâce à cela , un programme X devient parfaitement utilisable à travers un modem.
c'est très facile à utiliser , sur votre station , lancez :
lbxproxy -display nom_de_la_station_ou_numéro_ip:0puis lancez votre programme avec l'option
-display unix:63
63 est le numéro de display par défaut de lbxproxy, il peut bien
sur être changé
avec l'option :numéro
, permettant de lancer ainsi plusieurs
lbxproxy vers plusieurs serveur X cible, par exemple :
lbxproxy :63 -display premier_serveur_X:0 lbxproxy :62 -display deuxième_serveur_X:0puis ,
programme1 -display unix:63 programme2 -display unix:62lbxproxy se comporte exactement comme un serveur X , il est donc totalement transparent pour le programme client, cependant il requiert pour fonctionner que le serveur X cible comprenne l'extension LBX.
xdpyinfo
.Il faut noter que bien qu'étant surtout utilisé sur des connexions à faible débit (modem) lbxproxy peut également être utilisé sur un réseau local pour en faire baisser la charge.
On peut sous Windows, à l'aide de quelques logiciels spécialisés
(payants) du style pcANYWHERE, faire afficher un programme
sur une autre station que celle sur lequel il tourne , mais également
le faire afficher sur les deux !
C'est particulièrement intéressant pour de la télé-démonstration
ou une personne peut suivre en même temps que le 'professeur' ce qui se
passe sur l'écran.
X11 ne permet pas nativement ce genre de chose , mais pas de panique , il existe bien sûr quelques solutions avec Linux.
XMX tire parti de la nature distribuée de X11 pour agir comme un intermédiaire entre des clients and des serveurs X. Ainsi XMX marche avec n'importe quel client et n'importe quel serveur sans modification.
Vous pouvez télécharger xmx à l'adresse suivante : http://www.cs.brown.edu/software/xmx/
XMX au contraire de produits Windows comme pcANYWHERE n'est pas limité à 2 stations, mais accepte de partager une session X entre un grand nombre de poste, comme le montre l'illustration :
la session XMX partagée est vu , sur chaque poste, dans une fenêtre particulière dans laquelle se trouve un environnement X11 complet ( clients, Window manager ..)
XMX permet de contrôler qui, parmi les différents postes, à le droit d'avoir les contrôles souris/clavier ou qui n'est que visualisateur !
exemple d'utilisation :
xmx :1 -owncmap -geometry 640x480+10+10 -floor pluton saturne -view jupiter neptunelance le server xmx sur le display numéro 1,
il suffit ensuite de lancer des programmes sur ce display (numéro 1) , par exemple
xv -display unix:1l'application apparaîtra simultanément sur tous les postes , et les différentes actions effectuées à partir de n'importe quel poste seront répercutées sur tous les autres !
xmx est livré avec l'utilitaire xmxinit qui permet en une seule action de lancer la session partagée complète sans avoir à lancer tous les clients un par un .
xmxinit utilise 2 fichiers de configuration :
~/.xmxserverrc
qui contient la commande de lancement du serveur xmx,
dans notre exemple on aura donc :
xmx :1 -owncmap -geometry 640x480+10+10 -floor pluton saturne -view jupiter neptune
~/.xmxinitrc
similaire à un fichier .xinitrc, qui contient la
liste des clients à lancer au démarrage.fvwm & xsetroot -solid gray45 & xterm -ls -geometry +10+10il suffit alors de lancer xmxinit pour que toute la session partagée apparaisse.
XMX utilise le protocole X11 pour fonctionner , ce qui lui permet
de marcher dans tout environnement standard X , mais cela en comporte
aussi les inconvénients , à savoir l'extrême lenteur si l'on se trouve
sur un réseau à faible débit.
On peut cependant utiliser le même accélérateur que pour un client X normal.
En combinant ainsi XMX et lbxproxy , on arrive à travailler
simultanément sur plusieurs postes connectés par modem de manière tout
à fait satisfaisante !
si l'on reprend notre exemple on aura alors :
lbxproxy :63 -display pluton:0 lbxproxy :62 -display saturne:0 lbxproxy :61 -display jupiter:0 lbxproxy :60 -display neptune:0 xmx :1 -owncmap -geometry 640x480+10+10 -floor unix:63 unix:62 -view unix:61 unix:60cependant cela commence à faire beaucoup de chose à lancer, aussi est il plus commode de passer par une petite interface plus conviviale , comme
xmxlaunch
créé ( en tcl/tk ) par votre serviteur,
XMX comporte tout de même quelques limitations, par exemple il est nécessaire que chacun des postes participant aie le même nombre de couleurs. Cela peut être gênant dans certaines circonstances, aussi allons nous parler d'une autre solution possible :
pour tout savoir sur VNC , veuillez consulter : http://www.uk.research.att.com/vnc/
La grande force de ce logiciel c'est que serveurs et clients existent sur un grand nombre de systèmes, Linux bien sur , mais aussi Windows9x/NT, Solaris, Macintosh, etc.
On peut donc visualiser et travailler sur son poste de travail Linux à partir d'une station Windows, ou bien, chose beaucoup plus rare, utiliser un poste Windows à partir de sa station Linux;
Bien entendu cela marche également entre stations Unix.
la distribution de vnc comprend donc un programme serveur et un programme client (viewer), il faut lancer vnc serveur sur la station que l'on veut visualiser, puis lancer vnc viewer sur la ou les stations qui veulent avoir accès à l'environnement graphique du serveur !
Chose intéressante , il n'y a pas d'état stocké dans le viewer, on peut le quitter à tout moment , puis y revenir ( éventuellement à partir d'une autre station ) on retrouvera l'environnement tel qu'on l'avait laissé !
l'accès au serveur est protégé par un mot de passe, pour éviter tout accès non autorisé.
l'utilisation est réellement très simple, ainsi pour être client sous linux :
vncviewer -shared nom_de_machine_ou_numéro_ip:i
vncviewer
demande ensuite le mot de passe associé à ce serveur,
puis affiche la fenêtre !
Sous Windows le serveur vnc permet d'exporter le bureau de
Windows , sous Linux le serveur vnc se comporte comme un autre serveur X ,
sur lequel on peut faire tourner n'importe quel programme X11.
C'est ce serveur qui sera exporté !
on le lance par exemple ainsi :
vncserver :3 -depth 16 -geometry 800x600
vncpasswd
.
vncserver est en fait un script perl qui lance le véritable programme Xvnc.
On peut modifier ce script pour y changer la géométrie, le nombre
de couleurs et surtout les clients X11 que l'on veut lancer par défaut. il
suffit alors de lancer simplement vncserver
sans arguments.
VNC n'utilise pas le protocole X11 , il ne peut donc pas être
accéléré avec lbxproxy.
C'est néanmoins un logiciel très pratique et simple à utiliser
qui peut rendre de grands services dans une configuration réseau hétérogène.
Un petit regret cependant , la version Windows de VNC comprend
une interface graphique pour lancer le serveur et le client,
la version Linux est ligne de commande uniquement !
Avis aux développeurs, la contribution est ouverte !