Skip to content

niri 屏幕录制

目前niri没有官方的XDG桌面门户xdg-desktop-portal-xdg只提供了部分功能,不包括屏幕录制,所以需要额外配置支持屏幕录制的门户才能使用屏幕录制

这里以使用xdg-desktop-portal-wlr为例

1. 安装xdg-desktop-portal-wlr

bash
paru -S xdg-desktop-portal xdg-desktop-portal-wlr

2. 编辑xdg-desktop-portal-wlr.service

xdg-desktop-portal-wlr默认不支持niri,但可以修改环境变量让它启动

bash
systemctl --user edit xdg-desktop-portal-wlr.service

添加

[Service]
Environment=XDG_CURRENT_DESKTOP=sway

3. 配置portals

~/.config/xdg-desktop-portal/portals.conf:

[preferred]
default=gtk
org.freedesktop.impl.portal.ScreenCast=wlr
org.freedesktop.impl.portal.Screenshot=wlr

4.重启服务:

bash
systemctl --user restart xdg-desktop-portal xdg-desktop-portal-wlr

5. 验证

bash
busctl --user introspect org.freedesktop.portal.Desktop /org/freedesktop/portal/desktop | grep ScreenCast

输出类似如下则配置成功

org.freedesktop.portal.ScreenCast          interface -                 -            -

参考

https://github.com/YaLTeR/niri/discussions/309#discussioncomment-15139815

https://wiki.archlinux.org.cn/title/XDG_Desktop_Portal

https://github.com/YaLTeR/niri/wiki/Screencasting