Pages : 1
#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.
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
Pages : 1