これは、X アクセスを転送せずに ssh 経由で Eclipse を起動しようとした場合にも発生するエラーです。つまり、ssh -X [email protected]
を実行するのを忘れていました または ForwardX11 yes
を含めるのを忘れた あなたの ~/.ssh/config
で サーバーのエントリ。
技術的には OP が VM ケースについて尋ねているにもかかわらず、Google 検索からこの質問に出くわす可能性のある人のために、この回答を追加します。
さらに、アプリケーションがリモート X server
に表示するための正しい権限を持っていないことが原因である可能性もあります。 .これは通常、あるユーザーとして ssh セッションにログインし、別のユーザーとしてコマンドを実行して GUI アプリケーションを起動した場合に発生します。たとえば、リモート サーバーにログインして sudo
を実行すると、 指図。この問題を解決するには、ログインしているユーザーのマジック Cookie を取得し、コマンドを実行しているユーザーの Cookie をインポートする必要があります。
X
に表示権限のあるサーバーにログインしているユーザーとして 、実行:
xauth extract cookie_file $DISPLAY
次に、ユーザーが gui:xauth
を実行しようとすると、 マージ cookie_file
Cookie がユーザーの .Xauthority
にインポートされると、 ファイルがあれば、GUI を実行できるはずです。
これはgtkの問題だと思います。インストールされているバージョンを確認してください。
dpkg -l libgtk[0-9]* | grep ^i
インストールされていないか、バージョンが正しくない場合は、sudo apt-get install gtk
を実行してください または sudo apt-get update
を実行します .
編集
問題は、SSH が SSH を使用して Linux VM にリモート接続し、Windows に X サーバーがセットアップされておらず、X11 転送が有効になっていないことでした。それをまっすぐにした後、OPはEclipseの実行に問題がないはずです。