昨天我摆弄了 Xauth,因为在我的 Steam 客户端日志中,有一些关于无法使用 X 进行身份验证的错误:
Could not connect to X session manager: Authentication Rejected, reason : None of the authentication protocols specified are supported and <garbage>
我无法解决这个问题,但我设法打破了我的登录过程。\o/
当我输入密码时,它会尝试切换到我的用户会话,然后返回到登录屏幕。
我通过切换到终端并执行以下操作找到了一种解决方法:
> DISPLAY=:0; export DISPLAY
> xauth list
> xauth add $DISPLAY . <hexkey from xauth list>
当我然后切换回 gui 并登录时,它可以工作。
值得注意的是,当我执行终端操作时未设置 DISPLAY,我认为这就是问题所在。我不记得为了删除 DISPLAY env 所做的任何更改,我认为它应该由 X 设置,但它不再是。我不确定我是否需要做这xauth add ...
件事,或者只是设置 DISPLAY env 已经足够了 - 必须尝试一下。
xauth list
在我做任何事情之前的输出是这样的:
myhost/unix:0 MIT-MAGIC-COOKIE 2b3996b81997d587e6f7f4348a11df3d
我登录后,它看起来像这样:
myhost/unix:0 MIT-MAGIC-COOKIE-1 c71526c38a544cb15dc15875a4992486
myhost/unix:0 MIT-MAGIC-COOKIE 2b3996b81997d587e6f7f4348a11df3d
我在桌面上使用 Xfce,将 lightdm 用作登录管理器,我的系统是 Xubuntu 19.10。
知道我该如何解决这个问题吗?:| 非常感谢你!
编辑:
根据我的 bash_history,这些是我执行的命令:
ls ~/.Xauthority -la
xauth list
echo $DISPLAY
xauth list
xauth add $DISPLAY - `mcookie`
xauth list
mcookie
xauth --help
xauth remove $DISPLAY - `mcookie`
xauth list
xauth add $DISPLAY "MIT-MAGIC-COOKIE" `mcookie`
xauth list
xauth list|grep `uname -n`
xauth extract - $ DISPLAY | sudo -iu steam xauth merge -
.Xauthority
属于我的用户和组,它的权限为 0600。所有命令都以我的用户身份执行,而不是 root。我认为它适用于我的解决方法,因为我添加了一个 MIT-MAGIC-COOKIE-1?
根据 steeldriver 的建议,解决方案是删除混乱的~/.Xauthority
文件。这样做并重新启动后,一切都恢复正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句