Start SSH session..." 不幸的是,似乎没有办法像我在 shell 中那样-6ren">
gpt4 book ai didi

ssh - 如何在 PyCharm SSH session 中启用 X11 转发?

转载 作者:行者123 更新时间:2023-12-02 07:31:57 26 4
gpt4 key购买 nike

问题

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

执行
"Tools -> Start SSH session..."

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

ssh -X user@remotehost

您知道实现这一目标的一些巧妙方法吗?

<小时/>

当前脏解决方案

我发现的唯一肮脏的黑客行为是使用 X11 转发打开外部 ssh 连接,然后手动更新环境变量DISPLAY

例如,我可以在外部 ssh session 上运行:

vincenzo@remotehost:$ echo $DISPLAY
localhost:10.0

然后在我的 PyCharm 终端上设置:

export DISPLAY=localhost:10.0

或者如果我想从 GUI 运行程序,则更新运行/调试配置中的DISPLAY变量。

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

任何帮助将不胜感激。

<小时/>

P.s.创建一个别名,例如:

alias ssh='ssh -X'

在我的.bashrc中,不会强制 PyCharm 启用 X11 转发。

最佳答案

所以我能够修补 jsch 并测试它,效果很好。

使用X11转发

您需要执行以下操作才能在 PyCharm 中使用 X11 转发:
- 如果您还没有 X 服务器,请安装 X 服务器。在 Windows 上,这可能是 VcXsrv 项目,在 Mac OS X 上,可能是 XQuartz 项目。
-Download或编译 jsch 包。请参阅下面的编译说明。
- 在 pycharm 的 lib 文件夹中备份 jsch-0.1.54.jar 并将其替换为修补后的版本。使用远程环境启动 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

这将在 target 文件夹中创建 jsch-0.1.54.jar

X11 Enabled

关于ssh - 如何在 PyCharm SSH session 中启用 X11 转发?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41892039/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com