设置 XAUTHORITY 环境变量的正确位置是什么?

soc*_*soc 5 xubuntu xorg login lightdm pam-environment

我正在尝试删除主目录中的 .Xauthority 文件。

arch wiki 建议定义

export XAUTHORITY="$XDG_RUNTIME_DIR"/Xauthority

但既不将此行放在 .profile 中也不添加

XAUTHORITY DEFAULT=${XDG_RUNTIME_DIR}/Xauthority

到 .pam_environment 就可以了:

  • 使用 .profile,登录停止工作,我返回到登录屏幕。
  • 使用 .pam_environment ,环境变量似乎没有设置,因为echo $XAUTHORITYreturns /home/user/.Xauthority

请注意,它ICEAUTHORITY DEFAULT=${XDG_RUNTIME_DIR}/ICEauthority按预期工作。

soc*_*soc 3

似乎 LightDMXAUTHORITY通过设置自己的值来干扰环境变量。

虽然我没有找到一种方法来防止这种情况,但我能够通过添加来实现我的目标

[LightDM]
user-authority-in-system-dir=true
Run Code Online (Sandbox Code Playgroud)

/etc/lightdm/lightdm.conf

此后,环境变量的值已更改

$ echo $XAUTHORITY 
/var/run/lightdm/user/xauthority
Run Code Online (Sandbox Code Playgroud)

这解决了原来摆脱 的问题$HOME/.Xauthority


Mic*_*pso 0

在 Raspbian(Raspberry Pi)中,编辑 lightdm.conf 没有帮助,所以我只是创建了一个符号链接:

cd ~
ln -s /tmp/.Xauthority .Xauthority
Run Code Online (Sandbox Code Playgroud)

这似乎运作良好。