Bonjour à tous,
Je tente de me connecter en SSH (via JSCH) à un serveur tournant sous Centos, afin de lancer une application.
La connexion se passe bien, mais je n'ai pas l'affichage de mon application, alors que le process est bien lancé sur le serveur
J'ai fais pas mal de recherche sur le net, et certaines personnes rajoutaient des options au channel et à la session :
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 String commandToLaunch ="bash -c \"source $HOME/.profile; launchApp.sh\""; try { //SSH variable connexion JSch jsch = new JSch(); //host + ip adress + port sessionSequence = jsch.getSession(username, ipAdress, 22); //connexion password + configuration sessionSequence.setPassword(password); sessionSequence.setConfig("StrictHostKeyChecking", "no"); sessionSequence.connect(); //execute script executeLaunchChannel = (ChannelExec) sessionSequence.openChannel("exec"); //Execute command executeLaunchChannel.setCommand(commandToLaunch); executeLaunchChannel.setInputStream(System.in); executeLaunchChannel.setOutputStream(System.out); executeLaunchChannel.setErrStream(System.err); executeLaunchChannel.setXForwarding(true); InputStream in = executeLaunchChannel.getInputStream(); //execution executeLaunchChannel.connect(); }
Mais même avec ces options, je n'ai pas de display.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 [...] sessionSequence.setX11Host("IP_Serveur_Centos"); sessionSequence.setX11Port(6000); //choisi par mes soins, bien que j'en ai essayé plusieurs [...] executeLaunchChannel.setPty(true); executeLaunchChannel.setPtyType("xterm"); executeLaunchChannel.setAgentForwarding(true);
J'ai aussi tenté de rajouté le display directement dans les commandes que je passe, mais sans success
Enfin, au niveau de la configuration du serveur, certains liens/threads évoquaient la configuration du service SSH sur le serveur. Mais de ce point de vue là, d'autres applications lancés à distance (mais pas via JAVA/JSCH) s'affichent bien sur le poste client.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2String commandToLaunch ="bash -c \"source $HOME/.profile; export DISPLAY=IP:6000.0; launchApp.sh\"";
Ce qui me fait dire, peut être à tort, que cela vient de mon code.
Avez-vous quelques idées ?
Merci
Partager