由于 DISPLAY 变量错误,无法通过命令行启动 GUI 程序

由于 DISPLAY 变量错误,无法通过命令行启动 GUI 程序

我正在使用 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文件似乎没有必要。

相关内容