之前我使用的是 Ubuntu Gnome,我需要乾淨啟動我的系統,所以我直接使用 Ubuntu 16.04。
在我重新加載的兩個系統上,我得到了恆定音量的 OSD(大約每 2-4 分鐘出現一次)。
我的兩個系統唯一的共同點是它們都共享一個 Logitech G710+ 鍵盤,確實有音量搖桿。
音量搖桿確實有效。
我如何診斷導致此問題的原因並理想地解決它。我不想停用 OSD,因為當我實際更改音量時它很有用。
答案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
檢查來源和目的地
最重要的部分是:
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 → 會話匯流排:檢查每個匯流排位址的 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
是的,我在每個卷的變化上都出現了氣泡
indicator-sound-service
(xfce4-volumed
我已經啟用了 Unity 指示器的 Xubuntu 16.04)如果您認為原因可能是鍵盤,那麼請使用:
xev
或更好地sudo evtest
監視 X 鍵盤事件。