我在使用 Ubuntu 和 Gnome。我的多媒体键(播放/暂停、停止等)一直工作正常,然后突然间它们停止工作了。
我特别希望他们能与 Spotify 合作。
答案1
常见解决方案
如果多媒体键之前可以使用但现在停止工作,以下一种或多种解决方案可能会有所帮助:
重新启动
gsd-media-keys
(参见故障排除下面看看为什么这可能是必要的)Ubuntu 20.04+
systemctl --user restart gsd-media-keys.target
之前的版本
killall gsd-media-keys
尝试关闭所有应用程序,然后打开您想要首先接收多媒体键的应用程序
- 接收多媒体按键的应用程序可能会接收所有按键并阻止其他应用程序接收它们
- 接收多媒体按键的常见应用程序:
- 铬合金
- 火狐
- Spotify
- 如果你开始播放媒体文件,其他基于 Electron 的应用程序可能会抓取多媒体键(例如 Microsoft Teams)
另一种解决方法是完全禁用某些应用程序的多媒体键支持
铬合金
- 在地址栏中转到
chrome://flags/#hardware-media-key-handling
- 将值更改为
Disabled
- 重启 Chrome
- 在地址栏中转到
火狐
- 在地址栏中转到
about:config
- 如果需要,单击接受风险并继续
- 搜索
media.hardwaremediakeys.enabled
false
通过点击切换按钮进行设置- 重启 Firefox
- 在地址栏中转到
微软团队
应用程序中没有禁用媒体键的设置,但由于它是一个 Electron 应用程序,因此您可以使用这种解决方法:
复制默认桌面文件
cp /usr/share/applications/teams.desktop ~/.local/share/applications/teams.desktop
添加参数以禁用媒体键
sed -i 's/^Exec=teams %U/Exec=teams --disable-features=HardwareMediaKeyHandling %U/' ~/.local/share/applications/teams.desktop
如果您已将 Teams 配置为自动启动,则可以使用以下步骤:
从 Teams 内部禁用自动启动(3 个点菜单 >设置> 取消勾选自动启动应用程序)
创建自定义自动启动文件
cp /usr/share/applications/teams.desktop ~/.config/autostart/teams-custom.desktop
添加参数以禁用媒体键
sed -i 's/^Exec=teams %U/Exec=teams --disable-features=HardwareMediaKeyHandling %U/' ~/.config/autostart/teams-custom.desktop
将媒体键快捷键重置为默认值
dconf reset /org/gnome/settings-daemon/plugins/media-keys/next dconf reset /org/gnome/settings-daemon/plugins/media-keys/pause dconf reset /org/gnome/settings-daemon/plugins/media-keys/play dconf reset /org/gnome/settings-daemon/plugins/media-keys/previous
如需更多控制,请参阅播放器控制
故障排除
用于
dbus-send
列出通过以下方式配置的应用程序管理咨询研究所接收多媒体密钥,例如:$ dbus-send --print-reply --dest=org.freedesktop.DBus /org/freedesktop/DBus org.freedesktop.DBus.ListNames | grep org.mpris string "org.mpris.MediaPlayer2.spotify" string "org.mpris.MediaPlayer2.chrome.instance22348"
在此示例中,您可以看到 Spotify 和 Chrome (
org.mpris.MediaPlayer2.chrome.instance22348
) 已配置为接收多媒体密钥- 笔记:如果您看到类似的条目
org.mpris.MediaPlayer2.chromium.instance16163
,但您没有安装 Chromium,则它可能是基于 Electron 的应用程序。
- 笔记:如果您看到类似的条目
观看 /var/log/syslog
tail -F /var/log/syslog
按媒体键(播放、暂停、停止等)
查看日志中是否有相关消息,例如
Mar 26 12:23:17 hostname gsd-media-keys[1762]: Error calling method GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.mpris.MediaPlayer2.chrome.instance10062 was not provided by any .service files
org.mpris.MediaPlayer2.chrome.instance10062
在此示例中,您可以看到即使该应用程序不在步骤 1 中的列表中,也会发送密钥。解决方案(如上所述)是重新启动
gsd-media-keys
。如果以上方法均无效,请确保媒体键快捷键均设置为默认值
dconf read /org/gnome/settings-daemon/plugins/media-keys/next dconf read /org/gnome/settings-daemon/plugins/media-keys/pause dconf read /org/gnome/settings-daemon/plugins/media-keys/play dconf read /org/gnome/settings-daemon/plugins/media-keys/previous
如果所有键都设置为其默认值,则不应返回任何输出,例如:
$ dconf read /org/gnome/settings-daemon/plugins/media-keys/next $ dconf read /org/gnome/settings-daemon/plugins/media-keys/pause $ dconf read /org/gnome/settings-daemon/plugins/media-keys/play $ dconf read /org/gnome/settings-daemon/plugins/media-keys/previous $