I have a machine with Ubuntu 20.04 as OS and Jetbrains IntellijIdea for Java development. I connect to my machine with xrdp, but when I am to run IntellijIdea as root on my machine I got following message:
`No protocol specified
Start Failed Failed to initialize graphics environment
java.awt.AWTError: Can't connect to X11 window server using ':10.0' as the value of the DISPLAY variable. at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:107) at java.base/java.security.AccessController.doPrivileged(AccessController.java:318) at java.desktop/sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:62) at java.desktop/sun.awt.PlatformGraphicsInfo.createGE(PlatformGraphicsInfo.java:36) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:103) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.(GraphicsEnvironment.java:88) at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:116) at java.desktop/sun.awt.X11.XToolkit.(XToolkit.java:514) at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:40) at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:599) at com.intellij.idea.StartupUtil$initAwtToolkit$1$1.invokeSuspend(StartupUtil.kt:424) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:570) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:750) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:677) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:664) Suppressed: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit at java.desktop/sun.awt.PlatformGraphicsInfo.createToolkit(PlatformGraphicsInfo.java:40) at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:599) at java.desktop/java.awt.Toolkit.getEventQueue(Toolkit.java:1498) at java.desktop/java.awt.EventQueue.isDispatchThread(EventQueue.java:1103) at java.desktop/javax.swing.SwingUtilities.isEventDispatchThread(SwingUtilities.java:1493) at java.desktop/javax.swing.text.StyleContext.reclaim(StyleContext.java:473) at java.desktop/javax.swing.text.StyleContext.addAttribute(StyleContext.java:330) at java.desktop/javax.swing.text.html.StyleSheet.addAttribute(StyleSheet.java:607) at java.desktop/javax.swing.text.StyleContext$NamedStyle.addAttribute(StyleContext.java:1558) at java.desktop/javax.swing.text.StyleContext$NamedStyle.setName(StyleContext.java:1368) at java.desktop/javax.swing.text.StyleContext$NamedStyle.(StyleContext.java:1315) at java.desktop/javax.swing.text.StyleContext.addStyle(StyleContext.java:125) at java.desktop/javax.swing.text.StyleContext.(StyleContext.java:105) at java.desktop/javax.swing.text.html.StyleSheet.(StyleSheet.java:167) at com.intellij.ide.ui.html.GlobalStyleSheetHolder.(GlobalStyleSheetHolder.kt:34) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at com.intellij.idea.StartupUtil$preloadLafClasses$1.invokeSuspend(StartupUtil.kt:523) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) at kotlinx.coroutines.internal.LimitedDispatcher.run(LimitedDispatcher.kt:42) at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:95) ... 4 more
Your JRE: 17.0.6+10-b829.9 amd64 (JetBrains s.r.o.) /opt/idea-IU-231.9011.34/jbr `
I tried to run other apps as root like nautilus with following command
sudo nautilus but I received
`** (org.gnome.Nautilus:11509): WARNING **: 13:10:08.024: Error on getting connection: Failed to load SPARQL backend: Error spawning command line ?dbus-launch --autolaunch=a4ecd6e0b63d4eb2b78a1a4f9c470d3c --binary-syntax --close-stderr?: Child process exited with code 1
No protocol specified
Unable to init server: Could not connect: Connection refused
(org.gnome.Nautilus:11509): Gtk-WARNING **: 13:10:08.046: cannot open display: :10.0 `
when I run both applications as normal user and without sudo, they run correctly but with sudo they fail, could anyone help?
The issue you're experiencing is related to running graphical applications, such as IntelliJ IDEA and Nautilus, with root privileges. By default, the X server (responsible for handling graphical display) does not allow connections from the root user for security reasons. So you have to figure out how to run graphical applications with root privileges.