我有一个相当奇怪的设置,我正在尝试开始工作。
我在容器中运行了 Ubuntu 安装(通过 Proxmox)。主机是CentOS。两台服务器都没有运行 X 实例。
我的主机物理插入显示器。我的最终目标是能够ssh -X
从主机到容器并运行,xbmc
以便它显示在我的显示器上。
关于此设置的一些问题:
- 我
X
也需要安装在主机上,对吗? - “显示”到底是什么(如
:0
和:1
),我需要设置它们吗? - 我想做的事情可能吗?
答案1
- 我也需要在主机上安装 X,对吗?
您需要在主机上安装 X 服务器仅有的,并且需要运行。您将需要容器中的一些 X 客户端库(安装xbmc
可能会将这些库作为依赖项拉入),但不需要 X 服务器。
- “显示”到底是什么(如:0 和:1)?我需要设置它们吗?
显示是由特定服务器管理的不同(假设)屏幕,DISPLAY
环境变量告诉 X 客户端如何连接。ssh -X
自动设置;你不需要做任何事。
ssh
无需任何参与,直接使用 X 就可以做到这一点。在这种情况下,您需要进行DISPLAY
适当的设置。在这些情况下,除了通过加密连接来降低资源成本之外,这对您来说没有什么特别的优势。
如果您没有ssh
从主机的 X 服务器环境内部运行该命令,您将需要DISPLAY=:0
在该端显式设置(或类似)以便ssh
可以看到它。
- 我想做的事情可能吗?
是的,这几乎就是X协议的目的。
你应该检查一下man ssh
有关-X
和-Y
选项的详细信息,以及man ssh_config
了解该ForwardX11Trusted
选项的详细信息。就您而言,安全问题可能并不真正适用,但请检查并确保。
特别是,ssh -Y
在某些配置中具有更高的成功率,但允许远程端不受限制地访问您的 X 服务器,同时ssh -X
阻止许多此类访问并强制身份验证在短时间内过期。 X 协议并不是非常安全,例如,具有不受限制的访问权限的客户端可以记录每个其他客户端中的每个按键。