Linux 上的 X11 网络连接

3
我知道你可以连接到远程X11服务器,像本地X11系统一样使用它们。
我的问题是:你能连接多台计算机协同工作,并通过它们的视频输出显示一个独特的X11桌面实例吗?
或者,换个说法:你能在几个X11服务器上处理和显示图像吗?
4个回答

2

1

X11是一种协议。如果您在网络上使用它,远程运行的GUI应用程序实际上会连接到本地的X11服务器。因此,是的,您可以在服务器上运行多个客户端应用程序,这些应用程序显示在不同的X11服务器上。至于使用X11服务器处理图像-您实际上指的是什么?我能想到的唯一一件事就是多个监视器。如果是这样,那么是的-您可以为每个监视器使用专用的X11服务器。


好的,我明白了,但我有另一个问题:这些“显示服务器”可以一起工作以显示一个大桌面吗?例如:拥有两个显示服务器,其中一个可以仅显示桌面的一半,另一个可以显示另一半吗? - Alvaro Fuentes Zurita
@Alvaro:是的和不是。X11 不显示“桌面”,它渲染应用程序的 GUI。你看到的“桌面”实际上是许多小型 GUI 应用程序的集合,如任务启动器等。你可以将每个应用程序显示在单独的 X11 服务器上,而它们将出现为统一的“桌面”环境。虽然从技术角度来看这没有太多意义。 - user405725

0
如果我正确理解了你的问题,你想让多台计算机协同显示单个X11显示器。这是不可能直接实现的。
然而,你可以在单个计算机上使用多个视频卡,并使用Xinerama扩展来使多个卡显示单个逻辑X服务器。这可以让你轻松地使用单台计算机驱动多个显示器。(如果视频卡支持多个输出,你应该能够轻松获得四到六个显示器,但数十个显示器可能非常困难。)
我无法想出任何机制,可以让单个键盘和鼠标可靠地跨多个由多台计算机驱动的显示器工作。但是,如果你的问题受到显著的限制(如果只是通过多个X服务器查看图像),那么你可以编写一个客户端应用程序,仅呈现图像的一部分,并运行多个客户端,每个客户端仅显示图像的一部分--当它们一起被拼接时,就像图像被几个系统同时无缝显示。不过,这肯定有点麻烦,因为系统的协调需要一些思考。

1
“我想不出任何机制可以确保单个键盘和鼠标可以可靠地在多台计算机驱动的多个显示器上工作。” [我可以。](http://synergy-foss.org/) - Ignacio Vazquez-Abrams
“...你想让多台计算机协作显示单个X11显示器。这是不可能直接实现的...”这正是我的问题。所以,没有办法做到这一点。该死!唯一的方法是在一台计算机上使用多个视频卡...我以为X11有答案... - Alvaro Fuentes Zurita
@Alvaro:Ignacio发布了一个链接http://synergy-foss.org/,声称它可以做到这一点 - 或者非常相似。值得深入研究! - sarnold
@sarnold:据我所知,Synergy只能通过多台计算机管理输入(键盘和鼠标)。我的问题是:“如何让多台计算机协作显示单个X11显示器…” - Alvaro Fuentes Zurita

0

如果你想要将窗口从一个屏幕拖到另一个屏幕,或者在这里显示窗口的一部分,在那里显示另一部分,那么,目前为止,使用现有的开箱即用软件是不可能的。你可以尝试修改一个“虚拟”X服务器,比如Xephyr,使其使用多个后端X服务器来处理其帧缓冲区的不同部分。这并不是非常简单,但应该比从头开始编写自己的多盒子X服务器容易得多。

如果你想要将一个桌面克隆到连接到不同计算机的多个显示器上,你可以尝试在除一个显示器之外的所有显示器上运行VNC或RDP客户端。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接