安装指南 · Linux

把你的 Linux 游戏 PC 串流到任何浏览器

MoonlightWeb 是一个免费、开源(GPL-3.0)的服务器,把你的游戏主机串流到任何带浏览器的设备。在游戏 PC 上装一个软件包。其他每台设备只要打开一个网址。

你需要什么

捷径:一条命令,还自带更新

MoonlightWeb 提供经过签名的 APT 和 DNF 软件源。从软件源安装,意味着系统的更新程序会自动让 MoonlightWeb 保持最新,而且应用会像其他程序一样出现在 GNOME 软件、KDE Discover 和 Ubuntu 的 App Center 中。这一条命令会检测你的发行版并做正确的事:

curl -fsSL https://moonlightweb.top/install.sh | bash

想手动操作?那正是下面这些步骤:

# Debian / Ubuntu / Mint / Pop!_OS
sudo install -d /etc/apt/keyrings
sudo curl -fsSL -o /etc/apt/keyrings/moonlightweb.gpg https://packages.moonlightweb.top/moonlightweb.gpg
sudo curl -fsSL -o /etc/apt/sources.list.d/moonlightweb.sources https://packages.moonlightweb.top/moonlightweb.sources
sudo apt update && sudo apt install moonlightweb

# Fedora / RHEL / Rocky / Alma / Nobara
sudo curl -fsSL -o /etc/yum.repos.d/moonlightweb.repo https://packages.moonlightweb.top/moonlightweb.repo
sudo dnf install moonlightweb

# openSUSE
sudo curl -fsSL -o /etc/zypp/repos.d/moonlightweb.repo https://packages.moonlightweb.top/moonlightweb.repo
sudo zypper install moonlightweb

# Arch / Manjaro / EndeavourOS
paru -S moonlightweb-bin

SteamOS、Bazzite 及其他不可变系统没有可以添加软件源的包管理器——它们继续使用便携的 AppImage,同一条命令也会帮你下载。下面的手动方式在任何系统上依然有效。

更喜欢 Docker?无头服务器、NAS 与迷你 PC

官方多架构镜像(amd64 + arm64)已发布到 GitHub Container Registry。在任何装有 Docker 的 Linux 主机上一条命令即可——--network host 让容器直接处于你的局域网中,从而发现网络上的主机。容器没有桌面可供捕获:因此它串流的是你配对的机器,而不是它自己:

docker run -d --name moonlightweb --network host \
  -v mw-data:/data --restart unless-stopped \
  ghcr.io/linckosz/moonlight-web:latest

容器没有可信任的本地浏览器,因此先设置一次访问 PIN 码,然后打开 https://<服务器-IP> 并输入:

docker exec moonlightweb moonlightweb --new-pin

用 docker pull 更新并重建容器——数据卷会保留你的配对和证书。Compose 文件、端口表、macvlan 以及一键互联网访问都在 Docker 指南中。

逐步安装

下载一个软件包

从发布页面按你的发行版系列选择:Debian、Ubuntu、Mint、Pop!_OS、elementary、Zorin 用 .deb;Fedora、RHEL、CentOS Stream、Rocky、Alma、Nobara、openSUSE 用 .rpm;SteamOS、Bazzite 及其他一切用便携的 .AppImage(Arch 和 Manjaro 用 AUR 软件包 moonlightweb-bin)。每个软件包都是自包含的(内置 Qt 和 OpenSSL——无需安装任何依赖)。

安装并启动——在游戏 PC 上

# Debian / Ubuntu / Mint / Pop!_OS — double-clicking the .deb works too
sudo apt install ./moonlightweb-*-linux-x64.deb

# Fedora / RHEL / Rocky / Alma / Nobara
sudo dnf install ./moonlightweb-*-linux-x64.rpm

# openSUSE
sudo zypper install --allow-unsigned-rpm ./moonlightweb-*-linux-x64.rpm

# Arch / SteamOS / other — portable AppImage (needs FUSE 2, see below)
chmod +x moonlightweb-*.AppImage
./moonlightweb-*.AppImage

软件包安装到 /opt/moonlightweb,添加菜单项和 moonlightweb 命令,打开所需的防火墙端口,并立即启动服务器。

要让这台机器当主机,请使用 .deb、.rpm 或 AUR 软件包。屏幕捕获需要文件 capability,而它无法在 AppImage 内保留:便携 AppImage 仍能串流你网络上的 Sunshine、Wolf 和 MultiSeat 主机,但永远无法串流它自己的屏幕。

回答设置向导

首次启动时,MoonlightWeb 会打开 https://localhost/setup,它只问剩下的这一个问题:是否允许互联网连接(远程串流会话,默认关闭)。别的什么都不装——这个桌面由应用自己捕获。在 GNOME 以外的 Wayland 会话中,第一次串流可能会弹出一次合成器的屏幕共享对话框;之后授权会被记住。

在任何设备上打开浏览器

在 PC 本机上:https://localhost。从你网络上的其他设备:你的局域网 IP。要从网络之外游玩:启用互联网访问,应用便会给你一个直达这台机器的远程接入链接。你也可以使用自己的域名和证书。

你的 PC 已经在那里

这台机器一开始就列在那里,每块屏幕一张卡片——无需配对,也没有 PIN 码。你网络上的其他主机(Sunshine、Wolf、MultiSeat)会通过 mDNS 出现在旁边:那些只需配对一次——对于 Sunshine,在其网页中输入 MoonlightWeb 显示的 PIN 码——之后永久记住。

按下开始

选择一块屏幕、一款游戏或完整桌面。全屏、手柄在手——最高 4K、240 fps,Wi-Fi 下延迟低于 20 毫秒。(Linux 主机的 HDR 尚未实现。)

⬇ 下载 Linux 版

疑难解答

安装很顺利,但点击应用毫无反应

几乎都是发行版比上面的要求更旧。菜单项在没有终端的情况下启动,加载器的报错无处显示,点击看起来就像什么都没发生。请在终端中运行 /opt/moonlightweb/bin/MoonlightWeb:若出现包含 GLIBC_ 或 GLIBCXX_ not found 的行即可确认。唯一的办法是升级发行版——程序无法自带 C 运行库。

双击 AppImage 只弹出“搜索软件”的窗口

AppImage 只是一个普通文件:在被标记为可执行之前,桌面环境不会运行它(chmod +x moonlightweb-*.AppImage,或者属性 → 权限 → 允许执行)。它还需要 FUSE 2,而 Ubuntu 22.04 及以后不再自带——请用 sudo apt install libfuse2t64 安装(Ubuntu 24.04 之前为 libfuse2),或者用 ./moonlightweb-*.AppImage --appimage-extract-and-run 运行。在 Debian、Ubuntu 及其衍生版上,请直接使用 .deb:双击即可安装,没有这些限制,还会添加正规的菜单项。

主机没有出现在浏览器里

请确保客户端设备与游戏 PC 处于同一网络,并且你的防火墙放行了 MoonlightWeb 的端口。你也可以通过 IP 手动添加主机。

HEVC 或 AV1 被置灰

你的浏览器无法硬件解码的编解码器选项会被自动禁用——这是正常的。H264 到处都能用;HEVC 和 AV1 是否可用取决于客户端设备的浏览器和 GPU。

弱网络下串流卡顿

降低串流分辨率并启用 Video Enhancement(视频增强):串流会在客户端 GPU 上放大并锐化(WebGL2 或 WebGPU 运行 SGSRv1 + FSR1),于是 720p 串流看起来接近 1440p。

网络受限?MoonlightWeb 会自动回退(UDP → TCP),因此在严格防火墙和恶劣的酒店 Wi-Fi 下也能继续工作。

继续阅读