我知道,如果您的台式机也运行 Windows,那么将您的笔记本电脑用作第二台显示器是件很简单的事情。
但是如果你在桌面上运行 Linux(Ubuntu),该怎么办呢?
是否仍然可以以某种方式将您的笔记本电脑用作外接显示器?
答案1
据我所知,没有办法使用 Windows 来扩展你的 Linux 桌面。
但是,这是您可以做到的一种方式。一种黑客手段。
首先,你需要安装协同作用在两台机器上。这样您就可以用一个鼠标和键盘控制两台机器。Synergy 有免费版和付费版。
然后安装一个X服务器,例如服务端,然后将 X11 应用程序从 Linux 计算机转发到 Windows 计算机。您的 Linux 应用程序将在 Linux 计算机上运行,但其应用程序窗口将显示在 Windows 计算机上。
Windows 计算机的鼠标和键盘控制转发的 X11 应用程序。但是,使用 Synergy,您可以控制 Windows 计算机的鼠标和键盘。
显然,这不是无缝集成,但它确实为您提供了更多的桌面空间。您不能将 Windows 从一台机器拖到另一台机器。并非每个应用程序都能保证在转发时正常显示,甚至正常工作,但这对您来说可能已经足够了。
答案2
通过 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 中此选项的示例)。然后一切正常。