我的Debian盒子(Buster)有这个问题。每当我运行命令
sudo ./FreeFileSync
我得到以下错误:
Invalid MIT-MAGIC-COOKIE-1 key10:24:17: Error: Unable to initialize GTK+, is DISPLAY set properly?
因此,我检查了显示环境变量如下:
rekotc@QSTACKER:~/FreeFileSync$ env | grep DISPLAY
WAYLAND_DISPLAY=wayland-0
DISPLAY=:0
似乎是正确的设置。我遗漏了什么?
提前谢谢。
发布于 2020-03-26 10:03:33
如果您使用用户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
这对我有用。
https://unix.stackexchange.com/questions/575055
复制相似问题