16.04 版中恒定音量 OSD?

16.04 版中恒定音量 OSD?

以前我使用的是 Ubuntu Gnome,我需要干净启动我的系统,所以我直接使用 Ubuntu 16.04。

在我重新加载的两个系统上,我得到了恒定音量的 OSD(大约每 2-4 分钟出现一次)。

我的两个系统唯一的共同点是它们都共用一个带有音量摇杆的 Logitech G710+ 键盘。

音量摇杆确实起作用。

我该如何诊断导致此问题的原因并理想地修复它。我不想禁用 OSD,因为当我实际更改音量时它很有用。

答案1

  1. 您可以开始监控 DBus 的 Notify 调用,您可以使用它来显示干净的输出:

    dbus-monitor "type=method_call","path=/org/freedesktop/Notifications","interface=org.freedesktop.Notifications","member=Notify"
    

    以下是输出示例:

    method call time=1466117414.215345 sender=:1.45 -> destination=:1.34 serial=51 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
       string "Xfce volume daemon"
       uint32 0
       string "audio-volume-low"
       string "Volume is at 25%"
       string ""
       array [
       ]
       array [
          dict entry(
             string "value"
             variant             int32 25
          )
       ]
       int32 -1
    method call time=1466117414.215449 sender=:1.49 -> destination=:1.34 serial=2065 path=/org/freedesktop/Notifications; interface=org.freedesktop.Notifications; member=Notify
       string "indicator-sound"
       uint32 0
       string "audio-volume-low"
       string "Volume"
       string "Headphones"
       array [
       ]
       array [
          dict entry(
             string "x-canonical-non-shaped-icon"
             variant             string "true"
          )
          dict entry(
             string "x-canonical-value-bar-tint"
             variant             string "false"
          )
          dict entry(
             string "x-canonical-private-synchronous"
             variant             string "true"
          )
          dict entry(
             string "value"
             variant             int32 26
          )
       ]
       int32 -1
    
  2. 检查来源和目的地

    最重要的部分是:

    method call time=1466117414.215345 sender=:1.45 -> destination=:1.34 ...
       string "Xfce volume daemon"
    ...
    method call time=1466117414.215449 sender=:1.49 -> destination=:1.34 ...
       string "indicator-sound"
    ...
    

    打开 D-Feet → Session Bus:检查每个总线地址的 PID 和 CMD。在我的示例中,我发现:

    :1.34  2891  /usr/lib/x86_64-linux-gnu/notify-osd
    :1.45  2933  xfce4-volumed
    :1.49  2963  /usr/lib/x86_64-linux-gnu/indicator-sound/indicator-sound-service
    

    d-feer dbus 调试

    indicator-sound-service 是的,每次改变音量时我都会遇到波动xfce4-volumed(我使用的是 Xubuntu 16.04,并且启用了 Unity 指示器)

  3. 如果您认为原因可能是键盘,那么使用:xev或者更好地sudo evtest监控 X 键盘事件。

参考: https://wiki.ubuntu.com/DebuggingDBus

相关内容