VallierDev / uu-remote-linux
git clone https://github.com/VallierDev/uu-remote-linux.git
v0.2.20 · today
非官方 UU 远程 Linux 被控端 · Unofficial Linux host for NetEase UU Remote
—
stars, 24h
+338
stars, 7 days · #171
+338
stars, 30 days · #791
338
★ total · +338% this week
186
forks · 15 open issues
Star history starts 2026-10-20; the chart appears after the second daily snapshot.
LanguageRust
LicenseGPL-3.0
Created2026-10-14 (6d ago)
Last pushtoday
Watchers0
OwnerUser
Links
README excerpt
# uu-remote-linux · UU 远程 Linux 被控端 + 控制端(非官方) **简体中文** | English > **写在前面** > > 网易 UU 远程非常好用,但官网一直没有 Linux 版本。于是我借助 Claude 和 Codex,写了这个开源的 Linux 被控端: > 装上之后,就能用官方的 Mac / Windows / 手机客户端远程控制你的 Linux 电脑。 > 现在还附带一个**实验性 Linux 控制端** `uuremote-viewer`:在 Linux 上用 UU 账号远控官方 Windows / Mac 被控端或本项目主机 > (桌面、文件传输、终端、端口映射、远程协助,详见下文)。 > 没有桌面的**群晖 / NAS** 也能用 Docker 部署:部署指南,镜像 `ghcr.io/vallierdev/uu-remote-linux`。 > > 这是个人兴趣项目,**与网易无关,也不是官方客户端**。如果网易认为本项目侵权或有不妥, > 请在推特私信我 **@ai_fengshou**,我会第一时间自行下架。 Linux 控制端:设备列表(设备名已打码) Linux 被控端主窗口:远程协助与账号(设备 ID、验证码和账号已打码) ## 它是什么 - 一个纯 Rust 写的 Linux 原生程序(不需要 Wine,也不需要任何 Windows/macOS 组件)。 - 用你自己的 UU 远程账号扫码登录后,这台 Linux 会出现在官方客户端的设备列表里,用法和 Windows 被控端一样。 - 只做**被控端**:用来控制别人的客户端,仍然是官方的 Mac / Windows / 手机 App。 ## 已实现的功能 | 功能 | 说明 | |---|---| | 主窗口与扫码登录 | 一个窗口包含「本设备」(远程协助)和「账号」两部分:未登录时显示扫码二维码,登录后显示账号并可退出登录;也可用 `login --no-gui` 在终端扫码 | | 远程协助(实验性) | 像官方客户端一样,把**设备 ID + 验证码**发给别人,对方在 UU「开始协助」里输入即可连接;登录前(访客身份)和登录后都能用,见下文 | | 远程桌面 | H.264 视频,NVIDIA 显卡用 NVENC 硬件编码,否则用 libx264;查看端绘制本地鼠标,不会出现双光标 | | 鼠标 / 键盘 | 绝对/相对移动、点击、滚轮、按键;修复了网络延迟导致的按键连发;Wayland 下可用 uinput 虚拟键鼠(不依赖键盘布局,见下文) | | Mac 快捷键 | **推荐**:在 Mac 远控窗口菜单里关闭「使用 macOS 快捷键」,之后和在 Mac 上一样:Cmd+C/V/A/F/X/Z 是复制、粘贴、全选、查找、剪切、撤销(终端里 Cmd+C/V 自动变成 Ctrl+Shift+C/V),Ctrl+C 在终端里始终是中断。保持开启时,客户端会把 Cmd 和 Ctrl 都当成 Ctrl 发送:终端里 Ctrl+V / Cmd+V 自动转成粘贴,Ctrl+C 是中断,复制用 Cmd+Shift+C(X11) | | 鼠标指针样式 | 远端指针形状实时同步(X11) | | 剪贴板 | 双向文本同步 | | 画质 / 帧率 / 分辨率 | 自动、原画 20M、超清 8M、高清 2M、自定义;30/60/90/144 帧;「其他分辨率」由编码器缩放,不改动主机显示器 | | 声音 | 采集系统声音(PulseAudio / PipeWire),Opus 编码传到控制端 | | 文件传输 | 上传、下载(含文件夹)、新建文件夹、重命名、删除 | | 终端 | 官方「终端」工具,PTY 会话,支持多会话和重命名 | | 锁屏与自动解锁 | 向控制端上报锁屏状态;开启「自动解锁被控端」后,通过 PAM 校验密码并解锁当前会话 | | 远程结束后自动锁屏 | 设置保存在本机,重连后依然生效 | | 被控端静音运行 | 主机扬声器静音,控制端照常能听到声音;结束后恢复原来的音量设置 | | 系统操作 | 锁屏、显示桌面、任务管理器(系统监视器)、重启、关机(通过 `systemctl`,需要当前用户有 polkit 权限:通常本机有活动的图形会话即可;没有权限时直接失败并记日志,不会在被控端弹出密码框) | | 端口映射 | 官方「端口映射」工具:把控制端本地端口转发到 Linux 能访问到的地址(如 127.0.0.1:22);`UU_PORT_MAPPING=0` 可关闭 | | 多次重连 | 每个工具窗口独立连接,互不影响 | | 无头服务器 | 没有显示器也能上线,提供终端、文件传输和端口映射;也可以用 Xvfb 虚拟桌面提供完整远程桌面(见下文) | 桌面连接建立、结束及服务启动时会清理遗留输入状态;旧连接的迟到事件不能影响新的桌面连接。 X11 清理当前已认证显示上的按下状态(包括无法区分来源的实际按键);uinput 仅清理本服务虚拟设备, Portal 仅作用于本服务获授权的会话。文件传输、终端等独立工具连接不触发桌面松键。 ## 支持的 Linux 桌面 | 桌面环境 | 显示协议 | 状态 | 编译方式 | |---|---|---|---| | GNOME(Ubuntu 24.04) | X11 / Xorg | ✅ 实机长期使用,以上功能全部验收 | 默认 | | KDE Plasma | X11 | ✅ 虚拟机测试通过 | 默认 | | Xfce | X11 | ✅ 虚拟机测试通过 | 默认 | | Cinnamon / MATE | X11 | ✅ 虚拟机测试通过 | 默认 | | Hyprland | Wayland(wlroots 原生协议) | 🧪 实验性,虚拟机测试(部分功能受限,见下) | `--features wayland` | | niri | Wayland(wlroots 原生协议) | 🧪 实验性,协议支持已按 niri 源码确认,尚未实机验收(#55) | `--features wayland` | | GNOME / KDE Plasma | Wayland(xdg-desktop-portal) | 🧪 实验性,验证范围与限制见下 | `--features wayland,portal` | 最后一列是源码编译方式;Release 预编译包已包含全部后端,直接使用即可(见安装)。 GNOME Wayland 的 Portal/EIS 路径已在 Ubuntu 26.04、GNOME 50、单屏 4K/200% 缩放下验证画面和键鼠;锁屏冷连接自动解锁已用 Mac 和 iPhone 4.42.0 客户端实机验证,其余锁屏恢复及重连仍待验收。除 GNOME 的上述路径和 X11 外,其余桌面目前主要在虚拟机里测试。如果你在真机上遇到问题,欢迎提交 issue, 请附上 `uuremote-server doctor` 的输出(v0.2.17 起;只含会话、后端、插件、权限、编码器等状态,不含账号、令