看来此错误源于〜/ .ICEauthority文件。您可以使用命令iceauth list
列表输入。在我的情况下,包括旧主机名localhost
,将其替换为您的旧主机名。
例如iceauth list | grep localhost
:
XSMP“” unix / localhost @ localdomain:/tmp/.ICE-unix/2640 MIT-MAGIC-COOKIE-1 7035f3aebe650bd72315b76819267a9d
XSMP“” local / localhost @ localdomain:@ / tmp / .ICE-unix / 2640 MIT-MAGIC-COOKIE -1 abe16eba34a1cf69087aff88bdd14a1a
ICE“” local / localhost @ localdomain:@ / tmp / .ICE-unix / 2640 MIT-MAGIC-COOKIE-1 1e69a0d48b1f1375167c79bffbbfa06e
ICE“” unix / localhost @ localdomain:/tmp/.ICE-unix/2 MAGIC-COOKIE-1 f91ab2525bf0000159161db41df1aa0c
2种选择:
- 简单-删除〜/ .ICEauthority文件,然后重新启动计算机或显示管理器。〜/ .ICEauthority将使用您的新主机名重新生成。
- 高级-
iceauth remove
用于删除不良条目,然后重新启动显示管理器(14.04默认= lightdm)。只需将上面grep中的行复制粘贴到以下示例中,即可删除XSMP和ICE协议条目。
iceauth -v remove netid=unix/localhost@localdomain:/tmp/.ICE-unix/2640
iceauth -v remove netid=local/localhost@localdomain:@/tmp/.ICE-unix/2640
iceauth list | grep localhost
#确认已将其删除。
sudo restart lightdm
#@ 查看此答案以获取更多详细信息,或者这对您不起作用
进一步阅读man iceauth
:
清单
在权限文件中列出(打印)条目。您可以如下指定可选修饰符,以指定列出哪些条目。
列表[protocol_name] [protocol_data] [netid] [authname]
去掉
从授权文件中删除条目。
删除[protocol_name] [protocol_data] [netid] [authname]
来源:
https : //superuser.com/questions/714015/accidentally-deleted-iceauthority-and-xauthority-files
https://codeyarns.com/2015/03/23/cannot-connect-to-non-local-host -error /
https://linux.die.net/man/1/iceauth
如何从命令行重新启动X Window Server?