更新到 15.10 后,无法从终端运行图形应用程序:
xxx@xxx:~$ gksudo wireshark
Invalid MIT-MAGIC-COOKIE-1 key
(gksudo:5532): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo -H wireshark
[sudo] password for xxx:
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5535): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(wireshark:5535): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ wireshark
Invalid MIT-MAGIC-COOKIE-1 key
** (wireshark:5569): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(wireshark:5569): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5570): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(gedit:5570): Gtk-WARNING **: cannot open display: :0
xxx@xxx:~$ sudo gedit
Invalid MIT-MAGIC-COOKIE-1 key
** (gedit:5574): WARNING **: Could not open X display
Invalid MIT-MAGIC-COOKIE-1 keyFailed to connect to Mir: Failed to connect to server socket: No such file or directory
Unable to init server: Could not connect: Connection refused
(gedit:5574): Gtk-WARNING **: cannot open display: :0
我的小研究表明可以使用 gksudo,但它也不起作用。我也尝试过使用 xauth。问题是什么?谢谢。
答案1
以普通用户身份运行命令xhost +
。之后,尝试再次运行图形应用程序。
这将关闭 X 服务器上基于主机的访问控制。以下是手册页中的相关信息:
xhost 程序用于向允许连接到 X 服务器的列表中添加或删除主机名或用户名。
+ 每个人都可以访问,即使他们不在列表中(即访问控制已关闭)。
答案2
很奇怪但export DISPLAY=:1
有帮助。干杯。
答案3
警告:xhost 使用不当可能会无意中使 Internet 上的每个主机都拥有对 X 显示服务器的完全访问权限。
通常,除非您知道自己在做什么,否则不应关闭 X 服务器上基于主机的访问控制。相反,您应该只允许需要访问的内容。
解决方案:
执行: xhost +si:localhost:root
上述解决方案也适用于执行提升的 XWayland 应用程序的 Wayland 用户。
尝试以提升的权限运行 XWayland 应用程序时,您可能会收到以下错误:
No protocol specified
Unable to init server: Could not connect: Connection refused
Could not parse arguments: Cannot open display:
答案4
export DISPLAY=:0
这是我在 20.04 上工作的方法