J'ai créé un utilisateur depuis la console dans mon Ubuntu Destkop 14.04 LTS, en procédant comme suit:
sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser
J'ai utilisé cet utilisateur pour faire toutes sortes de choses, parce que je l'utilise pour faire des choses de programmation liées à hadoop, donc je sais que ça fonctionne bien, toujours en les utilisant depuis la console et en exécutant des choses sans interface graphique . Et je veux ouvrir, avec cet utilisateur, une Eclipse (Luna), alors, je fais ceci:
su hduser
cd /opt/eclipse
./eclipse
Mais cela me jette une erreur:
!MESSAGE Application error
!STACK 1
org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
at org.eclipse.swt.SWT.error(SWT.java:4467)
at org.eclipse.swt.widgets.Display.createDisplay(Display.java:934)
at org.eclipse.swt.widgets.Display.create(Display.java:918)
at org.eclipse.swt.graphics.Device.<init>(Device.java:157)
at org.eclipse.swt.widgets.Display.<init>(Display.java:514)
at org.eclipse.swt.widgets.Display.<init>(Display.java:505)
at org.eclipse.ui.internal.Workbench.createDisplay(Workbench.java:732)
at org.eclipse.ui.PlatformUI.createDisplay(PlatformUI.java:162)
at org.eclipse.ui.internal.ide.application.IDEApplication.createDisplay$
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEAppl$
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHand$
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runAppl$
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(E$
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j$
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.j$
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl$
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcce$
at java.lang.reflect.Method.invoke(Method.java:606)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)
Mais, si j'ouvre eclipse depuis la console en utilisant mon "utilisateur principal" (identique à celui que j'ai utilisé pour me connecter à mon compte ubuntu), l'éclipse s'ouvre parfaitement.
C'est pourquoi je soupçonne que la différence existant entre les deux utilisateurs ne me laisse pas faire cela, et je soupçonne que le problème est que hduser n'a pas les configurations appropriées pour être utilisé dans un environnement graphique. Je suis juste? Peut-on modifier hduser de manière à ce que je puisse ouvrir eclipse?
chmod -R 777 /opt/eclipse/*
. Le problème demeure.