MacOS/Win11 局域网屏幕共享(扩展屏)方案, 让Ubuntu作显示器

Mac/Windows局域网屏幕共享方案(Mac/Windows ➡️ Ubuntu)

【场景描述】:要将一台 MacBook 的屏幕内容投屏到局域网内的另一台电脑上(linux or windows),使之拥有一个副屏显示器。

有三种方案(Mac, Mac, Win11)。


方案1: UxPlay 运行在副屏电脑上,在局域网内启动一个AirPlay服务(Mac OS)

如题,在从机上安装uxplay, 可以启动一个AirPlay服务供 Mac 电脑发现后直接投屏。

经Ubuntu 25.10系统上验证,uxplay工作稳定免费。

可做首选方案~


方案2:macOS + simpleDisplay + Deskreen 局域网虚拟屏扩展:屏幕共享方案

为了实现跨设备副屏效果,将另一台电脑作为主电脑的副屏显示器,本方案基于simpleDisplay开源虚拟显示器工具与Deskreen屏幕共享工具组合,在 macOS 设备上快速创建虚拟显示屏。通过局域网将主屏、虚拟屏或指定应用窗口画面,实时共享至同一网络内其他终端。接收设备无需安装专用客户端,仅通过浏览器输入地址即可访问并使用扩展屏幕,实现跨设备副屏效果,整套工具开源免费、部署简便、运行稳定。

  1. simpleDisplay:开源轻量虚拟显示器软件,原生适配 macOS,可自主创建自定义分辨率虚拟屏幕,驱动纯净,无多余后台残留,不影响系统显示与光标正常使用。
  2. Deskreen:跨平台开源屏幕共享工具,依托 WebRTC 协议传输画面,支持整屏、虚拟屏、独立窗口三种共享模式,局域网内传输延迟低,兼容各类主流浏览器。

  1. 主控端:macOS 系统,接入局域网(有线 / 无线网络均可)。
  2. 接收端:任意 PC、Linux 设备、移动设备,搭载主流浏览器,与主控端处于同一局域网。

四、部署与使用步骤

(一)主控端软件安装

  1. 安装 simpleDisplay

    访问官网 https://simpleDisplay.app 下载 macOS 版本,将软件移入应用程序目录。首次运行时,在系统安全性与隐私中完成开发者授权,并开启辅助功能权限。

  2. 安装 Deskreen

    前往 Deskreen 官方网站下载对应 macOS 安装包,完成安装后,在系统安全性与隐私 - 屏幕录制中为软件授予录屏权限,保障画面正常采集。

(二)创建虚拟显示屏

  1. 启动 simpleDisplay,点击界面添加按钮,按需设置虚拟屏分辨率、刷新率等参数,点击创建生成虚拟显示器。
  2. 进入 macOS系统设置 - 显示器,在排列界面中将虚拟屏设置为扩展模式,按需调整屏幕相对位置。

(三)配置屏幕共享

  1. 运行 Deskreen,软件自动读取本机局域网 IP 与访问端口。
  2. 根据使用需求选择共享类型:整机主屏、已创建的虚拟显示屏、单个应用窗口。
  3. 确认配置后启动共享,软件生成对应的访问链接与二维码,保持程序后台运行。

(四)接收端接入使用

  1. 接收设备连接至同一局域网,打开任意浏览器。
  2. 在地址栏输入主控端 IP + 端口,或直接扫描二维码,发起连接请求。
  3. 主控端通过连接授权后,接收端浏览器即可加载画面,实现副屏扩展、窗口拖拽与内容查看。

常见问题处理

  1. 无法创建虚拟屏

    检查软件权限是否完整授予,重启 simpleDisplay 后重新尝试。

  2. 接收端无法访问

    关闭 macOS 系统防火墙,或在防火墙规则中放行对应访问端口;确认两端设备 IP 处于同一网段。

  3. 画面传输卡顿

    优先使用有线网络或 5G 频段 WiFi,适当降低共享画面分辨率,关闭主控端高负载后台程序。

方案特点

  1. 开源免费:全部组件无付费项、无功能阉割,使用成本低。
  2. 稳定性强:虚拟屏驱动简洁,不会出现光标丢失、桌面异常等问题。
  3. 使用灵活:支持整屏、虚拟屏、独立窗口多种共享模式,适配不同使用场景。
  4. 跨平台兼容:接收端仅依赖浏览器,支持 Linux、Windows、移动设备等各类终端。

方案3:Win11局域网共享扩展屏幕到Ubuntu的方案

告别 AirPlay!用 Sunshine + Moonlight + 虚拟显示器,极低延迟,将 Windows 11 的扩展屏打到 Ubuntu 机器上!

前言

手里有一台 Ubuntu 系统的旧机器,想把它当作 Windows 11 主机的副屏,你可能会想到 UxPlay。但 UxPlay 基于苹果的 AirPlay 协议,一旦主系统换成 Windows,这条路就断了。

市面上常见的商业远程桌面(如 TeamViewer、ToDesk)无法原生支持“真·扩展屏”模式,且局域网内画面高频断续。

今天给大家分享一套完全开源、零成本、画质最高、延迟极低(压到 10ms 以内)的纯局域网无线扩展屏方案:Sunshine(服务端) + Moonlight(客户端) + IddSampleDriver(虚拟显示器驱动)

其核心逻辑非常简单:在 Windows 11 中通过驱动虚拟出一块根本不存在的“空显示器”,将其设置为扩展模式,然后通过游戏级的串流技术,把这块虚拟屏幕的画面实时打到 Ubuntu 的浏览器或客户端上。

🛠️ 方案核心架构与组件简介

  • IddSampleDriver:微软官方提供样板、社区开源维护的 Windows 虚拟显示器驱动。让 Win11 误以为你插了一根物理 HDMI 线,凭空多出一个可调节分辨率和刷新率的“第二屏幕”。
  • Sunshine:目前开源界最强、超低延迟的视频串流服务端。支持 NVIDIA、AMD、Intel 三家显卡的硬件级编码(NVENC/AMF/QSV),效率远超常规远程桌面协议。
  • Moonlight:基于 NVIDIA Shield 协议的开源串流客户端,全平台支持(包括 Linux),负责接收并解码画面。

🚀 实现步骤

第一步:Windows 11 端配置(发送端)

1. 安装虚拟显示器驱动 (IddSampleDriver)

我们需要先在 Win11 上制造出一块“虚拟扩展屏”。

  1. 前往 GitHub 下载开源驱动包:IddSampleDriver Releases
  2. 解压下载的压缩包到一个固定路径(例如 C:\IddSampleDriver)。
  3. 复制文件夹内的 option.txtC:\iddsampledriver\option.txt(这个文件可以用来配置虚拟屏幕支持的分辨率和刷新率,默认已带 1080p 60Hz )。
  4. 安装驱动
    • 右键点击 Windows 开始按钮,选择 设备管理器
    • 点击顶部菜单的 操作 -> 添加过时硬件
    • 选择 安装我手动从列表选择的硬件(高级) -> 点击 显示适配器 -> 点击 从磁盘安装
    • 浏览并选择你刚刚解压的文件夹中的 gandvidd.inf,一路点击确定完成安装。
  5. 验证:此时打开 Win11 的 设置 -> 系统 -> 屏幕,你会发现多出来一块显示器。将其多显示器设置改为 “扩展这些显示”
2. 安装并配置 Sunshine 服务端
  1. 前往 GitHub 下载并安装:Sunshine Releases(选择 Windows 对应的 .exe 安装包)。
  2. 安装完成后启动 Sunshine,并在浏览器中打开它的 Web 配置后台(通常是 https://localhost:47990)。
  3. 初次登录:设置你的用户名和密码。
  4. 绑定虚拟显示器
    • 在 Sunshine 后台点击 Configuration -> Audio/Video
    • 找到 Output Name(或者 Output index)选项。这里需要指定 Sunshine 捕获哪块屏幕。
    • 小技巧:在 Windows 命令行(CMD)运行 dxdiag 或在 Sunshine 日志中查看,找出你刚刚创建的虚拟显示器的名称(通常形如 \\.\DISPLAY2),填入该项中。
    • 点击 Save 并重启 Sunshine 服务。

第二步:Ubuntu 接收端配置

Ubuntu 端作为显示器,只需要安装轻量级的 Moonlight 客户端即可。

1. 安装 Moonlight

Moonlight 已经进入了绝大多数 Linux 的标准软件源。打开 Ubuntu 终端执行:

sudo snap install moonlight
# 或者使用 Flatpak 安装
flatpak install flathub com.limelight_stream.Moonlight
2. 配对连接
  1. 确保 Ubuntu 和 Win11 在同一个路由器(同一个局域网)下。
  2. 在 Ubuntu 中打开 Moonlight,软件会自动扫描局域网内的 Windows 主机。
  3. 点击扫出来的 Win11 主机图标,此时 Ubuntu 屏幕上会弹出一个 4位数的配对码
  4. 回到 Windows 电脑,打开 Sunshine 的 Web 后台,点击顶部菜单的 PIN,将这 4 位数输入进去,点击 Send
  5. 配对成功!

第三步:全屏畅享无线扩展屏

  1. 在 Ubuntu 的 Moonlight 界面中,点击已配对的 Windows 主机。
  2. 选择进入默认的 Desktop(桌面)应用。
  3. Moonlight 会自动切入全屏。因为我们在 Sunshine 端锁定了只捕获虚拟的第二屏幕,此时你的 Ubuntu 屏幕就会完美呈现 Windows 11 的扩展屏画面
  4. 把 Windows 上的浏览器、代码编辑器往屏幕右侧一拉,顺畅地滑入 Ubuntu 屏幕,大功告成!

💡 进阶优化与调优

为了达到接近插线般的物理丝滑感,建议进行以下微调:

  1. 色彩与画质(针对写代码): 在 Ubuntu 的 Moonlight 设置(齿轮图标)中,将码率(Bitrate)调至 30Mbps - 50Mbps(局域网千兆/Wi-Fi 6 毫无压力),并将视频编码优先设置为 H.265 / HEVCAV1,文字会变得极其锐利,完全没有糊的感觉。
  2. 鼠标平滑度: 在 Moonlight 设置中,勾选 “Optimize mouse for remote desktop instead of games”(针对远程桌面优化鼠标),这样可以防止鼠标在两台电脑间切换时产生漂移感。
  3. 音频重定向: 如果你希望副屏(Ubuntu)也能发出声音,可以在 Sunshine 的 Audio 设置中保持默认配置;如果不需要,可以在连接时在 Moonlight 客户端勾选“静音客户端音频”。

总结

相比于传统的 WebRTC(如 Deskreen)方案,Sunshine + Moonlight 直接走显卡硬件编解码通道,将局域网串流延迟降至10ms级别。无论是日常编写代码、看高清视频,甚至是偶尔把微信、网页挂在副屏上,都完全感受不到任何无线的撕裂和延迟。赶快把你手边吃灰的 Linux 设备利用起来吧!

Published At