Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 18/09/2010, à 12:41

CKDevelop

Assistux

Bonjour à tous,

Dans le cadre d'un projet professionnel j'ai voulus mettre en place une application qui me permettrai de prendre le contrôle à distance d'un PC via le serveur VNC X11VNC pour assister mes clients.

Je ne voulais pas que mes clients est à taper une ligne de commande ou avoir à faire à une interface toutes en anglais.

J'ai donc commencer une petite application qui facilite grandement l'utilisation et l'activation du serveur.

946226Capture_Assistance_a_distance_1.png

Je me retrouve actuellement confronter à un problème, quand je lance mon client VNC en locale il fonctionne parfaitement, mais à l'extérieur je n'arrive pas à y avoir accès.

j'ai coder l'interface en FreePascal Lazarus, mais les commandes lancer sont en Shell:

procedure Tfenetre.CloseX11VNC;
begin
  //regles IPTABLES
  shellufw := TProcess.Create(nil);
  shellufw.CommandLine := 'gksudo -m "Le paramétrage du Par-feu nécessite les privilèges administrateur" ufw delete allow 5909';
  shellufw.Execute;
  shellufw.free;
  //X11VNC
  shellquit:= TProcess.Create(nil);
  shellquit.CommandLine := 'killall x11vnc';
  shellquit.Options := shell.Options + [poWaitOnExit, poUsePipes];
  shellquit.Execute;
  shellquit.Free;
  shell.Free;
end;

procedure Tfenetre.RunX11VNC;
var gen:string;
begin
     randomize;
  shell := TProcess.Create(nil);
  output := TStringList.Create;
  shell.CommandLine := '/usr/share/assistux/ip';
  shell.Options := shell.Options + [poWaitOnExit, poUsePipes];
  shell.Execute;
  output.LoadFromStream(shell.Output);
  ID.Text:=output.strings[0];
  output.Free;
  shell.Free;
  for i:=0 to 5 do begin
      gen:=gen+inttostr(random(9));
  end;
  PASSWD.Text:=gen;
  //regles IPTABLES
  shellufw := TProcess.Create(nil);
  shellufw.CommandLine := 'gksudo -m "Le paramétrage du Par-feu nécessite les privilèges administrateur" ufw allow 5909';
  shellufw.Execute;
  shellufw.free;
  //X11VNC
  shell := TProcess.Create(nil);
  shell.CommandLine := 'x11vnc --passwd '+gen+' --autoport 5909 --ncache 10';
  shell.Execute;
end;

Avant que le serveur se lancer il créé une règle dans le pare-feu:

gksudo -m "Le paramétrage du Par-feu nécessite les privilèges administrateur" ufw allow 5909

ensuite il lance le serveur X11VNC avec la commande suivante:

x11vnc --passwd mdp_généré --autoport 5909 --ncache 10

une fois que l'on ferme l'application il arrête le serveur et nettoie la règle créée préalablement avec:

gksudo -m "Le paramétrage du Par-feu nécessite les privilèges administrateur" ufw delete allow 5909

on arrête le serveur VNC

killall x11vnc

je pense qu'il me manque un truc pour donner l'accès aux personne extérieur.
et surtout je pense qu'il y a moyen de faire plus propre et plus sure.

la source est dispo ici:
http://dc186.2shared.com/download/QRI_nBqZ/src_assistuxtar.bz2?tsid=20100918-073253-486f4020

Cette application me permettrais de pouvoir me passer de cette affreux Teamviewer.

J'ai opter pour X11VNC car il me semble plus rapide et moins gourmands en ressources que Vino. et surtout plus flexible car il me permet de pouvoir lancer le serveur avec un mot de passe temporaire et généré automatiquement.

Quand on clique sur "Nouvelle Session" il arrête le serveur, regénére unn mot de passe et relance le serveur avec le nouveau mot de passe.

CKDevelop ++

Dernière modification par CKDevelop (Le 18/09/2010, à 13:11)


Home -> Debian Jessie & Home server -> Debian Wheezy
Office -> Ubuntu 14.04 & Office server -> Ubuntu 12.04
Embedded -> Raspbian / Debian Wheezy

Hors ligne

#2 Le 27/09/2010, à 11:16

jeepy

Re : Assistux

Bonjour,

je viens de tomber sur votre post, pour information il existe un super logiciel, il s'appelle gitso, voici son adresse: http://code.google.com/p/gitso/

Bonne utilisation

Jérôme


From Ubuntu 6.06 LTS - Membre attitré de la brigade des J (J suis sur Gnome-Shell et J suis bien)
GNOME 4.0 = GNOME OS == http://linuxfr.org/news/guadec-2012-en- … t-gnome-os
John Mc Cann, avenir GNOME == http://www.generation-linux.fr/index.ph … -de-GNOME3

Hors ligne

#3 Le 27/09/2010, à 12:26

freechelmi

Re : Assistux

Hello , je ne sur pas sur de comprendre. Tu n'arrives pas a te connecter a ton serveur VNC , meme après avoir redirigé les ports sur ta Box ? ( ou pas si la machine a une Ip publique)


car le gros problème de tes clients c'est qu'en dehors d'un eventuel support Upnp sur leur routeur principale, tu as 99% de chances que le port xxxx de VNC ne soit pas dispo.

le seule solution pour resoudre ça est le support des connections inverses avec VNC

Hors ligne