切换回 Xwayland
从某个版本以后,SPlayer 会默认以原生 Wayland 模式运行,这样会导致一些兼容性问题
如果有必要,在这些问题解决之前,推荐切换回 Xwayland 模式使用
你可以在启动时添加 --ozone-platform=x11 的 Electron 参数来指定以 Xwayland 模式运行 SPlayer
(开发环境可以使用 pnpm dev -- --ozone-platform=x11 启动)
你也可以直接修改桌面项,而不用每次都手动添加参数运行
KDE Plasma Wayland
KDE 应该自带了菜单编辑器,你可以
- 右击 SPlayer 的桌面项
- 点击
编辑应用程序...
- 在右侧的
命令行参数 中将 %U 更改为 --ozone-platform=x11 %U
- 保存并退出
其他 DE/WM
大致原理差不多,你可以
- 找到 SPlayer 的桌面项位置(应该在
/usr/share/applications/SPlayer.desktop)
- 复制此文件到
~/.local/share/applications/SPlayer.desktop
- 使用任意文本编辑器打开
- 找到以
Exec= 开头的行,替换为 Exec=/opt/SPlayer/SPlayer --ozone-platform=x11 %U
- 保存并退出
Wayland 桌面歌词
这个方案是有瑕疵的,我们为桌面歌词窗口设置了专门的窗口标题(SPlayer - 桌面歌词)以方便窗口规则匹配
对于 KWin 窗口规则,可参考 这条评论
第三方代替
如果只是需要桌面歌词等,你可以使用兼容的第三方项目
可以使用由 lrst6963 贡献的 桌面歌词 (Splayer-kde-lyc) 和 KDE 任务栏歌词组件 (Splayer-kde-bar-lyc)
这两个项目都通过 WebSocket 与 SPlayer 连接,可以获取到准确的歌词
btw,本项目名称为 SPlayer,强迫症.jpg
也可以使用由 KangweiZhu 维护、Neokoni 贡献了 SPlayer Mode 的 lyrics-on-panel,在 KDE Plasma 6 下工作
项目通过 SPlayer 暴露的 API 使用 HTTP GET /api/control/song-info 获取当前播放的歌曲与歌词
知名的 Waylyrics 当然也能用,不过此项目只能通过 MPRIS 获取歌曲信息,再搜索歌词,所以有时候的歌词不一致,也当然无法应用 SPlayer 的歌词排除设置
结尾
对于影响所有 Linux Wayland 有关的,你可以在这下面讨论;对于仅影响单个问题的进展,可以继续在那个 Sub-issue 里追踪;遇到了新的问题也可以开新的 Issue
切换回 Xwayland
从某个版本以后,SPlayer 会默认以原生 Wayland 模式运行,这样会导致一些兼容性问题
如果有必要,在这些问题解决之前,推荐切换回 Xwayland 模式使用
你可以在启动时添加
--ozone-platform=x11的 Electron 参数来指定以 Xwayland 模式运行 SPlayer(开发环境可以使用
pnpm dev -- --ozone-platform=x11启动)你也可以直接修改桌面项,而不用每次都手动添加参数运行
KDE Plasma Wayland
KDE 应该自带了菜单编辑器,你可以
编辑应用程序...命令行参数中将%U更改为--ozone-platform=x11 %U其他 DE/WM
大致原理差不多,你可以
/usr/share/applications/SPlayer.desktop)~/.local/share/applications/SPlayer.desktopExec=开头的行,替换为Exec=/opt/SPlayer/SPlayer --ozone-platform=x11 %UWayland 桌面歌词
这个方案是有瑕疵的,我们为桌面歌词窗口设置了专门的窗口标题(
SPlayer - 桌面歌词)以方便窗口规则匹配对于 KWin 窗口规则,可参考 这条评论
第三方代替
如果只是需要桌面歌词等,你可以使用兼容的第三方项目
可以使用由 lrst6963 贡献的 桌面歌词 (Splayer-kde-lyc) 和 KDE 任务栏歌词组件 (Splayer-kde-bar-lyc)
这两个项目都通过 WebSocket 与 SPlayer 连接,可以获取到准确的歌词
btw,本项目名称为 SPlayer,强迫症.jpg
也可以使用由 KangweiZhu 维护、Neokoni 贡献了 SPlayer Mode 的 lyrics-on-panel,在 KDE Plasma 6 下工作
项目通过 SPlayer 暴露的 API 使用 HTTP GET
/api/control/song-info获取当前播放的歌曲与歌词知名的 Waylyrics 当然也能用,不过此项目只能通过 MPRIS 获取歌曲信息,再搜索歌词,所以有时候的歌词不一致,也当然无法应用 SPlayer 的歌词排除设置
结尾
对于影响所有 Linux Wayland 有关的,你可以在这下面讨论;对于仅影响单个问题的进展,可以继续在那个 Sub-issue 里追踪;遇到了新的问题也可以开新的 Issue