&引用;未规定任何协议”;在Ubuntu Linux上运行sudo/su应用程序时

&引用;未规定任何协议”;在Ubuntu Linux上运行sudo/su应用程序时,ubuntu,ireport,Ubuntu,Ireport,我尝试在Ubuntu和Java 7上运行iReport 5.6,使用以下命令: $ sudo iReport-5.6.0/bin/ireport No protocol specified. 我犯了一个错误。当我尝试在没有sudo的情况下运行它时,我会收到一个权限拒绝错误和一个警报,提示默认系统上的文件首选项是只读的。很可能是您在根目录下安装了该程序。您的X-server(图形shell)已从您的用户处发布。当您说在程序的根目录下运行时,它会看到用户根目录下的X=server没有运行,并通知您

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

$ sudo iReport-5.6.0/bin/ireport
No protocol specified.

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

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

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


设计上较新的系统不允许图形应用程序作为根用户(这是Wayland的事情)。解决方法:

xhost si:localuser:root

sudo   your-graphical-app
恢复默认权限:

xhost -si:localuser:root

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

xhost +

然后使用root运行应用程序

事实上,我尝试在GDM登录时选择“GNOME on Xorg”(而不是默认的Wayland),根用户界面应用程序开始像以前一样工作。这对我使用Balena的Etcher AppImage on Sway(运行Ubuntu20.10)很有效。