Skip to content
GaryOAOPublic

Latest commit

 

History

75 Commits

Folders and files

Repository files navigation

发布包同时提供 NVIDIA NVENC 与 AMD VA-API H.264/HEVC。安装时优先验证 NVIDIA,失败后自动验证 AMD;不会自动安装或切换显卡驱动。AMD 使用内存中转,下文零拷贝和性能描述仅适用于 NVIDIA。

网易 UU 远程官方只有 Windows 被控端,没有 Linux 版客户端。 UUWay 让官方原版被控端在 Wine 中运行(磁盘上的文件不做任何修改),再把它依赖的每一个 Windows 接口交给 Linux 原生实现。于是,用手机打开 UU 远程,就能像控制一台 Windows 电脑一样控制你的 Linux 桌面。

✨ UU 的功能,几乎全部可用

UU 功能 Linux 上 说明
🎞️ 画面串流 ✅ NVIDIA 零拷贝 + NVENC,或 AMD VA-API 内存中转
🖱️ 鼠标指针 ✅ 手机上显示你本机真实的光标主题,放大画面也跟随指针
⌨️ 键盘与鼠标 ✅ 包括 Win / ⌘ 键,经 libei / uinput 注入
🀄 手机输入法 ✅ 中文直接提交到当前输入框(Fcitx5)
🖥️ 分辨率 · 刷新率 · 缩放 ✅ UUWay 和 UU 客户端都可选择 Linux 已公布的模式;切换期间保留事务保护,失败会自动回滚
💻 远程终端 ✅ 打开的是 Linux 登录 shell,会话常驻、可以多开
📋 剪贴板 ✅ 文本双向实时同步
📁 文件:手机 → 电脑 ✅ 粘贴时才传输,下载完成前粘贴会等待
📁 文件:其他设备 → Linux 电脑 ✅ 接收目录映射到 Linux 的 XDG 下载目录
📁 文件:电脑 → 手机 ✅ 已实现
🪟 超级屏(虚拟显示器) ❌ 依赖 Windows 内核驱动(IddCx),Wine 无法加载
🔐 GDM 登录界面 ❌ 登录界面属于另一个系统会话,UUWay 只在你的桌面会话里工作;远程使用请开启 uuway autologin on,崩溃或注销后会自动回到桌面
📺 1440p / 4K 60 Hz ⚠️ 受显示器(或诱骗器)提供的刷新率限制

安装完成后,从应用菜单打开 UUWay 控制台。它使用项目已有的 Python + GTK 桥接栈,集中显示服务能力,并可配置输入、文字后端、显示模式、桌面企鹅图片和文件接收目录映射(默认使用 XDG 下载目录)。

Wine 路径会在部署阶段统一对接 Linux:C: 保留为 UU 的独立 Wine 前缀,Z: 对应 Linux 根目录,桌面、文档、下载、音乐、图片、视频、公共目录和模板目录对应当前用户的 XDG 目录;UU 的接收目录与 Linux 下载目录使用同一映射。光盘和其他设备盘符继续保留 Wine 检测到的 Linux 设备路径。

已验证 UU 4.42.0.2770,无需任何补丁(审计记录)。UUWay 实现的是公开的 Windows 接口,而不是 UU 内部的偏移地址,所以 UU 升级基本不受影响。

💻 亮点:UU 远程终端,直达 Linux shell

UU 的「远程终端」在 Windows 上打开的是 PowerShell;在 UUWay 上,它打开的是你的 Linux 登录 shell。

  • 终端字节在 PTY 与 UU 之间原样转发,没有控制台转换层,vim、htop 这类全屏程序显示正常,中文不乱码;
  • 离开终端页面,会话继续运行,回来时自动重绘,还可以同时开多个;
  • 在 UU 里关闭终端,就结束对应的 shell,行为和 Windows 上完全一致。

🔧 工作原理

架构:UU 官方被控端调用的每个 Windows 接口,都由 UUWay 交给 Linux 原生实现

UUWay 是一层适配层:UU 照常调用它在任何一台 Windows 电脑上都会调用的 API,每一次调用都落到对应的 Linux 实现上。账号、中继、编码与码率协商仍由 UU 自己负责。

画面链路:像素从合成器到编码器始终留在显存里

更多细节见设计说明(英文)。

🚀 安装

发布包同时携带 NVIDIA 和 AMD 两套运行时。uuway setup 和 install.sh 会先探测 NVIDIA NVENC,失败后验证 AMD VA-API H.264/HEVC,并固定首次成功的选择;不会自动安装或切换显卡驱动。 可用 UURB_BACKEND=nvidia|amd 做诊断覆盖。

显卡 编码后端 安装方式
NVIDIA(支持 NVENC) NVENC,GPU 零拷贝 自动优先选择
AMD VA-API H.264/HEVC,内存中转 NVIDIA 不可用时自动选择
Intel 暂无对应编码后端 当前不支持仅使用 Intel 显卡运行

安装

准备:

  • Ubuntu 24.04,GNOME 46 Wayland 会话,桌面保持登录(没有显示器的主机插一个显示器诱骗器)
  • 支持 NVENC 的 NVIDIA 或 H.264/HEVC VA-API 的 AMD 显卡和官方驱动
  • UU 远程官方 Windows 版安装包,以及一个 UU 账号

1. 安装软件包。 从 Releases 下载 uuway_<版本>_amd64.deb:

sudo apt install ./uuway_*_amd64.deb

2. 运行安装向导(用普通用户,不要加 sudo):

uuway setup --installer ~/Downloads/UURemote_Setup.exe

向导会依次检查环境、添加并安装 WineHQ stable 11.0(需要 sudo)、授权键鼠注入(需要管理员授权)、把 UU 装进独立的 Wine 前缀、授权屏幕共享,最后写入并启动用户服务。整个过程只有三件事需要你亲手完成:在弹出的 UU 窗口里登录账号,在屏幕共享对话框里选择显示器并勾选「记住」,以及在随后弹出的文字服务对话框里点允许。完成后打开手机上的 UU 远程,设备列表里就会出现这台电脑。

  • 向导可以反复运行:已完成的步骤会跳过。uuway setup --dry-run 只显示将要执行的命令,--only 步骤 只重做某一步。
  • 出问题先运行 uuway doctor,它会逐项检查环境和安装状态。
  • 只用远程、不常在机器前? 运行 uuway autologin on:开机或断电恢复后 GDM 自动登录你的账号;桌面崩溃或手动注销后,登录界面停留约 10 秒也会自动重新登录,UU 随桌面自动上线(关闭:uuway autologin off;想在登录界面停留,先关闭它)。这是安全相关的开关,向导和 --yes 都不会替你开启;代价是任何能接触这台机器的人开机就能进入你的桌面,建议配合磁盘加密和自动锁屏。UU 在 GDM 登录界面是离线的,因为 UUWay 的采集和输入都只在你的桌面会话里;这个功能让登录界面只停留十几秒。
  • 向导会把 WineHQ 固定在 11.0 系列(写入 /etc/apt/preferences.d/uuway-wine,需要你确认),避免 apt upgrade 悄悄升到会让画面采集失效的版本。
  • 如果你使用 Fcitx5,向导会启用手机中文输入所需的插件,需要执行一次 fcitx5 -r 才会生效。
  • 升级:uuway update 查看有没有新版本,uuway update install 下载、校验哈希并安装。装好后它会自动运行 uuway refresh,等机器恢复在线并稳定约 90 秒;不正常就自动回滚到更新前的版本。更新期间远程连接会断开几分钟,但更新在后台独立运行,不怕你就在 UU 的远程终端里发起它,重连后用 uuway update status 看结果。机器没有开启「崩溃后自动重新登录」(uuway autologin on)时,--yes 单独不会让它继续。想回到更新前的版本:uuway update rollback。 uuway update 只在你运行它的时候访问 GitHub(api.github.com 和 github.com),UUWay 不会在后台检查更新,也不会自动安装。更新不会重启文字和显示服务;它们要用新代码时,在空闲时运行 uuway refresh --restart-services。 1.2.0 是第一个带更新功能的版本,从 1.1.x 升到 1.2.0 要手动:sudo apt install ./uuway_1.2.0_amd64.deb,再运行 uuway refresh(会重启桥接服务,正在进行的远程会话会短暂断开)。
  • 卸载:先 uuway uninstall,再 sudo apt remove uuway。Wine 前缀(含 UU 登录信息)不会被删除。

已在 Ubuntu 24.04 + GNOME 46 Wayland + RTX 3090 + UU 4.42.0.2770 上长期日常使用。其他显卡、驱动和显示器配置还缺少验证,欢迎提交兼容性报告,成功和失败的都有帮助。

从源码构建(开发者):

git clone https://github.com/GaryOAO/UUWay.git && cd UUWay
./install.sh --installer ~/Downloads/UURemote_Setup.exe

脚本会检查环境、安装依赖和 WineHQ、构建原生运行时并启动服务;中断后用 ./install.sh --from 步骤号 继续。手动安装、可选的 60 帧帧节奏补丁和排错见构建与安装指南(英文)。

AMD 与调试覆盖

正式 .deb 已包含两套后端。准备好 AMD Vulkan/VA-API 驱动后直接运行上面的安装向导;它会实际验证 H.264/HEVC 编码。要强制选择某个后端,可运行:

UURB_BACKEND=amd uuway doctor
UURB_BACKEND=nvidia uuway doctor

AMD 路径有内存复制开销,不能套用 NVIDIA 零拷贝路径的性能数据;Intel 仍不支持。源码开发者仍可按 AMD 使用说明 构建单独的 AMD runtime。

📦 目录结构

install.sh  从源码构建并安装的脚本
packaging/  deb 打包、容器内构建与安装测试
assets/     图标与桌面图片
src/        原生后端(Linux 侧与 Windows/Wine 侧)及辅助程序
scripts/    服务、打包、构建、版本审计工具及 Python/GTK 控制台
patches/    DXVK 采集、Mutter 帧节奏、Portal 会话生命周期补丁
config/     固定版本的构建依赖与 udev 规则
systemd/    用户服务模板
tests/      单元测试与探针
docs/       设计说明、构建指南、版本审计

⚖️ 许可证

UUWay 采用 GNU AGPL-3.0。

免责声明

UUWay 是独立的非官方项目,与网易无关,也未获得网易的认可。"UU"、"UU 远程"为其各自所有者的商标。UUWay 不分发任何 UU 程序文件,客户端需由你自行从官方渠道安装。

致谢

UUWay 源于 Lachlan Chen 的 uu-remote-ubuntu-bridge,并以原生 Wayland 链路取代了其中的 RDP 中继设计。项目同样建立在 DXVK、Wine、PipeWire 与 Mutter 之上。

Releases

Packages

Contributors

Languages