MIT-MAGIC-COOKIE-1 无效错误:无法初始化 GTK+,DISPLAY 设置正确吗?

MIT-MAGIC-COOKIE-1 无效错误:无法初始化 GTK+,DISPLAY 设置正确吗?

我的 Debian 盒子 (Buster) 遇到这个问题。每当我运行命令时

sudo ./FreeFileSync

我收到以下错误:

Invalid MIT-MAGIC-COOKIE-1 key10:24:17: Error: Unable to initialize GTK+, is DISPLAY set properly?

所以我检查了DISPLAY环境变量如下:

rekotc@QSTACKER:~/FreeFileSync$ env | grep DISPLAY
WAYLAND_DISPLAY=wayland-0
DISPLAY=:0

看起来设置正确。我缺少什么?

提前致谢。

答案1

如果您使用该用户登录到计算机,john则只有该用户有权在屏幕上画画、读取键盘和鼠标移动等。即使用户也root可能不会这样做(无需做一些工作)。

任何还需要登录的用户都需要能够提供密钥。在 X11 下,可以在某个位置找到它,例如/run.这是一个例子:

john@pc:  ps aux | grep bin/X | grep -v grep
root     1125  5.0  0.5 1982242 145420 tty7   Rsl+ Mar26  96:33 /usr/bin/X -nolisten tcp -auth /run/folder/{12345678-1234-1234-1234-123456789a} -background none -noreset -displayfd 17 -seat seat0 vt7

在这里您可以看到 X 服务器是使用-auth参数作为文件启动的,在本例中/run/folder/{12345678-1234-1234-1234-123456789a}(是的,那就是一个文件)。

对于 Wayland 来说,它可能看起来像这样:

john@pc:  ps aux | grep /Xorg | grep -v grep
john     2490  2.8  0.7 628618 86908 tty2     Sl+  21:26   0:03 /usr/lib/xorg-server/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3

在这里你可以看到文件名为/run/user/1000/gdm/Xauthority.

因此,如果root想要启动带有图形界面的程序,他们需要拥有该文件,并且将在他们的~/.Xauthority文件中搜索该文件。

因此,通过复制文件进行准备:

john@pc:  sudo cat /run/user/1000/gdm/Xauthority > /root/.Xauthority

然后执行命令:

john@pc:  sudo ./FreeFileSync

这对我行得通。

相关内容