gnome-settings-daemon从升级16.04开始抓取多媒体密钥并丢弃静音
我有一台运行Ubuntu的Thinkpad X1(第一代)(之前在14.04)
它的侧面有多媒体按钮:XF86Launch1,XF86AudioMute,XF86AudioRaiseVolume,XF86LowerVolume和XF86AudioMicMute。 他们过去在14.04工作正常,甚至达到“静音”键内的小橙色灯在静音时亮起并在没有时关闭的程度。
我升级到16.04,他们都没有工作了。
我意识到他们被Gnome-control-center或unity-control-center访问的键盘快捷键所吸引(但未被使用)。
当我关闭媒体键的键盘快捷键时,我随后能够看到xev的密钥代码,因此可以使用类似xbindkeys的东西来解决问题。
除了输入静音之外的所有静音都不起作用。 所以我查看了acpi_listen并看到按钮正在注册,就像其他媒体键一样,但当我按下它时,我看到:
(gnome-settings-daemon:14711): GLib-GIO-WARNING **: Dropping signal AcceleratorActivated of type (uuu) since the type from the expected interface is (ua{sv})
当我杀死gnome-settings-daemon然后我可以正确地看到xev中的输入静音键并根据需要抓取它。
如何让gnome-settings-daemon不要尝试(并且没有)抓住这个密钥?
如果您没有将gnome-shell
作为桌面环境运行,那么您的媒体密钥就会出现问题。 它们由gnome-settings-daemon
配置和处理,但自2013年提交以来被gnome-shell
抓取。
要在不运行gnome-shell
或unity的情况下恢复旧行为,必须安装并运行填充程序来获取和转发密钥。
对于媒体键function,这样的程序在arch linux AUR包gnome-settings-daemon-compat中可用。 该软件包提供可执行文件/usr/lib/gnome-settings-daemon/gnome-fallback-media-keys-helper
,它在任何桌面环境/窗口管理器中提供对媒体密钥的支持。
您需要将其添加为您的gnome会话的依赖项,或者让它在会话init中运行。 我不确定它是否为ubuntu打包,或者你是否可以运行unity-fallback-media-keys-helper
(我没有安装来检查)。