如何在PyCharm SSH会话中启用X11转发?

Gen*_*olo 18 ssh pycharm x11-forwarding

问题

我正在尝试通过PyCharm SSH终端启用X11转发,这可以通过执行

"Tools -> Start SSH session..."
Run Code Online (Sandbox Code Playgroud)

不幸的是,似乎没有办法像我在shell中那样指定标志来启用X11 Forwarding:

ssh -X user@remotehost
Run Code Online (Sandbox Code Playgroud)

你知道一些聪明的方法吗?


当前的脏解决方案

我发现唯一的脏黑客是用X11转发打开外部ssh连接,而不是手动更新环境变量DISPLAY.

例如,我可以在我的外部ssh会话上运行:

vincenzo@remotehost:$ echo $DISPLAY
localhost:10.0
Run Code Online (Sandbox Code Playgroud)

而不是在我的PyCharm终端上设置:

export DISPLAY=localhost:10.0
Run Code Online (Sandbox Code Playgroud)

如果我想从GUI运行程序,请更新运行/调试配置中DISPLAY变量.

但是,我真的不喜欢使用外部ssh终端并手动更新DISPLAY变量的解决方案,我确信有更好的方法来实现这一点!

任何帮助将非常感激.


Ps制作别名:

alias ssh='ssh -X'
Run Code Online (Sandbox Code Playgroud)

在我的.bashrc中没有强制PyCharm启用X11转发.

Tar*_*ani 7

所以我能够修补 jsch 并对其进行测试,并且效果很好。

使用 X11 转发

您需要执行以下操作才能在 PyCharm 中使用 X11 转发:
- 如果您还没有 X 服务器,请安装 X 服务器。在 Windows 上,这可能是 VcXsrv 项目,在 Mac OS X 上可能是 XQuartz 项目。
-下载或编译 jsch 包。请参阅下面的编译说明。
- 备份jsch-0.1.54.jar到 pycharm 的lib文件夹中,并用打过补丁的版本替换它。使用远程环境启动 Pycharm,并确保删除DISPLAY您可能在运行/调试配置中设置的环境变量的任何实例。

汇编

以下是您需要在安装了 Maven 的 Mac OS 或 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/jcraft/jsch/*.java
sed -e 's|<version>0.1.53</version>|<version>0.1.54</version>|g' -i pom.xml
mvn clean package
Run Code Online (Sandbox Code Playgroud)

这将jsch-0.1.54.jartarget文件夹中创建。

X11 启用


oez*_*nsi 5

2020 年更新: 我找到了一个非常简单的解决方案。可能是由于更新了 PyCharm 版本 (2020.1)。

  1. 确保X11Forwarding在服务器上启用:/etc/ssh/sshd_config设置中
X11Forwarding yes
X11DisplayOffset 10
X11UseLocalhost no
Run Code Online (Sandbox Code Playgroud)
  1. 在客户端(对我来说是 MacOS):~/.ssh/config设置中
ForwardX11 yes
Run Code Online (Sandbox Code Playgroud)
  1. 在 PyCharm 中取消选择Include system environment variables. 这解决了DISPLAY变量被设置为系统变量的问题。 在此处输入图片说明

编辑:如下图所示,它有效。例如,我使用了 DeepLab 的 PyTorch 实现并可视化来自 PASCAL VOC 的示例图像: 在此处输入图片说明

  • PyCharm“SciView”不使用 X11 转发:/sf/ask/3383439741/ 如果您想,它可能会很有用只能查看图像,但不能用于其他 X windows 应用程序! (3认同)