目次
1. vcxsrv をインストールしたら、設定のために XLauncher を開きます。
4. opencv の下位バージョンを選択し、再度ダウンロードします。
1. 問題の説明
使用環境:
- 学校のリモート Ubuntu サーバー
- xshell
- パイチャーム
学校のサーバーに接続し、OpenCV と cv で imshow メソッドを使用する必要があるコードを実行すると、画像表示ボックスがポップアップ表示されます. 実行時に次の問題が発生します。
情報を調べたところ、リモート接続サーバーが画像を返せなかったことが原因であることがわかりました。
- サーバー端末にいくつかのパッケージをインストールするには sudo コマンドを使用する必要がありますが、私は学校のサーバーであり、root 以外のユーザーは sudo コマンドを使用できません。
- それから XManager や MobaXterm などのグラフィック リターンをサポートするリモート ソフトウェアをダウンロードしたいと言ったのですが、フォローアップ操作もサーバーで sudo コマンドを構成する必要があり、操作できません。
- pyqt5とopencvはアンインストール、インストール済みで、バージョンが変わると動かなくなります。
その後、リモート サーバーからの画像の返送を完了することができるフリー ソフトウェア vcxsrv を見つけ、問題を解決しました。
二、解決策
vcxsrv を使用して、リモート サーバーの表示内容をローカル ウィンドウに表示します。
1. vcxsrv をインストールしたら、設定のために XLauncher を開きます。
Linux グラフィカル インターフェイスへの VcXsrv+putty リモート アクセス - vcxserv_jdzzgtc のブログ - CSDN ブログ
- xlauncherを開いた後、複数のウィンドウを選択し、以下の表示番号を必ず
- クライアントなしで開始を選択します
- 最後の項目にもチェックを入れる
- 終了
- 完了後、XManager は小さなウィンドウとしてバックグラウンドで実行されます
2.xshell を構成する
- セッションを右クリックし、プロパティを選択します
- X11 を X DISPLAY(D):localhost:0.0 に転送するトンネルを選択します。
3. plugs フォルダを移動する
(私もこの手順を実行しましたが、この手順が機能したかどうかはわかりません。この手順を無視して試してみてください)
プログラムの実行中に、Qt プラットフォーム プラグインを初期化できなかったため、このアプリケーションを開始できませんでした。
4. opencv の下位バージョンを選択し、再度ダウンロードします。
3.4.8.29 をダウンロードしました
5. サーバー端末操作
echo $DISPLAY を使用してポートを表示し、サーバー端末で export DISPLAY=XX.0 を使用します。私の場合は 11.0 です。
エコー $DISPLAY
エクスポート DISPLAY=localhost:XX.0
6.pycharm操作
実行にDISPLAY環境変数を追加->構成の編集->pycharmの環境変数、私のものはDISPLAY = localhost:11.0です。
7. 正常に実行されました! ! !
サーバーの再起動後、再度接続できない問題が発生する場合は、接続しているディスプレイのローカルホストが変更されている可能性があるため、手順5に従って設定をやり直してください。
3. 問題のまとめ
この問題を最終的に解決するのに 1 日かかりました。とても感動的です。フリー ソフトウェア vcxsrv を使用して、xshell、サーバー、および pycharm を構成します。