VNC ou Virtual Network Computing en 3 étapes

Cette solution est à utiliser si on a besoin d'accéder à des applications installées sur les serveurs du CMI/LATP.

La définition est à prendre ici: http://fr.wikipedia.org/wiki/Virtual_Network_Computing
Cette méthode a été testée derrière une borne Wifi et une connexion ADSL 2M, et la fluidité est très bonne.
En attendant de faire une documentation plus simple, voici les notes que j'utilise:

Pour aller vite

  • recuperer ce script et modifier la ligne 9 (USER doit contenir votre login)
  • un client VNC doit etre installe sur votre machine

Laurent Battisti a développé un programme pour faciliter l'utilisation du VNC du CMI sur les macs:

il suffit d'utiliser la commande vncpasswd sur protis.univ-mrs.fr

Details

pour utiliser Vnc, il faut procéder en 3 étapes:

  1. Sur calypso (ou mombasa): lancer le programme vncserver (cf ci-dessous)
  2. Sur votre machine perso: établir un tunnel ssh entre votre machine personnelle et calypso (ou mombasa)
  3. Sur votre machine perso: lancer le programme client vnc (vncviewer ou Chicken of the VNC)

depuis le CMI

à ne faire qu'une seule fois:
Exécuter les commandes suivantes, en utilisant le Copier-Coller de la souris:

  • créer le dossier .vnc:
    mkdir .vnc
  • recopier le fichier xstartup dans .vnc/
  • donner les droits d'exécution:
    chmod a+x .vnc/xstartup
  • créer un mot de passe: utiliser la commande vncpasswd

à faire si vncserver n'est pas déjà lancé:

  • lancer la commande suivante:
    vncserver -name gnome -geometry 1280x1024


Par exemple:

calypso-henry% vncserver -name gnome -geometry 1280x1024
New 'gnome' desktop is calypso:52
Starting applications specified in /home/henry/.vnc/xstartup
Log file is /home/henry/.vnc/calypso:52.log

retenez le chiffre affiché, il correspond au DISPLAY à fournir au client vnc. Ici, c'est 52, mais ça peut être un chiffre quelconque supérieur à 0

depuis votre machine personnelle

Lorsque vous êtes sur votre machine personnelle (linux ou macosx), il faut commencer par se connecter sur les serveurs du CMI, avec la commande suivante:

moi@ma_machine_a_ma_maison:~$ ssh henry@protis.univ-mrs.fr

Soit vous arrivez sur calypso, soit sur mombasa. A partir de là, il faut lancer vncserver comme expliqué ci-dessus

Pour des raisons de sécurité, il faut utiliser un tunnel sécurisé entre le poste personnel et calypso/mombasa, et donc créer ce tunnel

henry@ma_machine_a_ma_maison:~$ ssh -c blowfish -N -f henry@PARAM1 -L 5901:PARAM2:PARAM3 sleep 60

:!: Attention :!: Dans la commande ci-dessus, les paramètres sont à adapter à votre environnement:

  • PARAM1: vaut 147.94.64.48 pour calypso et 147.94.64.49 pour mombasa
  • PARAM2: calypso (resp. mombasa) si, pendant l'étape 1, vous avez lancé vncserver sur calypso (resp. mombasa)
  • PARAM3: 5900 + DISPLAY, ce chiffre est donné au moment du démarrage du programme vncserver.

Exemples:

ssh -c blowfish -N -f laurent@147.94.64.48 -L 5901:calypso:5952 sleep 60

ssh -c blowfish -N -f henry@147.94.64.49 -L 5901:mombasa:5903 sleep 60

Enfin, on lance le viewer (sur le Mac, on utilisera Chicken of the VNC), dans lequel apparaîtra une fenêtre terminal de calypso/mombasa.

henry@ma_machine_a_ma_maison:~$ vncviewer localhost:1

Le mot de passe attendu est celui que vous avez défini avec la commande vncpasswd ci-dessus, et n'a rien à voir avec votre mot de passe habituel.


A partir de maintenant, on peut lancer firefox, texmaker, maple, matlab (après s'être connecté sur slatp ou shrek).

:!: On peut grouper l'étape 2 et 3 grâce à la commande suivante:

vncviewer -via 147.94.64.48 calypso:<DISPLAY>

Ne pas oublier d'arrêter le programme serveur sur calypso, avec la commande:

vncserver -kill :52

:!:Attention au chiffre, prendre celui donné au lancement de la commande :!:
Les programmes serveurs seront automatiquement supprimés dans la nuit de vendredi à samedi, ou plus souvent, si cela s'avère nécessaire. Donc, pensez à les arrêter si vous ne les utilisez pas.

Le problème classique est d'oublier d'arrêter le programme Firefox qui tourne dans Vnc, et lorsqu'on se connecte à nouveau sur son poste au CMI (sunray), on aura un message indiquant que Firefox est déjà lancé. Dans ce cas:

  • on tue firefox:
    pkill -9 firefox

Retrouver le numero de display (DISPLAY):

ps -fu <mon-login> | grep Xvnc