GNU/Linux >> Linux の 問題 >  >> Linux

org.eclipse.swt.SWTError:ubuntu で Eclipse を実行中に [gtk_init_check() が失敗しました] ハンドルがありません

これは、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の実行に問題がないはずです。


Linux
  1. rootなしのPodmanをroot以外のユーザーとして実行する

  2. AWSUbuntuインスタンスでrootとしてSSHを有効にする方法

  3. Ssh – Ssh / scp / sftpユーザーをディレクトリに制限しますか?

  1. Suオプション–別のユーザーとしてコマンドを実行しますか?

  2. SSHで実行中のユーザーのプロセスを表示するにはどうすればよいですか?

  3. Ubuntu でユーザーに ssh アクセスを許可する方法

  1. 暗号化されたホームディレクトリを持つUbuntuシステムへのauthorized_keysを使用したSSH?

  2. 別のユーザーとして Apache を実行する

  3. 別のユーザーとして ssh する方法