¿Cómo habilitar el reenvío de X11 en la sesión PyCharm SSH?
x11-forwarding (1)
La pregunta
Estoy intentando habilitar el reenvío de X11 a través del terminal PyCharm SSH, que se puede ejecutar a través de
"Tools -> Start SSH session..."
Desafortunadamente, parece que no hay forma de especificar las banderas como lo haría en mi caparazón para habilitar el reenvío X11:
ssh -X user@remotehost
¿Conoces alguna manera inteligente de lograr esto?
Solución sucia actual
El único truco sucio que encontré es abrir una conexión ssh externa con reenvío X11 y actualizar manualmente la variable de entorno DISPLAY .
Por ejemplo, puedo ejecutar en mi sesión ssh externa:
vincenzo@remotehost:$ echo $DISPLAY
localhost:10.0
Y que configurar en mi terminal PyCharm:
export DISPLAY=localhost:10.0
o actualice la variable DISPLAY en la Configuración de ejecución / depuración , si deseo ejecutar el programa desde la GUI.
Sin embargo, realmente no me gusta esta solución de usar un terminal ssh externo y actualizar manualmente la variable DISPLAY y ¡estoy seguro de que hay una mejor manera de lograr esto!
Cualquier ayuda sería muy apreciada.
Ps haciendo un alias como:
alias ssh=''ssh -X''
en mi .bashrc no obliga a PyCharm a habilitar el reenvío de X11.
Así que pude arreglar jsch y probar esto y funcionó muy bien. Esto es lo que debe hacer a continuación en un sistema Mac OS o Linux.
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/jcarft/jsch/*.java
sed -e ''s|<version>0.1.53</version>|<version>0.1.53</version>|g'' -i pom.xml
mvn clean package
Esto creará jsch-0.1.54.jar
en target
carpeta de target
. Debe copiar esto en la carpeta lib
su pycharm. Una vez que haga eso y cree una conexión, tendrá el X11 habilitado. Asegúrese de hacer una copia de seguridad del archivo original