我使用的是 Ubuntu 18.10,无法通过命令行启动 GUI 程序。这适用于subl
(对于 Sublime Text)和 Firefox。尝试通过 CLI 启动 Firefox 时;它打印:Invalid MIT-MAGIC-COOKIE-1 key
。
我的环境显示:
➜ echo $DISPLAY
:0.0
我确实有一个包含该 cookie 的文件:
➜ echo $XAUTHORITY
/run/user/1000/gdm/Xauthority
➜ cat /run/user/1000/gdm/Xauthority
voltaireMIT-MAGIC-COOKIE-1OZ��8�ص������v�voltaireMIT-MAGIC-COOKIE-1OZ��8�ص������v%
还:
➜ xauth list
voltaire/unix: MIT-MAGIC-COOKIE-1 4f5abfd438eb88d8b586f0fbad8aee76
#ffff#766f6c7461697265#: MIT-MAGIC-COOKIE-1 4f5abfd438eb88d8b586f0fbad8aee76
似乎有两个 Xorg 进程正在运行:
➜ ps aux | grep xorg
root 1400 0.0 0.1 213748 48068 tty1 Sl+ 09:29 0:00 /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/121/gdm/Xauthority -background none -noreset -keeptty -verbose 7 -core
root 4701 1.9 0.5 658612 195732 tty2 Sl+ 09:30 1:50 /usr/lib/xorg/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 7 -core
我之前安装了 lightdm 来修复登录问题,并且我的系统上安装了当前的 NVIDIA 图形驱动程序。我想这很相关?
当我运行时:
DISPLAY=:1 subl
有用!
我能做些什么来解决这个问题?
更新
我删除~/.Xauthority
并重新启动,但问题仍然存在。
问题是shell 配置文件
DISPLAY
错误地设置了它。:0.0
一旦我删除了它,就可以再次从 shell 启动程序。您可以使用此命令搜索所有默认的 shell 配置文件:
确实有两个 Xorg 进程,这是预期的行为,所以这本身应该不是问题。
此外,该
.Xauthority
文件似乎没有必要。