安装了xdg-desktop-portal-gnome, 且使用obs测试能正常录制屏幕,但使用飞书时,共享选择屏幕或者窗口后,对方一直显示加载中,无法看到我的屏幕
试试x11
不用x11 一直用的hyprland,在hyprland下能正常共享,尝试了下niri 发现无法共享
使用hyprland portal可行
- 安装xdg-desktop-portal-hyprland
- 修改/usr/share/xdg-desktop-portal/niri-portals.conf
[preferred]
default=hyprland;gtk;
org.freedesktop.impl.portal.Access=gtk;
org.freedesktop.impl.portal.Notification=gtk;
org.freedesktop.impl.portal.Secret=gnome-keyring;
在家里创建~/.config/xdg-desktop-portall/niri-portals.conf就可以啦。
使用网页版飞书,可以在使用gnome portal的情况下解决问题。我试过用Firefox或chromium。
我的niri桌面尝试这个方案失败了,如果有尝试这个方案失败的人可以看看下面的解决方案,亲测是可以正常共享屏幕的
# 1. 安装 xdg-desktop-portal-wlr
sudo pacman -S xdg-desktop-portal-wlr
2. 配置 portal 路由(用户级覆盖)
mkdir -p ~/.config/xdg-desktop-portal
cat > ~/.config/xdg-desktop-portal/niri-portals.conf << 'EOF'
[preferred]
default=gnome;gtk;
org.freedesktop.impl.portal.Access=gtk;
org.freedesktop.impl.portal.Notification=gtk;
org.freedesktop.impl.portal.ScreenCast=wlr;
org.freedesktop.impl.portal.Screenshot=wlr;
org.freedesktop.impl.portal.Secret=gnome-keyring;
EOF
3. 配置 wlr portal 使用 SHM 格式(关键!)
mkdir -p ~/.config/xdg-desktop-portal-wlr
cat > ~/.config/xdg-desktop-portal-wlr/config << 'EOF'
[screencast]
chooser_type=simple
chooser_cmd=slurp -f %o -s "#00000000"
max_fps=30
format=shm
EOF
4. 重启 portal 服务
systemctl --user restart xdg-desktop-portal-wlr.service
systemctl --user restart xdg-desktop-portal.service