Skip to content

Linux Wayland 有关问题 #595

@MoYingJi

Description

@MoYingJi

切换回 Xwayland

从某个版本以后,SPlayer 会默认以原生 Wayland 模式运行,这样会导致一些兼容性问题
如果有必要,在这些问题解决之前,推荐切换回 Xwayland 模式使用

你可以在启动时添加 --ozone-platform=x11 的 Electron 参数来指定以 Xwayland 模式运行 SPlayer
(开发环境可以使用 pnpm dev -- --ozone-platform=x11 启动)

你也可以直接修改桌面项,而不用每次都手动添加参数运行

KDE Plasma Wayland

KDE 应该自带了菜单编辑器,你可以

  1. 右击 SPlayer 的桌面项
  2. 点击 编辑应用程序...
  3. 在右侧的 命令行参数 中将 %U 更改为 --ozone-platform=x11 %U
  4. 保存并退出
其他 DE/WM

大致原理差不多,你可以

  1. 找到 SPlayer 的桌面项位置(应该在 /usr/share/applications/SPlayer.desktop
  2. 复制此文件到 ~/.local/share/applications/SPlayer.desktop
  3. 使用任意文本编辑器打开
  4. 找到以 Exec= 开头的行,替换为 Exec=/opt/SPlayer/SPlayer --ozone-platform=x11 %U
  5. 保存并退出

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions