我是 Xinerama 和其他将桌面扩展到多个显示器的技术的长期 Linux 用户。但是,当我带着笔记本电脑旅行时,我会怀念在家里享受的多显示器支持。最近我以低价购买了第二台笔记本电脑。两台笔记本电脑都运行 Fedora(分别为版本 10 和 11)。我使用 Gnome 作为我的主要桌面环境。
我知道 synergy。我一直使用 synergy 来控制我使用的其他 Windows / Linux 系统的屏幕。
我想知道,我可以将主笔记本电脑和辅助笔记本电脑放在一起,实现类似 Xinerama 的扩展桌面环境吗?理想情况下,我希望在主笔记本电脑上启动 GNOME 会话。然后在辅助笔记本电脑上启动 X-Windows 桌面,并将主笔记本电脑的桌面扩展到它上面。我希望能够将 Windows 从主桌面移动到辅助笔记本电脑的桌面。
我是否需要使用 synergy 和其他 X-Windows 技术来实现这一点?或者是否有 X-Windows 技术可以帮我实现这一切?
我熟悉 X Windows 远程显示应用程序的功能。我也熟悉 Nomachine 的 NoX。
答案1
我认为你正在寻找http://dmx.sourceforge.net/. 来自手册页:
它为可能位于不同机器上的显示器提供多头 X 功能。
答案2
在所有想要创建的 Linux 机器上使用 -ac 选项启动 X 服务器,wall
例如:
X -ac
然后执行 startx,启用 xinerama 的 Xdmx,将 发送display
到服务器,如下所示:
startx -- /usr/bin/Xdmx :0 +xinerama -display 10.0.0.1:0.0 -display 10.0.0.2:0.0 -display 10.0.0.3:0.0 -norender -noglxproxy
答案3
通过 VNC 进行虚拟监控
使用此解决方案,您可以使用任何能够通过 VNC 连接到 Ubuntu 计算机的操作系统,就像第二个屏幕一样。这是通过使用x11vnc,以下是从VNC 虚拟显示链接器python 代码。我在使用这段代码时遇到了一些问题,但我设法让它正常工作,如下所示。
简化说明:
请注意本答案末尾的注释和注意事项。
- 定义:“服务器”将是您想要扩展屏幕的计算机,“客户端”将是您想要用作屏幕的计算机(或平板电脑,任何能够部署 VNC 客户端的设备)。
- 所需软件:在服务器上安装
x11vnc
,gtf
在客户端上安装 vnc 客户端。 - 您需要知道客户端的屏幕尺寸(我们称之为:
CLIENT_WIDTH
,CLIENT_HEIGHT
)和服务器的屏幕尺寸(我们称之为:SERVER_WIDTH
,SERVER_HEIGHT
)。 - 在服务器中,在终端中运行
gtf CLIENT_WIDTH CLIENT_HEIGHT 60
(将CLIENT_WIDTH
和替换为相应的CLIENT_HEIGHT
值)。例如gtf CLIENT_WIDTH CLIENT_HEIGHT 60
# 1384x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 86.62 MHz
Modeline "1384x768_60.00" 86.62 1384 1456 1600 1816 768 769 772 795 -HSync +Vsync
- 从上一个结果中复制 前面的内容
Modeline
(在本例中为"1384x768_60.00" 86.62 1384 1456 1600 1816 768 769 772 795 -HSync +Vsync
),并将其用作命令的参数xrandr --newmode
。例如,在本例中,我们必须在服务器中运行xrandr --newmode "1368x768_60.00" 85.86 1368 1440 1584 1800 768 769 772 795 -HSync +Vsync
- 在5中我们已经创建了一个新的模式
xrandr
,现在我们需要将它添加到虚拟屏幕中,如下所示xrandr --addmode VIRTUAL1 "1368x768_60.00"
(请记住使用自己新创建的模式名称,也就是5中包括引号的值)。 - 运行
x11vnc -usepw -nocursorshape -nocursorpos -noxinerama -solid -repeat -forever -clip CLIENT_WIDTHxCLIENT_HEIGHT+SERVER_WIDTH+0
。例如: 。这将在您可以连接的x11vnc -usepw -nocursorshape -nocursorpos -noxinerama -solid -repeat -forever -clip 1368x768+1920+0
端口中创建一个 VNC 服务器。5900
- 最后,从另一台计算机(或任何 VNC 客户端,推荐用于 Linux 计算机)连接到服务器
krdc
。现在您应该可以享受扩展屏幕了。
注意事项和考虑事项:
- 在步骤 8 中,使用 krdc 时,建议使用“中等质量”选项,即使您使用电缆:“低”和“高”质量选项都会产生错误。
- 我尝试通过 WiFi 网络进行此操作,并且它运行正常,但在有线网络上则更顺畅。
- 在第 7 步启动 VNC 服务器时,我遇到了问题,屏幕开始闪烁,我看不到屏幕上正在做什么。为了解决这个问题,我通过 VNC 服务器连接(此时扩展屏幕已经可以工作),打开该
Displays
工具(系统附带的工具,您可以在其中看到已连接的显示器),Unify Outputs
然后Break Unified Outputs
(下面显示了 Kubuntu 中此选项的示例)。然后一切正常。