executer un programme avec exec
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:
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:
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:
1 2
|
String Command="gnome-terminal -e 'openvpn /home/laptop-user/Downloads/client.ovpn'"; |
Output:
Code:
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:
String Command="gnome-terminal -e 'sudo openvpn /home/laptop-user/Downloads/client.ovpn'";
le output sera
Code:
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