使用 gksudo 运行时,Eclipse Juno 不会打开 GUI Java 应用程序

使用 gksudo 运行时,Eclipse Juno 不会打开 GUI Java 应用程序

我在 Ubuntu 12.04 上安装了 Eclipse Juno。

当我使用 sudo 从命令行运行时,一切都正常。但是,当我按照随处可见的建议使用 gksudo 运行时,每当我使用 GUI 运行任何程序时,都会出现以下异常:

No protocol specified
No protocol specified
Exception in thread "main" java.lang.InternalError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable.
    at sun.awt.X11GraphicsEnvironment.initDisplay(Native Method)
    at sun.awt.X11GraphicsEnvironment.access$100(X11GraphicsEnvironment.java:52)
    at sun.awt.X11GraphicsEnvironmNent$1.run(X11GraphicsEnvironment.java:155)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:131)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
    at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:89)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:169)
    at java.awt.Toolkit$2.run(Toolkit.java:834)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826)
    at java.awt.Toolkit.getEventQueue(Toolkit.java:1689)
    at java.awt.EventQueue.invokeLater(EventQueue.java:1032)
    at javax.swing.SwingUtilities.invokeLater(SwingUtilities.java:1267)
    at codetests.DialogTest.main(DialogTest.java:72)

我需要做哪些更改才能使用 gksudo 运行并使其正常工作?

答案1

从来没有理由以管理员权限启动 Eclipse。

将您的 Eclipse 应用程序文件夹放入/opt并授予读取权限。

sudo chmod -R +r /opt/eclipse

所有用户文件、工作区等都存储在您的主文件夹中。

有关 Eclipse 的更多信息这里

相关内容