org.eclipse.swt.SWTError: Keine Handles mehr [gtk_init_check() fehlgeschlagen] beim Ausführen von Eclipse unter Ubuntu

org.eclipse.swt.SWTError: Keine Handles mehr [gtk_init_check() fehlgeschlagen] beim Ausführen von Eclipse unter Ubuntu

Ich habe versucht, Eclipse in meiner Ubuntu-VM mit dem folgenden Befehl zu öffnen. Und sobald ich das mache, erhalte ich immer die folgende Ausnahme -

ubuntu@username-dyn-vm1-48493:~$ eclipse
Eclipse:
An error has occurred. See the log file
/home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log.

Wenn ich also zu dieser bestimmten Protokolldatei gehe, kann ich Folgendes im Protokoll sehen -

ubuntu@username-dyn-vm1-48493:~$ more /home/ubuntu/.eclipse/org.eclipse.platform_3.8_155965261/configuration/1381367113197.log
!SESSION 2013-10-10 01:05:13.088 -----------------------------------------------
eclipse.buildId=debbuild
java.version=1.7.0_25
java.vendor=Oracle Corporation
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Command-line arguments:  -os linux -ws gtk -arch x86_64

!ENTRY org.eclipse.osgi 4 0 2013-10-10 01:05:17.555
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
        at org.eclipse.swt.SWT.error(SWT.java:4387)
        at org.eclipse.swt.widgets.Display.createDisplay(Display.java:914)
        at org.eclipse.swt.widgets.Display.create(Display.java:900)
        at org.eclipse.swt.graphics.Device.<init>(Device.java:156)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:498)
        at org.eclipse.swt.widgets.Display.<init>(Display.java:489)
        at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:716)
        at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:161)
        at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay(IDEApplication.java:154)
        at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:96)
        at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1414)

Weiß jemand, was schiefgelaufen ist? Oder was ich tun soll, um dieses Problem zu beheben? Danke..

Aktualisieren:-

Versionsdetails unten -

ubuntu@username-dyn-vm1-48493:~$ dpkg -l libgtk[0-9]* | grep ^i
ii  libgtk2.0-0:amd64                   2.24.17-0ubuntu2                    amd64        GTK+ graphical user interface library
ii  libgtk2.0-bin                       2.24.17-0ubuntu2                    amd64        programs for the GTK+ graphical user interface library
ii  libgtk2.0-common                    2.24.17-0ubuntu2                    all          common files for the GTK+ graphical user interface library

Antwort1

Dies ist auch der Fehler, den Sie erhalten, wenn Sie versuchen, Eclipse über SSH zu starten, ohne den X-Zugriff weiterzuleiten. D. h., Sie haben vergessen, es auszuführen oder in Ihren Eintrag für den Server ssh -X user@hostaufzunehmen .ForwardX11 yes~/.ssh/config

Ich füge diese Antwort für jeden hinzu, der bei einer Google-Suche auf diese Frage stößt, auch wenn der OP technisch gesehen nach einem VM-Fall fragt.

Antwort2

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 es sich um die falsche Version handelt, führen Sie einen sudo apt-get install gtkoder einen aus sudo apt-get update.

BEARBEITEN

Das Problem bestand darin, dass SSH SSH für den Remotezugriff auf eine Linux-VM verwendete und unter Windows kein X-Server eingerichtet war und die X11-Weiterleitung nicht aktiviert war. Nachdem das geklärt ist, sollte der OP keine Probleme mehr beim Ausführen von Eclipse haben.

Antwort3

Darüber hinaus kann dies auch daran liegen, dass die Anwendung nicht über die richtige Berechtigung verfügt, um auf dem Remote-Server anzuzeigen X server. 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 sudoBefehl ausführen. Um dieses Problem zu beheben, müssen Sie das Magic Cookie des Benutzers abrufen, der sich anmeldet, und das Cookie für den Benutzer importieren, der den Befehl ausführt.

Führen Sie als Benutzer, der sich beim Server anmeldet und die Anzeigeberechtigung hat X, Folgendes aus:

xauth extract cookie_file $DISPLAY

Dann als Benutzer, der versucht, die GUI auszuführen: xauthmergecookie_file

Sobald das Cookie in die Datei des Benutzers importiert ist Xauthority, sollten Sie die GUI ausführen können.

Antwort4

Wenn Sie unter Linux Gnome verwenden:

Starten Sie ein Gnome mit einer Xorg-Sitzung:

Nachdem Sie in GDM (dem Begrüßungs-/Anmeldemanager) auf Ihren Benutzernamen geklickt haben, klicken Sie auf Ihren Benutzernamen und bevor Sie das Passwort eingeben, klicken Sie auf das kleine Zahnrad und wählen Sie Gnome mit Xorg aus. Geben Sie dann Ihr Passwort ein

verwandte Informationen