xauth 无法写入我的 .Xauthority 文件

xauth 无法写入我的 .Xauthority 文件

我使用窗口管理器 BSPWM 运行 Arch Linux(所以没有 DE),最近我的电脑出现了问题.X权威文件。

我无法再启动我的 X 服务器,因为它无法写入我的.X权威文件。当我尝试删除我的.X权威文件希望 arch 创建一个新的.X权威当我重新登录时为我创建一个新的文件.X权威未创建文件。

我尝试过重新创建.X权威手动文件并更改其权限,但仍然不起作用。另外,我还有一个.Xauthority-n文件位于我的主目录中,我不确定它的作用 - 但删除后,当我重新登录时它会重新出现。

当。。。的时候.Xauthority-n.X权威文件存在,在 startx 上它给我这个错误:

xauth: unable to write authority file ~/.Xauthority-n

我不确定为什么它不尝试使用常规.X权威文件。

如何让 xauth 能够写入我的 .Xauthority 文件? .Xauthority-n 文件的用途是什么以及如何摆脱它?

答案1

xauth更新.Xauthority文件时,它最初会将其新版本写入为.Xauthority-n.一旦文件完全写入,就会将其移动/重命名为.Xauthority,导致旧版本的文件同时被删除。

这依赖于这样一个事实:单个 POSIX 兼容文件系统中的重命名/移动操作应该是原子:操作永远不能中途停止,但要么会成功完成,要么旧文件将保持不变。

如果该xauth命令发现该.Xauthority-n文件已经存在,它会认为这意味着xauth命令的另一个实例已经在进行一些更改,并且拒绝执行任何操作。因此,这也可以保护文件免受因xauth同一用户同时运行多个实例而导致的损坏。

文件保留在主目录中的事实.Xauthority-n表明,较早的副本xauth在操作过程中因某种原因而在执行重命名/移动操作之前被终止。

您应该注销 X GUI,然后远程登录或使用基于文本的虚拟控制台,然后删除两个都 .Xauthority .Xauthority-n。之后,GUI 登录应该可以正常工作,除非您有其他问题阻止系统.Xauthority在您的主目录中创建/覆盖文件。

相关内容