{"id":2213,"date":"2008-02-11T20:47:58","date_gmt":"2008-02-11T18:47:58","guid":{"rendered":"http:\/\/mummila.net\/vuorovaikutus\/2008\/02\/11\/cronin-suorittama-rhythmbox-client-print-playing-format-ei-toimi\/"},"modified":"2008-02-11T20:47:58","modified_gmt":"2008-02-11T18:47:58","slug":"cronin-suorittama-rhythmbox-client-print-playing-format-ei-toimi","status":"publish","type":"post","link":"https:\/\/mummila.net\/nuudelisoppa\/2008\/02\/11\/cronin-suorittama-rhythmbox-client-print-playing-format-ei-toimi\/","title":{"rendered":"[Ratkaisu] Cronin suorittama rhythmbox-client &#8211;print-playing-format ei toimi"},"content":{"rendered":"<dl>\n<dt>L\u00e4ht\u00f6kohta<\/dt>\n<dd>Olen asentanut <code>notification-daemon<\/code>-paketin. Minulla on komentojonotiedosto, joka ajaa <code>rhythmbox-client<\/code>-ohjelman <code>--print-playing-format<\/code> -parametrilla, joka tulostaa muuttujaan tallennettavaksi <code>Rytmilaatikko-musiikkisoittimen<\/code> suoritushetkell\u00e4 soittaman kappaleen nimen. Komentorivilt\u00e4 suoritettuna komentojonotiedosto tulostaa kappaleen nimen muuttujaan tarkoittamallani tavalla. Olen asettanut komentojonotiedoston <code>crontab<\/code>-tiedostossani suoritettavaksi kerran minuutissa.<\/dd>\n<dt>Ongelma<\/dt>\n<dd><code>Cronin<\/code> suorittaessa komentojonotiedostoni kappaleen nimi ei tulostu muuttujaan. Haluan sen tulostuvan muuttujaan samalla tavalla kuin komentorivilt\u00e4 suoritettaessa.<\/dd>\n<dt>Ongelman syy<\/dt>\n<dd><a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=438639#post2627143\">Rytmilaatikko vaatii toimiakseen, ett\u00e4 <code>DBUS_SESSION_BUS_ADDRESS<\/code> -niminen muuttuja on asetettu<\/a>. Cronin suorittaessa komentojonotiedostoani muuttujaa ei kuitenkaan ole asetettu.<\/dd>\n<dt>Ratkaisu<\/dt>\n<dd>Teen komentojonotiedoston, joka lukee k\u00e4ynniss\u00e4 olevan rhythmbox-client -prosessin n\u00e4kem\u00e4n DBUS_SESSION_BUS_ADDRESS -muuttujan arvon ja ajaa uuden rhythmbox-clientin halutuilla parametreilla.<\/p>\n<blockquote>\n<pre><code>#!\/bin\/sh\n\nuser=`whoami`\npid=`pgrep -u $user notification-da | cut -d' ' -f 1`\n\n# find DBUS session bus for this session\nDBUS_SESSION_BUS_ADDRESS=`grep -z DBUS_SESSION_BUS_ADDRESS \\\n\t\/proc\/$pid\/environ |sed -e 's\/DBUS_SESSION_BUS_ADDRESS=\/\/'`\n\n# if it was successfull, then we either print it,\n# or export it or whatever, if we want\nif [ \"x$DBUS_SESSION_BUS_ADDRESS\" != \"x\" ]; then\n    export DBUS_SESSION_BUS_ADDRESS\n    # and we start using rhythmbox-client\n    rhythmbox-client --no-start --print-playing-format \"%aa: %tt\"\nfi<\/code><\/pre>\n<p>   <a href=\"\/vuorovaikutus\/files\/2008\/rhythmbox-print-playing\">Lataa <code>rhythmbox-print-playing<\/code><\/a> (530 tavun komentojonotiedosto)<\/p><\/blockquote>\n<p>   Tallennan komentojonotiedoston tiedostonimell\u00e4 rhythmbox-print-playing kotihakemistossani olevaan <code>bin<\/code>-alihakemistoon, mink\u00e4 j\u00e4lkeen muutan sen oikeuksia <code>chmod +x ~\/bin\/rhythmbox-print-playing<\/code> -komennolla niin, ett\u00e4 voin suorittaa sen. Sitten muutan L\u00e4ht\u00f6kohta-otsikon alla mainitsemaani, alun perin rhythmbox-clientia suoraan kutsunutta komentojonotiedostoa niin, ett\u00e4 rhythmbox-clientin sijaan se suorittaa nyt rhythmbox-print-playing -tiedostoni. Sen j\u00e4lkeen parhaillaan soiva kappale tulostuu komentojonossa muuttujaan my\u00f6s silloin, kun komentojonon suoritus tapahtuu cronin tekem\u00e4n\u00e4.<\/dd>\n<dt>Huomautus<\/dt>\n<dd>Mik\u00e4\u00e4n l\u00f6yt\u00e4mist\u00e4ni valmiista komentojonotiedostoista (<a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=437679#post2644309\">esimerkki 1<\/a>, <a href=\"http:\/\/ubuntuforums.org\/showthread.php?t=556532#post3405024\">2<\/a>) ei toiminut sellaisenaan. Yll\u00e4 oleva komentojonotiedosto on niiden perusteella tekem\u00e4ni oma sovellus.<\/dd>\n<\/dl>\n","protected":false},"excerpt":{"rendered":"<p>Rhythmbox-client ei tulosta kappaleen nime\u00e4 odotetulla tavalla silloin, kun cron suorittaa sen. Odotetunlaista toimintaa varten t\u00e4ytyy asettaa DBUS_SESSION_BUS_ADDRESS -muuttuja.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[3672],"class_list":["post-2213","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-rytmilaatikko"],"_links":{"self":[{"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/posts\/2213","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/comments?post=2213"}],"version-history":[{"count":0,"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/posts\/2213\/revisions"}],"wp:attachment":[{"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/media?parent=2213"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/categories?post=2213"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mummila.net\/nuudelisoppa\/wp-json\/wp\/v2\/tags?post=2213"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}