在 14.04 上更改主机名后,我无法启动 unetbootin,尝试从 bash 启动应用程序返回:
_IceTransSocketUNIXConnect: Cannot connect to non-local host OLDHOSTNAME
_IceTransSocketUNIXConnect: Cannot connect to non-local host OLDHOSTNAME
Qt: Session management error: Could not open network socket
来自hostname cat /etc/hostname和cat /etc/hosts所有的输出确认主机名是正确的。自从进行更改以确认加载了新设置的所有内容后,我还重新启动了系统。
我不知所措,非常感谢任何帮助!另外,任何人都可以提供一些关于 IceTransSocketUNIXConnect 是什么以及它是如何工作的背景知识吗?是不是有点像温索克?
看来这个错误源于 ~/.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 -1 abe16eba34a1cf69087aff88bdd14a1a
ICE “”本地/本地主机@ LOCALDOMAIN:@ / TMP / .ICE-UNIX / 2640 MIT-MAGIC-COOKIE-1 1e69a0d48b1f1375167c79bffbbfa06e
ICE “” UNIX /本地主机@ LOCALDOMAIN:/tmp/.ICE-unix/2640 MIT- MAGIC-COOKIE-1 f91ab2525bf0000159161db41df1aa0c
2个选项:
iceauth remove用于删除错误条目,然后重新启动您的显示管理器(14.04 默认值 = lightdm)。只需将上面 grep 中的行复制粘贴到下面的示例中,它就会删除 XSMP 和 ICE 协议条目。
iceauth -v remove netid=unix/localhost@localdomain:/tmp/.ICE-unix/2640iceauth -v remove netid=local/localhost@localdomain:@/tmp/.ICE-unix/2640iceauth list | grep localhost # 确认它们已被移除。sudo restart lightdm# @see this answer了解更多详情,或者如果这对你不起作用进一步阅读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?
| 归档时间: |
|
| 查看次数: |
4532 次 |
| 最近记录: |