【发布时间】:2011-02-27 07:08:54
【问题描述】:
你好 我在 android 上使用 ubuntu(使用 chroot) 我正在尝试执行 xev (将音量按钮更改为 CTRL) 但每次我试图打开 xev 时, 它说 无法打开显示器'' 或者 无法打开显示“127.0.0.1:0.0” (当我用导出更改 DISPLAY 变量时)
谁能告诉我如何解决这个问题? 我在谷歌上找不到官方错误页面 你的小建议对我很有帮助 问候。 泰允。
【问题讨论】:
你好 我在 android 上使用 ubuntu(使用 chroot) 我正在尝试执行 xev (将音量按钮更改为 CTRL) 但每次我试图打开 xev 时, 它说 无法打开显示器'' 或者 无法打开显示“127.0.0.1:0.0” (当我用导出更改 DISPLAY 变量时)
谁能告诉我如何解决这个问题? 我在谷歌上找不到官方错误页面 你的小建议对我很有帮助 问候。 泰允。
【问题讨论】:
DISPLAY=127.0.0.1:0.0 表示使用 TCP/IP 连接到显示器0.0。发行版已经五年或更长时间没有配置 X 服务器来监听 TCP,因为这是不必要的安全风险;如果您真的希望使用 TCP 而不是 Unix 域套接字,则需要从执行 X 时删除 -nolisten。
但是你真的需要它来监听 TCP 的连接吗?似乎不太可能 - Unix 域套接字(例如,/tmp/.X11-unix/X0)更为常见,只需使用 DISPLAY=:0.0 来请求 Unix 域套接字。您可能需要将套接字链接到您的 chroot 环境,这取决于客户端和服务器从哪里开始。
一旦您可以从 X 客户端联系 X 服务器,您还需要使用 xauth(1) 对其进行身份验证。这很烦人 :) 这也是为什么每个人都只使用 SSH X11 转发 (ssh -X) 而不是手动处理 TCP 侦听和xauth 的一个最流行的原因。 (顺便说一句,你能不能在不同端口上的 chroot“内部”运行一个 sshd,这样你就可以轻松地免费获得所有这些魔法?:)
【讨论】:
/path/to/chroot/etc/ssh/sshd_config 以在端口 2222 上启用 sshd 吗?然后当您ssh -X localhost:2222 时,您将连接到在 chroot 内部运行的sshd,希望 chroot 内部 X11 的 Unix 域套接字“正常工作”。
ssh localhost -p 2222。