Dies ist auch der Fehler, den Sie erhalten, wenn Sie versuchen, Eclipse über ssh zu starten, ohne den X-Zugriff weiterzuleiten. Das heißt, Sie haben vergessen, ssh -X [email protected]
auszuführen oder vergessen, ForwardX11 yes
einzufügen in Ihrem ~/.ssh/config
Eintrag für den Server.
Ich füge diese Antwort für alle hinzu, die bei einer Google-Suche auf diese Frage stoßen könnten, obwohl OP technisch gesehen nach einem VM-Fall fragt.
Darüber hinaus kann dies auch dadurch verursacht werden, dass die Anwendung nicht die richtige Berechtigung hat, X server
auf der Gegenstelle anzuzeigen . Dies geschieht normalerweise, wenn Sie sich als ein Benutzer bei der ssh-Sitzung anmelden und als ein anderer Benutzer einen Befehl ausführen, um eine GUI-Anwendung zu starten. Zum Beispiel, wenn Sie sich beim Remote-Server anmelden und einen sudo
ausführen Befehl. Um dieses Problem zu lösen, müssen Sie das magische Cookie des Benutzers abrufen, der sich anmeldet, und das Cookie für den Benutzer importieren, der den Befehl ausführt.
Als Benutzer, der sich beim Server anmeldet, der berechtigt ist, X
anzuzeigen , ausführen:
xauth extract cookie_file $DISPLAY
Dann als Benutzer, der versucht, die GUI auszuführen:xauth
cookie_file
zusammenführen
Sobald das Cookie in die Datei .Xauthority
des Benutzers importiert wurde Datei, sollten Sie in der Lage sein, die GUI auszuführen.
Ich denke, das ist ein Problem mit gtk. Überprüfen Sie, welche Version installiert ist.
dpkg -l libgtk[0-9]* | grep ^i
Wenn es nicht installiert ist oder die falsche Version ist, führen Sie einen sudo apt-get install gtk
aus oder machen Sie einen sudo apt-get update
.
BEARBEITEN
Das Problem war, dass SSH SSH zum Remoten in eine Linux-VM verwendete und keinen X-Server unter Windows eingerichtet hatte und die X11-Weiterleitung nicht aktiviert war. Nachdem dies geklärt wurde, sollte das OP keine Probleme mit der Ausführung von Eclipse haben.