org.eclipse.swt.SWTError: No hay más identificadores [gtk_init_check() falló] al ejecutar eclipse en ubuntu

org.eclipse.swt.SWTError: No hay más identificadores [gtk_init_check() falló] al ejecutar eclipse en ubuntu

Estaba intentando abrir eclipse en mi VM ubuntu con el siguiente comando. Y tan pronto como lo hago, siempre aparece la siguiente excepción:

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.

Entonces, cuando fui a ese archivo de registro en particular, esto es lo que puedo ver en el registro:

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)

¿Alguien sabe qué mal ha pasado? ¿O qué se supone que debo hacer para solucionar este problema? Gracias..

Actualizar:-

Detalles de la versión a continuación:

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

Respuesta1

Este también es el error que obtienes si intentas iniciar Eclipse a través de ssh sin reenviar el acceso X. Es decir, olvidó ejecutar ssh -X user@hostu olvidó incluirlo ForwardX11 yesen su ~/.ssh/configentrada para el servidor.

Estoy agregando esta respuesta para cualquiera que pueda toparse con esta pregunta al realizar una búsqueda en Google, aunque técnicamente OP esté preguntando sobre un caso de VM.

Respuesta2

Creo que esto es un problema con gtk. Comprueba qué versión está instalada.

dpkg -l libgtk[0-9]* | grep ^i

Si no está instalado o es una versión incorrecta, haga un archivo sudo apt-get install gtko haga un archivo sudo apt-get update.

EDITAR

El problema era que SSH estaba usando SSH de forma remota a una máquina virtual Linux y no tenía un X-Server configurado en Windows y no tenía el reenvío X11 habilitado. Después de aclarar eso, el OP no debería tener ningún problema al ejecutar Eclipse.

Respuesta3

Además, esto también puede deberse a que la aplicación no tenga la autorización correcta para mostrarse en el control remoto X server. Esto suele suceder cuando inicia sesión en la sesión ssh como un usuario y ejecuta un comando como otro usuario para iniciar una aplicación GUI. Por ejemplo, cuando inicia sesión en el servidor remoto y ejecuta un sudocomando. Para resolver este problema, deberá obtener la cookie mágica del usuario que inicia sesión e importar la cookie para el usuario que ejecuta el comando.

Como usuario que inicia sesión en el servidor que tiene autoridad para mostrar X, ejecute:

xauth extract cookie_file $DISPLAY

Luego, cuando el usuario intenta ejecutar la interfaz gráfica de usuario: xauthfusionarcookie_file

Una vez que la cookie se importa al archivo . Xauthorityarchivo, debería poder ejecutar la GUI.

Respuesta4

Si está ejecutando Linux con Gnome:

Inicie un Gnome con una sesión Xorg:

Después de hacer clic en su nombre de usuario en GDM (el administrador de bienvenida/inicio de sesión), haga clic en su nombre de usuario y antes de ingresar la contraseña, haga clic en el pequeño engranaje y seleccione Gnome con Xorg, luego ingrese su contraseña.

información relacionada