Bonjour,
Je suis en train de faire un logiciel qui doit a un certain point se connecter a un serveur openvpn. Pour la première version j'ai penser tout simplement partir la commande openvpn avec exec. De toute façon c'est un VPN qui ne nécessite aucun mot de passe seulement des certificats donc aucune entrée.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
String s = null;
 
        try {
 
 
        	String Command="openvpn /home/laptop-user/Downloads/client.ovpn";
            System.out.println(Command);
        	Process p = Runtime.getRuntime().exec(Command);
 
            BufferedReader stdInput = new BufferedReader(new 
                 InputStreamReader(p.getInputStream()));
 
            BufferedReader stdError = new BufferedReader(new 
                 InputStreamReader(p.getErrorStream()));
            while ((s = stdInput.readLine()) != null) {
                System.out.println(s);
            }
 
            while ((s = stdError.readLine()) != null) {
                System.out.println(s);
            }
 
            System.exit(0);
        }
        catch (IOException e) {
 
            e.printStackTrace();
            System.exit(-1);
        }

Output ::
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
openvpn /home/laptop-user/Downloads/client.ovpn
Tue Feb 16 18:09:33 2010 OpenVPN 2.1_rc19 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Oct 13 2009
et continue de rouler...
J'ai tenter de le faire rouler dans un terminal gnome :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
String Command="gnome-terminal -e 'openvpn /home/laptop-user/Downloads/client.ovpn'";
Output:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
gnome-terminal -e 'openvpn /home/laptop-user/Downloads/client.ovpn'
Failed to parse arguments: Argument to "--command/-e" is not a valid command: Text ended before matching quote was found for '. (The text was ''openvpn')
J'ai essayer sans les ' et ca fait ouvrir et fermer une fenêtre de terminal... mais pas d'openvpn.
Je me suis amusé un peux avec exec et c'est comme si il ignorait tout après le premier argument.
Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
String Command="gnome-terminal -e 'sudo openvpn /home/laptop-user/Downloads/client.ovpn'";
le output sera
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Failed to parse arguments: Argument to "--command/-e" is not a valid command: Text ended before matching quote was found for '. (The text was ''sudo')
Un peux d'aide serais apprécier...
Merci