私はX11転送を有効にしようとしていますPyCharmSSHターミナルを介して実行できます
"Tools -> Start SSH session..."
残念ながら、X11転送を有効にするためにシェルで行うようにフラグを指定する方法はないようです。
ssh -X user@remotehost
これを達成するための賢い方法を知っていますか?
私が見つけた唯一のダーティーハックは、X11転送で外部ssh接続を開き、手動で環境変数を更新することです[〜#〜] display [〜#〜]。
たとえば、外部sshセッションで実行できます。
vincenzo@remotehost:$ echo $DISPLAY
localhost:10.0
そして私のPyCharmターミナルで設定するより:
export DISPLAY=localhost:10.0
または、必要に応じて、Run/Debug Configurationの[〜#〜] display [〜#〜]変数を更新しますGUIからプログラムを実行します。
ただし、私は本当に好きではありません外部ssh端末を使用して手動で[〜#〜] display [〜#〜]変数を更新するこのソリューションでは、これを達成するためのより良い方法があることを確認してください!
どんな助けでも大歓迎です。
追伸次のようなエイリアスを作成します。
alias ssh='ssh -X'
私の。bashrcでは、PyCharmがX11転送を有効にすることは強制されません。
だから私はjschにパッチを当ててこれをテストすることができ、それはうまくいきました。
PyCharmでX11転送を使用するには、以下を実行する必要があります。
-Xサーバーがない場合はインストールします。 WindowsではこれはVcXsrvプロジェクト、Mac OS XではXQuartzプロジェクトです。
- ダウンロード または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
が作成されます。
並行して、 MobaXTerm を開き、X11転送チェックボックスが有効になっている間に接続します。これで、PyCharmはMobaXTerm X11サーバーを介してディスプレイを転送します。 PyCharmがこの「シンプルな」機能を追加するまで、これが続きます。
また、PyCharm実行構成でDISPLAY環境変数を次のように設定します:DISPLAY = localhost:10.0(右側は、サーバー側でコマンドecho $ DISPLAYを使用して取得する必要があります)