在 Ubuntu Linux 上运行 sudo/su 应用程序时“未指定协议”

ess*_*oje 4 ubuntu ireport

我尝试使用以下命令在 Ubuntu 和 Java 7 上运行 iReport 5.6:

$ sudo iReport-5.6.0/bin/ireport
No protocol specified.
Run Code Online (Sandbox Code Playgroud)

我收到一个错误。当我尝试在没有 的情况下运行它时sudo,出现权限被拒绝错误和默认系统上的文件首选项为只读的警报。

kub*_*zyk 10

较新的系统设计不允许以 root 身份运行图形应用程序(这是 Wayland 的事情)。解决方法:

xhost si:localuser:root

sudo   your-graphical-app
Run Code Online (Sandbox Code Playgroud)

恢复默认权限:

xhost -si:localuser:root
Run Code Online (Sandbox Code Playgroud)


小智 9

您的系统中的显示端口似乎未打开或已禁用。
尝试以非 root 用户身份运行此命令:

xhost +
Run Code Online (Sandbox Code Playgroud)

然后用 root 运行应用程序。


Ale*_*rug 0

您很可能将该程序安装在根目录下。您的 X-server(图形外壳)已从您的用户处释放。当您说在程序的根目录下运行时,它会看到用户根目录下的 X=server 没有运行,并通知您这一点。

从根目录运行 Xorg 的第二个副本

https://unix.stackexchange.com/questions/108784/running-gui-application-as-another-non-root-user