![如何用 xauth 替换主机名部分(旧:如何重定向 xauth 命令的输出?)](https://linux22.com/image/6726/%E5%A6%82%E4%BD%95%E7%94%A8%20xauth%20%E6%9B%BF%E6%8D%A2%E4%B8%BB%E6%9C%BA%E5%90%8D%E9%83%A8%E5%88%86%EF%BC%88%E6%97%A7%EF%BC%9A%E5%A6%82%E4%BD%95%E9%87%8D%E5%AE%9A%E5%90%91%20xauth%20%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%EF%BC%9F%EF%BC%89.png)
我想Xauthority
使用另一个主机名部分生成一个新文件,并将其写入不同的文件名(与xauth 命令通常写入的位置xauth
相反)。~/.Xauthority
[稍后我想将此文件复制到另一台具有不同主机名的计算机。本机是一个绑定X套接字但没有安装xauth命令的容器。]
更新:xauth extract ~/.newXauthority $DISPLAY
几乎做了我想要的事情,除了它不改变主机名部分。
xauth
我在的手册页中没有找到任何有用的内容。
答案1
有 2 类主机名条目由 管理xauth
,本地名称如myhost/unix:0
,远程名称如remote:0
。后者被保存为 IP 地址,但我想您指的是本地名称。
其中的主机名部分实际上对 X11 没有任何意义,但工具可以使用它们来xdm
区分多个本地名称条目,每个本地名称条目都有不同的键。要更改此名称,只需列出所需的条目,获取行末尾的密钥,然后将其提供给add
带有新主机名的命令:
xauth -f ~/.newXauthority add newhostname/unix:0 . $(xauth list "$DISPLAY" |awk '{print $NF}')
这假设 DISPLAY 是:0
,并且您希望在新机器上具有相同的本地显示编号。