J'essaie d'activer le transfert X11 par le biais du PyCharm Terminal SSH qui peut être exécuté via
"Tools -> Start SSH session..."
Malheureusement, il semble qu'il n'y ait aucun moyen de spécifier les indicateurs comme je le ferais dans mon shell pour activer le transfert X11:
ssh -X user@remotehost
Connaissez-vous un moyen intelligent d'y parvenir?
Le seul bidouillage que j’ai trouvé est d’ouvrir une connexion ssh externe avec transfert X11 et de mettre à jour manuellement la variable d’environnementDISPLAY.
Par exemple, je peux exécuter ma session SSH externe:
vincenzo@remotehost:$ echo $DISPLAY
localhost:10.0
Et ensuite, sur mon terminal PyCharm:
export DISPLAY=localhost:10.0
ou mettez à jour leDISPLAYvariable dans la configuration Run/Debug , si je veux exécuter le programme à partir de l'interface graphique.
Cependant, je n'aime vraiment pas cette solution consistant à utiliser un terminal ssh externe et à mettre à jour manuellement la variableDISPLAYet je suis sûr qu'il existe un meilleur moyen d'y parvenir!
Toute aide serait très appréciée.
P.s. Faire un alias comme:
alias ssh='ssh -X'
dans mon .bashrc ne force pas PyCharm à activer le transfert X11.
J'ai donc pu corriger jsch et tester cela, et cela a très bien fonctionné.
Pour utiliser le transfert X11 dans PyCharm, procédez comme suit:
- Installez un serveur X si vous n'en avez pas déjà un. Sous Windows, cela peut être le projet VcXsrv, sous Mac OS X, le projet XQuartz.
- Télécharger ou compiler le paquet jsch. Voir les instructions pour la compilation ci-dessous.
- Sauvegardez jsch-0.1.54.jar
dans le dossier lib
de votre pycharm et remplacez-le par la version corrigée. Démarrez Pycharm avec un environnement distant et assurez-vous de supprimer toutes les instances de la variable d'environnement DISPLAY
que vous avez éventuellement définies dans la configuration d'exécution/de débogage.
Voici ce que vous devez faire sur un système Mac OS ou Linux sur lequel Maven est installé.
wget http://sourceforge.net/projects/jsch/files/jsch/0.1.54/jsch-0.1.54.Zip/download
unzip download
cd jsch-0.1.54
sed -e 's|x11_forwarding=false|x11_forwarding=true|g' -e 's|xforwading=false|xforwading=true|g' -i src/main/Java/com/jcraft/jsch/*.Java
sed -e 's|<version>0.1.53</version>|<version>0.1.54</version>|g' -i pom.xml
mvn clean package
Cela créera jsch-0.1.54.jar
dans le dossier target
.
En parallèle, ouvrez MobaXTerm et connectez-vous lorsque la case de transfert X11 est activée. Désormais, PyCharm transmettra l'affichage via le serveur MobaXTerm X11. Ceci jusqu'à ce que PyCharm ajoute cette fonctionnalité «simple».
Définissez également la variable d’environnement DISPLAY dans la configuration d’exécution PyCharm comme suit: DISPLAY = localhost: 10.0 (Le côté droit doit être obtenu avec la commande echo $ DISPLAY du côté serveur)