X11 跨主机共享:FamilyWild 的妙用
Sharing an X11 Server Across Hosts with FamilyWild
在容器、chroot 或 SSH 环境中运行 X11 应用时,你是否常被 Authorization required 错误困扰?问题往往出在 .Xauthority 文件中的 hostname 不匹配。文章揭示了只需修改一个二进制字段,将 FamilyLocal 改为 FamilyWild,即可让 Cookie 匹配任意主机名。这种方法比使用 xhost + 更安全,因为它保留了 Cookie 验证机制,仅移除了主机名限制。通过简单的 sed 命令生成便携式 .Xauthority 文件,即可轻松实现跨环境 X11 转发,同时保持必要的安全隔离。
xhost + 虽然能让一切运行,但它完全关闭了基于主机的访问控制,让任何客户端都能无需 Cookie 连接显示,而 FamilyWild Cookie 则能在移除主机名限制的同时,依然要求客户端出示密钥,从而锁住大门。