質問: gnomeのマルチメディアショートカットを模倣するために、どのdbusシグナルをプレーヤーに送信しますか? xubuntu 11.10、xfceを持っています。プレーヤーにdbus信号を送信して、gnomeのように機能させたいと思います。「再生」キーを押すと、再生し、「次へ」と進みます。そのためには、次のような一連のコマンドをマルチメディアキーにバインドする必要があります。dbus-send --dest=org.gnome.rhythmbox ... 今、検索しましたが見つかりません。どの信号を送信する必要がありますか?必要なイベントは、再生、早送り、巻き戻しの3つだけです。これが私がこれまでに何とかしたことです:culebron@vostro:~/work/game$ dbus-send --print-reply --dest=org.gnome.rhythmbox /org/gnome/rhythmbox org.gnome.rhythmbox.play error org.freedesktop.dbus.error.unknownmethod: method "play" with signature "" on interface "org.gnome.rhythmbox" doesn't exist culebron@vostro:~/work/game$ dbus-send --print-reply --dest=org.gnome.rhythmbox /org/gnome/rhythmbox org.mpris.mediaplayer2.play error org.freedesktop.dbus.error.unknownmethod: method "play" with signature "" on interface "org.mpris.mediaplayer2" doesn't exist
回答: 送信される信号は、org.gnome.settingsdaemon.mediakeys.mediaplayerkeypressedの/org/gnome/settingsdaemon/mediakeysで、2つの引数があります。プログラム自体が登録するターゲットプログラムの名前と、押されたキー( "play"、 "stop"、 "next"、 "previous ")。 signal sender =:1.3-> dest =(null destination)serial = 3047 path =/org/gnome/settingsdaemon/mediakeys interface = org.gnome.settingsdaemon.mediakeys member = mediaplayerkeypressed string "gnome-mpris-keybind(mpd)" string "play" ただし、g-s-dがないと、プレーヤーは自分自身の登録に失敗し、実際にlisten forこの信号を受信することが保証されないため、これはおそらくほとんど役に立ちません。場合によっては、このレイヤーをスキップして音楽プレーヤーを直接制御できます。ほとんどのプレーヤーはorg.mpris.mediaplayer2.playernameでmpris2インターフェイスをエクスポートし、その他のプレーヤーにはd-feetで探索できるカスタムインターフェイスがあります。 メソッド呼び出しsender =:1.449-> dest = org.mpris.mediaplayer2.mpd serial = 17 path =/org/mpris/mediaplayer2; interface = org.mpris。 mediaplayer2.player; member = playpause