Catégories
Logiciels libres Ubuntu

Vino, vnc et autres astuces

Pré-scriptum : Je tiens à rendre à César ce qui appartiens à César, et je précise donc que ce billet m’a était fortement inspiré par un trés bon article paru dans le linux pratique N°32, auxquel je me suis permis de faire quelques ajouts et modifications indispensables pour que tout se passe pour le mieux pour les utilisateurs d’ubuntu.

VNC, c’est quoi ça ?

Il faut savoir que ce sont les initials de Virtual Network Computing, et qu’il s’agit en résumé d’un protocole qui permet dese connecter sur une machine a distance, on transmet ainsi les clics de souris et les saisies claviers d’un ordinateurs A à un ordinateur B via un réseau qu’il soit interne (réseau privé) ou externe (internet).

Pour pouvoir utiliser VNC il vous suffit d’installer ce que l’on appelle une visionneuse, vous avez le choix pour part j’ai choisi xvncviewer dans sa version 4 mais il exite aussi TightVNC ou RealVNC.

Pré-scriptum : Je tiens à rendre à César ce qui appartiens à César, et je précise donc que ce billet m’a était fortement inspiré par un trés bon article paru dans le linux pratique N°32, auxquel je me suis permis de faire quelques ajouts et modifications indispensables pour que tout se passe pour le mieux pour les utilisateurs d’ubuntu.

VNC, c’est quoi ça ?

Il faut savoir que ce sont les initials de Virtual Network Computing, et qu’il s’agit en résumé d’un protocole qui permet dese connecter sur une machine a distance, on transmet ainsi les clics de souris et les saisies claviers d’un ordinateurs A à un ordinateur B via un réseau qu’il soit interne (réseau privé) ou externe (internet).

Pour pouvoir utiliser VNC il vous suffit d’installer ce que l’on appelle une visionneuse, vous avez le choix pour part j’ai choisi xvncviewer dans sa version 4 mais il exite aussi TightVNC ou RealVNC.

Pour bien commencer…

Passons tout de suite à l’installation et pour cela faite donc un petit: sudo apt-get install xvnc4viewer

Partager son bureau

Pour réaliser cette opération qui consiste à permettre à un utilisateur de pouvoir utiliser son bureau à distance, rien de plus simple. Notre GNOME étant vraiment complet on trouve dans le menu Systéme>Préférences>Bureau à distance tout ce qu’il nous faut pour réaliser notre partage simplement. On obtiens la fenêtre suivante:

vino1.png

Comme on le voit sur cette capture d’écran il nous est possible de laisser la personne voir notre bureau sans lui permettre d’interagir ou de lui donner la possibilité de prendre les commandes du bureau intégralement. Pour les gens qui le souhaite il est possible de sécuriser cette procédure soit par validation soit par un mot de passe. En ce qui concerne le test je n’ai mis aucun protocole de protection mais je vous recommande de cocher au moins la case "vous demander confirmation" pour éviter tout probléme d’intrusion.

Quelques réglages avant de s’amuser

A ce stade la plupart du temps il est possible de se diriger vers une autre machine de lancer une visionneuse VNC et de se connecter sur l’ordinaeur que l’on viens de configurer mais comme nous avons choisi Ubuntu il reste un petit réglage a effectuer.

En effet comme certains le savent déjà (les autres l’apprennent donc maintenant !!!) dans l’installation de base d’Ubuntu il existe un Pare-Feu (Iptable) qui est activer automatiquement et qui nous évite des probléme d’intrusion de petit plaisantins mal intentionnés (même si il sont rare).

Nous allons donc devoir configurer ce Pare-feu afin de lui donner la possibilité de nous laisser accéder à distance au bureau que l’on vient de partager. Pour ce faire il existe un excellent utilitaire qui se nomme Firestarter, faites donc un petit:

sudo apt-get install firestarter

Maintenant rendez vous dans Applications>Outils systéme>Firestarter, tapez votre mot de passe et vous vous retrouvez devant une fenêtre comme celle-ci:

Il vous suffit de vous diriger vers l’onglet politique pour découvrir la fenêtre suivante:

Cliquez sur Ajouter une régle et dans le champ Port inscrivez 5900 automatiquement il reconnait que c’est le port utilisé par le protocole VNC est il l’inscrit au dessus, vous pouvez donc cliquer sur ajouter au bas de la fenêtre.

Une derniére vérification s’impose avant de continuer, dirigez vous vers le menu déroulant ou vous pouvez lire Politique du traffic entrant et choisissez Politique du traffic sortant. Vérifiez que l’option Permissif par défaut est bien cochée puis cliquez sur Appliquer Politique.

Vous pouvez maintenant fermer Firestarter.

Prendre le pouvoir…

Nous venons de finaliser les étapes les plus complexe il est temps de commencer à s’amuser un peu en prenant le contrôle. Rien de plus simple donc allez vers une des machines de votre réseau sur laquelle vous avez déja installé une visionneuse (pour ceux qui n’ont pas suivi là-bas au fond je vous rappelle:

sudo apt-get install xvnc4viewer

est votre sauveur…) et ouvrez un terminal, il vous suffit de taper

xvnc4viewer 192.168.0.1:0

si la machine que vous voulez controler à pour adresse IP 192.168.0.1. A partir de ce moment vous êtes devenu un magicien et vous pouvez donc déclencher à distance n’importe qu’elle applications, naviguer a transfert le systême de fichier, en bref tout faire comme si vous étiez réellement sur cette machine au détails prêt que c’est un peu plus lent.

Mais a quoi ca sert alors !!!

A la voilà la question qui fache !!! alors pour votre informations personnelles voici quelques bonne raisons pour utiliser VNC:

  • Dépanner de chez vous bien au chaud un copain chez qui vous venez d’installer ubuntu et qui est vraiment en galére avec l’install de ses codecs pour lire les divX.
  • Dépanner un pote qui est sous windows et qui pense que parceque vous utilisez Linux vous êtes une super star de l’informatique, car oui VNC est indépendant de la plate-forme et vous pouvez prendre le contrôle de machine sous Windows ou MacOS.
  • Envoyer un mail super urgent de votre PC qui est bureau alors que vous êtes déja sous votre couette.
  • lancer une sauvegarde de votre /home sur votre PC fixe qui est dans la chambre alors que vous êtes dans le salon avec votre portable en wifi.
  • Faire tourner en bourrique votre copine qui essaie de cliquer sur le lien d’une page web en étant dans le canapé avec votre portable.
  • Et encore plein d’autres trucs inutiles donc indispensable !!!

Pour finir un dernier petit truc bien marrant.

Plusieurs d’entre vous ont certainement un PC fixe et un portable n’avez vous jamais remarquer combien il deviens vite inconfortable de taper sur un clavier de portable ? ou d’utiliser ce sacré pad qui est tout sauf naturel ?

J’ai une solution pour vous, Faites sur vos machines un petit

sudo apt-get install x2vnc

Mettez vous sur votre machine de bureau, lancez un terminal et tapez donc

x2vnc 192.168.0.2:0 -east

En supposant bien sur que votre portable ai pour adresse 192.168.0.2 et que vous ayez réglez les paramétres du pare-feu que comme précédemment. Bougez alors votre curseur vers la droite de votre écran… comme par magie celui apparait sur la gauche de votre écran de portable !!!!

Vous pouvez à ce moment utiliser votre souris et votre clavier de fixe comme ci il étaient branché à votre portable, ah la magie du VNC !!!

Amusez vous ensuite a changer le paramétre -east en -west, -north, -south ( je vous laisse découvrir ce que cela change mais je pense que vous avez déja tous compris. Pour les ceux du fond qui n’écoute toujours rien pensez à la roe des vent ca risque de vous aider !!!)

Sur ces bonnes paroles je vous laisse et retourne vous mitonner un prochain billet sympathique.

18 réponses sur « Vino, vnc et autres astuces »

Salut,
merci beaucoup pour ces vos informations trés interessantes…
Je suis un tout nouvel adepte d’ubuntu et je découvre avec plaisir cet os.
Merci

Bien entendu c’est d’ailleurs fait pour cela à la base mais pour que cela marche il faut l’adresse ip de la machine et il est préférable que celle ci soit fixe.

Merci pour le tuto, je vais faire des tests entre mon portable boulot qui est sous XP et mon PC perso sous Ubuntu !

Je pense que cela tombe sous le sens mais je suppose également que le serveur et le client doivent posséder une connexion haut débit ou est-ce que le serveur peut être en bas débit ?

J’avais testé la distribution Mandrake (à l’époque) et bien Ubuntu est vraiment une belle vitrine pour le libre !
J’ai encore des soucis avec le son (y en a pas et les tuto de ploum n’ont rien donné) mais je ne désespère pas.

Bon dimanche.

Bravo pour ce blog super sympa !
J’ai réussi à faire fonctionner Vino sur plusieurs machines du réseau.
Ce sont 5 ordinateurs sous ubuntu Dapper, un portable (iBook sous Dapper également) ainsi qu’un autre poste distant.
Bon, eh bien vive freetux 🙂

Merci beaucoup pour ces encouragements, ils tombent à point nommés car en ce moment mon nouveau boulot et la fatigue avait presque eu raison de mon envie de blogguer.
Je suis content de voir que mes tutos servent à d’autre utilisateurs averti ou débutant et je vais donc me remettre au travail pour pndre de nouveau billets.

Pour répondre à ton interrogation FRed le type de connexion internet n’empêchera pas la communication entre les deux machines mais tu risques d’avoir des temps de réponses vraiment bas si une des deux machines est sur une connexion RTC, si tu n’utilise que la console ca devrait aller mais je pense qu’a ce moment il est préférable de te connecter en ssh

aller je vais me faire un petit tour du eb avant de me lancer dans la rédaction de mes prochains billets.

Ayai, j’ai réussi à contrôler mon PC ubuntu avec mon portable XP mais en local (j’ai utilisé l’adresse IP donnée en DHCP par la livebox)

Maintenant pour un contrôle via internet :je dois configurer le pare-feu de la live-box pour le port VNC, je suis sur la page "liste des politiques du firewall" de ma sagem. On me demande de choisir l’interface de transmission et l’interface de réception avec comme choix pour chacune : eth0, usb0, ph0, wlan0 et ppp0. Que dois-je choisir ?
Une fois que ce sera configuré, et sachant l’adresse IP donné par mon FAI en DHCP est-ce que cela suffit ?

Merci pour tes bons conseils Freetux et bon courage pour ton nouveau boulot

je ne sais pas réellement à quoi correspond ce paramétre mais je pense que cela dois dépendre de la facon dont tu es connectés à ta livebox. si tu es connecté par un cable réseau choisis eth0, si tu es branché en USB alors c’est usb0 le bon choix enfin si tu es connecté en wifi alors le meilleur choix est wlan0. Pour les autre réponses je ne pense pas que tu es besoins de les choisir.

Merci pour ce tuto de classe mondiale!

J’ai une petite question: quelqu’un connait-il un moyen pour l’accès à distance soit possible lorsque que l’ordinateur distant soit "log out"?

Il me semble que pour cela il faut en fait utiliser le principe des serveurs-clientX qui en fait te permet depuis une machine de faible capasité de te logguer sur une machine qui fait office de serveur, je vais essayer d’en apprendre un peu plus afin de faire un tuto sur le sujet.

merci pour tes renseignements peu-on considerer que vnc bien configuré peut servir pour controler un pc dépourvu (volontairement) de clavier-souris-visu ?

Hug!
Parfois on peut avoir intéret à "faire passer" ton VNC via un tunel ssh
cela permet de faire ses petites affaires avec un minimum de sécurité 😀

Donc on commence par créer son pipe ssh :
ssh monidentifiant@address-machine-distante -L 5908:address-machine-distante:5901
(donc là tu si tu regarde par le trou du port 5908 tu vois le port 5901 de la machine distante … )
Ici les num de port sont completement arbitraires mais il faut que ton serveur vnc sur la machine distante pointe vers le port 5901;

ensuite tu laisse ta console ouverte (en ssh sur la machine distante) et tu lance VNC
ensuite pour l’adresse du serveur tu met 127.0.0.1:8 (pour le port 5908) tu cliques sur ok
tu tappes le mot de passe de ta session distante et hop le tour est joué!

A+ et coucou de la Réunion!!!
Zac

Pour renchérir sur ZAC… VNC est un protocole non sécurisé destiné surtout a être utilisé tel que seulement entre 2 machines d’un réseau local bien sécurisé.

Faire sortir ça à l’extérieur via internet sans le tunnelliser via ssh est assez suicidaire!

Pour compléter et corriger ce qui est dit ci dessus, VNC utilises les ports 59xx (xx = N° du DISPLAY).

Pour empêcher toute utilisation directe (sans ssh), il est impératif de configurer le firewall intégré à linux pour ne laisser passer que le traffic ssh (port 22), via firestarter par exemple. C’est dispo dans tous les gestionnaires de paquets.

Si la distrib linux utilisée ne l’intègre pas par défaut, il faut aussi ajourer ssh_server (certaines distros n’intègrent par défaut que le client) sur la machine a controller en plus de firestarter. Reste plus, une fois ceci configuré, qu’a activer le bureau à distance (serveur vnc, vino sous gnome par exemple) sur cette même machine.

Ensuite, il faut 2 terminaux sur la machine de controle distante:

Dans le premier on peut taper (-L pour rediriger les ports display local 1 vers le display distant 0 dans le tunnel ssh, -C pour activer la compression a la volée des données VNC dans le tunnel):
ssh -L 5901:localhost:5900 -C <nom_user>@<machine_distante>

On le laisse actif le temps de la session…

Dans le second, taper (on utilises le display local 1, correspondant a la configuration du tunnel ssh pour se connecter au display distant 0, par défaut):
vncviewer localhost:1

Et roule ma poule… En plus, on résoud 2 problèmes: La sécurité et le fait que la compression économise la bande passante dont VNC est friand!

Mais ce truc sert surtout a montrer comment faire un truc a ses vieux parents à 600km qui découvrent l’informatique de chez soi (a condition d’avoir bien configuré leur machine a la dernière visite!)… Pour administrer une machine distante, ssh classique (mode texte) ou avec l’option -X (et eventuellement -C pour la compression) avec X11 forwarding (pour pouvoir travailler en lançant des applis graphiques a la console) est bien mieux (attention, sous debian et clones, il faut modifier le /etc/sshd_config pour autoriser le X11 forwarding).

Ah, si, pour finir: Ne pas oublier l’ouvrir le port 22 si le modem inclut un firewall intégré. Note: Ca oblige souvent a passer en IP fixe, à moins d’être certain que la même machine obtiendra toujours la même IP du DHCP (souvent le cas si y’en a qu’une seule sur le réseau… sinon faire gaffe a l’ordre de mise en route).

Pour les fournisseurs d’accès pas en IP fixe, il peut être utile d’ajouter un client dyndns (ou d’utiliser celui du modem, y’en a souvent un… l’avantage de l’avoir sur l’ordi étant que c’est un excellent antivol si on se fait piquer son PC: un coup de ping de <mon_sous_domaine_a_moi>.dyndns.org et un whois de l’IP récupérée va griller tout utilisateur qui connectera l’objet du vol au net!)… L’ouverture du compte de base est gratuit, on selectionne un nom de sous domaine acheté par dyndns et on se sert dans les noms pas encore pris. Ensuite, à chaque connection et périodiquement, le client contacte dyndns et lui dit a quelle IP se trouve <mon_sous_domaine_a_moi>.dyndns.org

Ca aide a trouver l’ordi à mémé sur le net… sinon faut passer un coup de fil et lui demander de la donner en allant la lire sur son modem/box (pas forcément aisé!).

A+

J’ai un pc ubuntu et un pc windows le pc ubuntu est dans ma résidence secondaire , je désirerais le controler de ma résidence principale , j’ai donc suivi ce tuto mais je n’arrive pas à me connecter !
Ps : mon pc de ma résidence principale est sous windows vista

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *