Как включить пересылку X11 в сеансе PyCharm SSH?
Вопрос
Я пытаюсь включить переадресацию X11 через SSH-терминал PyCharm, который можно выполнить с помощью
"Tools -> Start SSH session..."
К сожалению, кажется, что нет способа указать флаги, как я бы сделал в своей оболочке для включения X11 Forwarding:
ssh -X [email protected]
Знаете ли вы какой-то умный способ достичь этого?
Текущее грязное решение
Единственный грязный хак, который я нашел, - это открыть внешнее ssh-соединение с пересылкой X11 и вручную обновить переменную среды DISPLAY.
Например, я могу запустить мой внешний сеанс ssh:
[email protected]:$ echo $DISPLAY
localhost:10.0
И чем установить на моем терминале PyCharm:
export DISPLAY=localhost:10.0
или обновите переменную DISPLAY в конфигурации Run/Debug, если я хочу запустить программу из графического интерфейса.
Однако мне действительно не нравится это решение использования внешнего ssh-терминала и вручную обновляет переменную DISPLAY, и я уверен, что есть лучший способ достижения это!
Любая помощь будет высоко оценена.
P.s. Создание псевдонима типа:
alias ssh='ssh -X'
в моем .bashrc не заставляет PyCharm включить пересылку X11.
Ответы
Ответ 1
Так что я смог исправить jsch и протестировать это, и это сработало отлично.
Использование пересылки X11
Чтобы использовать перенаправление X11 в PyCharm, вам нужно будет сделать следующее:
- Установите X-сервер, если у вас его еще нет. В Windows это может быть проект VcXsrv, в Mac OS X - проект XQuartz.
- Загрузите или скомпилируйте пакет jsch. Смотрите инструкции по компиляции ниже.
- jsch-0.1.54.jar
в вашей папке pycharm lib
и замените ее исправленной версией. Запустите Pycharm с удаленной средой и обязательно удалите все экземпляры переменной среды DISPLAY
вы могли установить в конфигурации run/debug.
компиляция
Вот что вам нужно сделать в системе Mac OS или Linux с установленным Maven.
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
Это создаст jsch-0.1.54.jar
в target
папке.
![X11 Enabled]()
Ответ 2
Параллельно откройте MobaXTerm и подключитесь, пока включен флажок переадресации X11. Теперь PyCharm перенаправит дисплей на хост MobaXTerm X11.