在使用 NoMachine 远程连接 Ubuntu 的过程中,我遇到了一个奇怪的问题:
系统的 “Settings(设置)” 无法打开,一直停留在转圈界面。
重连、重启都无效,但安装 PipeWire 后却立刻恢复正常。
这篇文章记录一下问题原因、底层原理和可复现的完整解决方法。
🚩 1. 问题现象
使用 NoMachine 远程登录 Ubuntu(GNOME 桌面)
打开 Settings(设置) 时界面一直 loading,不显示内容
系统其他功能似乎正常
本地登录时 Settings 可以正常打开
安装 PipeWire 后问题立即消失
这个问题很隐蔽,看似和远程桌面无关,但实际上关联极大。
🎯 2. 问题原因总结(一句话)
缺失或未正常工作的 PipeWire 多媒体服务会导致 GNOME 设置无法初始化音频/视频后端,而 NoMachine 会创建虚拟音视频设备,使问题被触发。
🔍 3. 原理解析:NoMachine + GNOME + PipeWire 之间发生了什么?
要理解原理,需要知道 GNOME、PipeWire 与 NoMachine 的依赖关系。
🧩 3.1 GNOME 的设置面板依赖 PipeWire
GNOME Settings 在启动时会初始化如下组件:
音频管理(输入/输出)
蓝牙音频
视频设备(摄像头)
屏幕共享能力
在新版本的 Ubuntu(22.04+)中,这些工作几乎都依赖 PipeWire 完成:
| 功能 | 后端 |
|---|---|
| 音频管理 | pipewire + pipewire-pulse |
| 低延迟音频(兼容 JACK) | pipewire-jack |
| 摄像头 | pipewire |
| 屏幕录制 / 屏幕共享 | pipewire + xdg-desktop-portal |
如果 PipeWire 缺失、不完整、或未运行,GNOME 设置界面会在初始化多媒体后端时卡死,从而出现“无限转圈”的现象。
🧩 3.2 NoMachine 会创建虚拟音视频设备
NoMachine 的特点:
创建虚拟音频输出设备(远程音频)
创建虚拟麦克风
接管屏幕采集管线
在 Wayland 下依赖 PipeWire 进行屏幕采集
当你通过 NoMachine 登录时,这些虚拟设备会被 GNOME 设置读取。
如果系统的音视频后端(PipeWire)不完整,它就会卡在初始化阶段。
因此:
NoMachine 并不是故障根源,它只是触发了系统未配置好的 PipeWire 问题。
本地登录之所以不触发,是因为本地不需要初始化这些虚拟设备。
🧩 3.3 为什么 PulseAudio 不够?
一些旧系统仍使用 PulseAudio,但:
PulseAudio 不支持现代 GNOME 的完整功能
不支持 Wayland 下的屏幕捕获
不支持 NoMachine 的某些低延迟场景
所以 GNOME 优先尝试使用 PipeWire,如果 PipeWire 的组件缺失,就会产生异常。
🛠️ 4. 解决方案(推荐方式)
只需要完整安装 PipeWire 及相关后台管理器即可解决:
✔ 4.1 安装 PipeWire 所有必要组件
sudo apt install pipewire pipewire-pulse pipewire-audio-client-libraries wireplumber
其中:
pipewire:核心服务pipewire-pulse:兼容 PulseAudiopipewire-audio-client-libraries:音频库wireplumber:PipeWire 的会话管理器(非常重要)
✔ 4.2 重启用户会话(或重启系统)
systemctl --user restart pipewire pipewire-pulse wireplumber
或者直接:
reboot
重启后,NoMachine 登录即可正常打开 Settings。
📌 5. 附:检查 PipeWire 是否正常运行
systemctl --user status pipewire systemctl --user status wireplumber
查看 PipeWire 设备:
pw-cli ls Node
🧪 6. 附:如何确认 Settings 卡死原因是管线初始化?
运行:
gnome-control-center
如果终端输出:
Failed to initialize settings backend: Failed to connect PipeWire
或
No PulseAudio daemon running
说明问题就是音频后端未正确初始化。
🟢 7. 总结:本质是 PipeWire 不完整导致的系统功能缺失
你的 Ubuntu 在以下情况下很容易出现 PipeWire 不完整:
系统升级残留 PulseAudio 配置
手动卸载过 PulseAudio
使用第三方远程桌面(NoMachine、RustDesk、x2go 等)
GNOME 迁移到 Wayland 时依赖不一致
解决方案就是:
安装并启用完整的 PipeWire 环境,让 GNOME 的音视频依赖链恢复正常。
📝 8. 完整结论(可直接引用)
在使用 NoMachine 远程连接 Ubuntu 时,如果 GNOME Settings 打不开且一直转圈,通常是由于系统的 PipeWire 多媒体服务未完整或未启动。NoMachine 在会话中创建虚拟音频/视频设备,触发 GNOME 对 PipeWire 的依赖初始化,而缺失的 PipeWire 组件会导致设置面板卡死。安装包含
pipewire-pulse与wireplumber在内的完整 PipeWire 套件即可彻底解决该问题。
PonyTechLab