我正在使用 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
并重新启动,但问题仍然存在。
答案1
问题在于shell 配置文件DISPLAY
错误地设置了:0.0
。一旦我删除了它,就可以再次从 shell 启动程序了。
您可以使用此命令搜索所有默认 shell 配置文件:
grep "DISPLAY" ~/.bashrc ~/.profile ~/.bash_profile ~/bash.login \
~/.bash_aliases /etc/bash.bashrc /etc/profile \
/etc/profile.d/* /etc/environment 2> /dev/null
确实有两个 Xorg 进程,分别是预期行为,所以这本身不应该是一个问题。
此外,该.Xauthority
文件似乎没有必要。