का उपयोग करके ट्रैक परिवर्तन के लिए तालबद्धता की निगरानी कैसे करें, मैं here वर्णित वही काम करना चाहता हूं, लेकिन पाइथन के बजाय शेल स्क्रिप्टिंग (अधिमानतः बैश में) का उपयोग करना चाहता हूं। ऐसा लगता है कि dbus-monitor
का उपयोग करके ऐसी चीज संभव होनी चाहिए, लेकिन मैं डीबीस से बहुत परिचित नहीं हूं, और यह मुझे स्पष्ट नहीं है कि पाइथन प्रश्न के समाधान में वर्णित अवधारणाओं को कैसे लें और उन्हें डीबीस-मॉनीटर टूल पर लागू करें ।बैश
#!/bin/bash
interface=org.gnome.Rhythmbox.Player
member=playingUriChanged
# listen for playingUriChanged DBus events,
# each time we enter the loop, we just got an event
# so handle the event, e.g. by printing the artist and title
# see rhythmbox-client --print-playing-format for more output options
dbus-monitor --profile "interface='$interface',member='$member'" |
while read -r line; do
printf "Now playing: "
rhythmbox-client --print-playing
done
यह इस तरह उत्पादन का उत्पादन:
Now playing: Daft Punk - Overture
Now playing: Daft Punk - The Grid
जब शुरू किया यह भी वर्तमान में चल रहे गीत प्रिंट
अच्छा समाधान, धन्यवाद! – jbeard4
यह अब और काम नहीं करता है, rythmbox-client गिरा दिया गया है ... –
यदि मैं लगातार निगरानी नहीं करना चाहता; अगर मैं Rhythmbox को बंद करने के बाद स्क्रिप्ट से बाहर निकलना/मारना चाहता हूं, तो मैं इसे कैसे कर सकता हूं? क्या यह स्क्रिप्ट के भीतर संभव है या क्या मुझे इसके लिए एक अलग लिपि चाहिए? –