![xauth 无法写入我的 .Xauthority 文件](https://linux22.com/image/121950/xauth%20%E6%97%A0%E6%B3%95%E5%86%99%E5%85%A5%E6%88%91%E7%9A%84%20.Xauthority%20%E6%96%87%E4%BB%B6.png)
我使用窗口管理器 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
在您的主目录中创建/覆盖文件。