为什么我的主目录中有这么多.Xauthority。*文件?

我在联想X220上使用Ubuntu 13.04。

为什么我的主目录中有这么多.Xauthority。*文件? 即

.Xauthority .Xauthority.0JW6UW .Xauthority.2HWRVW .Xauthority.2TA6VW .Xauthority.49F8VW .Xauthority.4E27UW .Xauthority.7CLTVW .Xauthority.8JGGXW .Xauthority.96SAVW .Xauthority.AOUFVW .Xauthority.ASDOVW .Xauthority.CGVJXW .Xauthority.E0ZSVW .Xauthority.E5VZWW .Xauthority.FE64UW .Xauthority.FIHDWW .Xauthority.HL45VW .Xauthority.HYCCVW .Xauthority.ILUEWW .Xauthority.JXJHVW .Xauthority.K1QJXW .Xauthority.KXSOVW .Xauthority.LEKEVW .Xauthority.M48WVW .Xauthority.M6QTVW .Xauthority.MW6NWW .Xauthority.N57TWW .Xauthority.O5HAWW .Xauthority.OIC5VW .Xauthority.P2RPVW .Xauthority.Q0FRVW .Xauthority.QW01WW .Xauthority.RDW5WW .Xauthority.T0TLWW .Xauthority.TSO4WW .Xauthority.U6R9VW .Xauthority.V3KAWW .Xauthority.W8Z1WW .Xauthority.XDLGVW .Xauthority.XOOHWW.Xauthority.XUICVW

它们都是零字节,除了第一个,在整个地方都有时间戳。

这些是什么,是否可以安全删除?

这些是X客户端的“cookie”,允许连接到X服务器(显示器)。 它在wiki中非常清楚地解释了:

xauth是一种在X服务器(显示器)上实施访问控制的机制。 启动X服务器时,会给它一个随机生成的“cookie”。 此cookie将写入由X服务器正在运行的会话的用户拥有和读取的文件。 没有其他用户可以读取该文件。 启动X客户端(应用程序)时,它会尝试读取并使用cookie来向服务器validation自身。 如果此“xauth”身份validation失败,则不允许应用程序连接到服务器并在X显示器上显示窗口。

命令

$ xauth list

将显示当前会话可用的cookie:

 selene/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b localhost.localdomain/unix:0 MIT-MAGIC-COOKIE-1 c2438e7c2858f142e0b81d6b4fe3867b 

传统上,每个用户的cookie的位置是〜/ .Xauthority:X服务器在启动时将其cookie写入该文件,xauth(和其他X客户端)在该文件中查找身份validationcookie。

资料来源: https : //wiki.ubuntu.com/RemoteXHowTo

如图所示,似乎是lightdm的一个错误,它不会删除旧的cookie并污染/home目录。

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023

事实上,我有这个问题,也有.goutputstream文件,如下面这个bug所示:

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/984785

然后是的,你可以删除它们,因为如果你没有连接到X服务器的cookie,你将创建一个新的。

似乎是一个人们使用lightdm时遇到的错误

所以请点击此链接,当他们解决时,您将得到答案。

https://bugs.launchpad.net/ubuntu/+source/lightdm/+bug/1175023

所以安装gdm窗口管理器可能会避免这个问题。 由于我没有问题,我无法测试。

对于那些 – 像我一样 – 希望摆脱用户目录中的这种“污染”,临时解决方案可能会放置类似下面的(可执行的)脚本文件(假设您是root之后的第一个用户 )进入/etc/cron.daily目录:

 #!/bin/bash USER="$(users | awk -F ' ' '{print $2}')" ls /home/"$USER"/.Xauthority.* > /home/"$USER"/.Xauthority-Files.txt NFILES="$(grep -c Xauthority /home/"$USER"/.Xauthority-Files.txt)" LOG="/home/"$USER"/.Xauthority-Files.log" echo -e "$(date +"%x %R"): "$NFILES" .Xauthority.* files deleted" >> "$LOG" rm -f /home/"$USER"/.Xauthority.* rm -f /home/"$USER"/.Xauthority-Files.txt exit 0 

注意:此更新的脚本会保留名为“.Xauthority-Files.log”的日志文件,以便您可以跟进最近的更新是否已结束此错误,然后在不再需要时删除该脚本。

注意:

@ user196886建议另一个脚本 ,说“ 我不想用USER变量 搞砸 ,我只想要图形登录用户的主目录(UID> 500),家里有/ home我需要权限删除其他用户文件,我很高兴看到我要删除的内容并将手动确认。我的日志文件名为Xa.log,$ h是主目录,$ ba basename缩写用于登录和删除。

建议的脚本是:

 for h in `awk -F: '$3 >500 && /home/ {print $6}' /etc/passwd`; do b=$h/.Xauthority;[ -f $b.* ] && ls -l $b.* >>Xa.log && sudo rm -i $b.*; done 

我最近在我的主目录中发现了许多.Xauthority.ZY43OW以及许多.goutputstream.DF55OZ文件(6个字符的文件扩展名当然都不同)。 我在文本编辑器中打开了一个,它包含一个中文字符文本字符串。 我尝试通过翻译来运行它,它说了一些关于佃农的事情。 我怀疑这些文件代表了一些控制我的PC的尝试。 我想不出为什么我的PC上会隐藏许多中文字符串的任何其他原因。