Ubuntu 22.04

Ubuntu 22.04

Wayland 上的屏幕共享状态如何?最近这已经成为远程办公人员必不可少的话题。

我正在尝试使用 WebRTC 在 Google Chrome 88 上共享我的屏幕,并使用以下软件包运行带有 Wayland 的 GNOME 3.36:

我尝试按照以下步骤从头开始设置一切:

  1. 使用 autotools 构建软件包并安装所需的依赖项以及.pcpkg-config 的文件
  2. .so将pipewire 的共享库复制到/usr/local/lib/x86_64-linux-gnu并运行 ldconfig 以刷新配置
  3. 将单元文件复制到/usr/local/lib/systemd/usersystemctl 中并启动服务

在正确安装所有东西后,我启用chrome://flags/#enable-webrtc-pipewire-capturer并尝试了这个演示并且显示“成功!”但我只看到黑屏......

编辑:看来这个问题在 Ubuntu 22.04 LTS 中已经修复。我在 Thinkpad X1 笔记本电脑上尝试了默认安装,并能够在上面的演示链接上共享我的屏幕。

答案1

Ubuntu 22.04

支持可能开箱即用,但我没有从 20.04 升级所需的所有软件包。

我可以进行屏幕共享,具体操作如下:

(!)如果这破坏了你的音频,请参阅这个错误

sudo apt install xdg-desktop-portal-gnome gnome-remote-desktop

如果需要就重启(或者查看故障排除部分)。

YMMV,但可以肯定的是pipewire-media-session(的依赖gnome-remote-desktop)和是需要的,但从20.04xdg-desktop-portal-gnome开始尚未安装。do-release-upgrade

之后,我能够通过 dpkg/snap/flatpak 应用程序验证屏幕共享,如下所示:

火狐折断

默认的 Ubuntu 22.04 firefox(snap)默认使用 wayland,并支持 WebRTC 屏幕共享(例如用这个测试WebRTC 实验

Firefox 中的门户

不幸的是,一些软件(Hello M$ Teams)目前将 Firefox 列入了“黑名单”。

Chrome 韦兰软件包

Chrome 99 默认仍是 X11(尽管支持标志2021 年 4 月起可用),因此请先

google-chrome-stable --enable-features=UseOzonePlatform --ozone-platform=wayland &

为了使其永久生效,复制+编辑/usr/share/applications/google-chrome.desktop〜/ .local /共享/应用程序/

您还需要启用WebRTC PipeWire 支持标志(chrome://flags/#enable-webrtc-pipewire-capturer)。

[ Chrome 中的门户]

它仍然受到在2020 年 WebRTC/Chromium 更新,但它可以使用。

库哈扁平包装(屏幕录像机)

sudo apt install flatpak
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
flatpak install io.github.seadve.Kooha
flatpak run io.github.seadve.Kooha &

[ Kooha 中的门户]

故障排除

可以替代重启的命令:

systemctl --user enable pipewire-media-session
systemctl --user start pipewire-media-session
systemctl --user restart xdg-desktop-portal-gnome
  • 相关的Arch 维基
  • wlroots'“它不起作用”故障排除清单
  • 背景:Flatpak 门户 - 它们如何工作?作者:彼得·胡特尔 (Peter Hutterer)。
  • 提示:从命令行运行应用程序并检查输出中的错误消息,例如创建屏幕录制会话时出错:GDBus.Error:org.freedesktop.DBus.Error.UnknownMethod:路径 /org/freedesktop/portal/desktop 上的对象上没有这样的接口“org.freedesktop.portal.ScreenCast”—— 这意味着您没有门户实现 —— 例如这是预期的 dbus 设置,如下所示d-feetd-英尺 如果你看到org.freedesktop.impl.portal.desktop.gnome有一些接口,但没有屏幕录制一,这可能意味着缺少管道设置,或者xdg-desktop-portal-gnome没有重新启动来获取它。

答案2

简单的解决方案是使用 ubuntu 21.04 或更高版本,它可以正确集成 pipewire。Ubuntu 21.04 还默认使用 wayland(仅限 intel 和 amd),因此 pipewire 屏幕共享应该可以立即使用。

原因是这个 ubuntu 错误这个问题似乎在 21.04 中已经得到解决。此问题不是由 Firefox 或 Chromium/Chrome 引起的。

您可能还会成功将软件包从 21.04 反向移植到 20.04 LTS。不幸的是,在这种情况下,唯一简单的解决方案直到 2022 年(22.04 LTS 默认获得 wayland 和 pipewire)才能在 ubuntu LTS 中使用。

我从reddit 评论有人问了同样的问题。

答案3

Ubuntu 22.10 用户的重要信息。我在屏幕共享方面也遇到了问题,我能够通过在 Chrome 中设置chrome://flags/#enable-webrtc-pipewire-capturer为 来解决这些问题Enabled。我还尝试安装pipewire-media-session包,这个包很危险!重启后,我的声音设备不见了。幸运的是,删除这些包后它们又恢复了。关于 Ubuntu 22.10 中的 Firefox...屏幕共享仍然无法完全正常工作...

答案4

对我来说它在 Ubuntu 22.04 中有效:

sudo apt install xdg-desktop-portal-gnome gnome-remote-desktop

然后在 Google Chrome 中使用 MS Teams chrome://flags/#enable-webrtc-pipewire-capturerEnabled

相关内容