MPD daemonként...

Fórumok

Ubuntu alatt, sikerült simán beállítani az MPD-t felhasználói folyamatként. Megy is rendesen ha bejelentkezem a felületre. Viszont jó lenne ha el lehetne indítani egyből rendszerindításkor is. Hát ez nem annyira sima. :(
'output: Failed to open "Pulseaudio for MPD" [pulse]: failed to connect: Connection refused'
user van (mpd), csoport van (audio), zenéket látja adatbázist felépítette, IPv6 kikapcsolva most már felismerik a kliensek is, viszont nincs hang. Ez annak ellenére van, hogy ugyan azokat a beállításokat használom mint ha felhasználói folyamatként futna. Úgy megy rendesen.Az ide vonatkozó rész a configból:
audio_output {
type "pulse"
name "Pulseaudio for MPD"
server "pulseaudio" # optional
sink "alsa_output.pci-0000_05_00.0.analog-stereo" # optional

Most viszont rendszerfolyamatként meg sem nyikkan.Elvileg a rendszerjogok rendben vannak:
$ groups mpd
mpd : audio video pulse pulse-access

Nem igazán tudom még szükség lenne valami jogosultságra Ubuntu alatt?
Konfigurációs fájl a /etc/mpd.conf helyen van.
Van valakinek ötlete?

Hozzászólások

Ha jól értem a problémádat, az /etc/default/mpd konfig fájlban fogod találni a megoldást.

szerkesztve:
Tehát a kérdés: az mdp nem indul el(arra írtam megoldást), vagy a pulse audiot nem éri el?

Régebben én is belefutottam ebbe a hibába. Pontosan nem sikerült felderítenem, hogy hogy (nem) működik, de a tippem a következő:

A Pulseaudio Ubuntun olyan beállításokkal van lefordítva, hogy felhasználónként külön indít egy daemont, és csak akkor teszi rá a valódi hangkártyára a kimenetét, ha az adott felhasználónak a képernyője látszik. Azt, hogy ez mitől logikus ne tőlem kérdezd!

A lényeg, hogy nálam az egyetlen megoldás arra, hogy az MPD mindentől függetlenül biztosan induljon szolgáltatásként indítva az volt, hogy letöröltem a PulseAudiót, és alsa módban használtam mindent ami hangot ad ki. Én zenés ébresztő programot csináltam vele, ami akkor sem hagy cserben, ha a GUI nem indul el (kernel upgrade után előfordul, hiszen Linux...), ezért kellett a daemon módú működés. Sikerült teljesen megbízhatóra összeraknom az egészet, amig egy rendszerfrissítés el nem rontotta az egész billegő tákolmányt.

Abba a zsákutcába is bele lehet futni, hogy indítasz egy system-wide pulseaudio daemon-t, meg egyet, amelyik a nevedben fut. Az egyik - a rendszerszintű, mert az indult hamarabb - megkaparintja a hangkártyát, a másiknak a semmi lesz a kimenete. Az mpd meg a másikhoz csatlakozik, így működni ugyan fog, de hangja nem lesz.

Tehát arra is figyelj, hogy miután megoldottad, hogy legyen rendszer pulseaudio daemon-od, ne induljon el a desktop környezet indulásakor a felhasználói példány. Az sem kizárt, hogy a /etc/pulse/client.conf file-ban kell egy

autospawn = no

így, nem commentben, tehát pontosvessző vagy hashmark nélkül. Azért, hogy ne induljon újra, mert akkor elpusztíthatatlanná válik.

Ellenőrizni pedig így lehet, hány példányként fut. Egy PID a jó válasz:

pgrep -l pulse

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Igen, egyenlőre pont ez áll fent. :)
$ ps aux | grep pulse
mpd 2497 0.0 0.2 114852 5064 ? Sl 18:11 0:00 /usr/bin/pulseaudio --start --log-target=syslog
mpd 2573 0.0 0.1 14116 2480 ? S 18:11 0:00 /usr/lib/pulseaudio/pulse/gconf-helper
kanyi 2738 0.6 0.3 127612 6436 ? Sl 18:12 0:00 /usr/bin/pulseaudio --start --log-target=syslog
kanyi 2763 0.0 0.1 14088 2488 ? S 18:12 0:00 /usr/lib/pulseaudio/pulse/gconf-helper

Én már csináltam ilyet - igaz, Fedorán -, mondom, mi a gond. Egyébként fentebb már lényegében leírták.

Az mpd amikor elindul, kell tudjon csatlakozzon valamilyen audio felülethez. Ha ez a Pulseaudio, akkor ahhoz. Ennek viszont az a feltétele, hogy a Pulseaudio már fusson. Ez meg akkor lesz így, ha system-wide Pulseaudio daemon-t indítasz még az mpd előtt, s nem per user. Ugyanakkor Lennart Poettering ez utóbbit preferálja, mert így biztonságos.

A system-wide Pulseaudio biztonsági problémája tudtommal abban rejlik, hogy az összes felhasználónak kell legyen hozzáférési joga, s akkor simán előfordulhat, hogy az egyik felhasználó pl. VoIP telefonál, a másik meg a Pulseaudio hozzáférésén át rögzíti a hangot, pl. ssh-n át. Az meg ritkán kellemes, ha poloskaként működik a számítógép.

Ezért aztán a Pulseaudio-t illik felhasználóként indítani, ennek keserű következménye, hogy az mpd-t is.

Én egyébként használok mpd-t, s sima felhasználóként indítom. Együtt tudok azzal élni, hogy logout esetén elhallgat a zene. Nem ér meg annyi izmozást, hogy megcsináljam a system-wide Pulseaudio-t. További szívás, hogy ahhoz megfelelő SELinux beállítások is kellenek.

Jó az mpd sima felhasználóként is, nem?

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Na, akkor ezen reszelj még egy kicsit! :)

(Azért nem válaszként írtam, mert elfelejtetted a </code> tag-et, s így még javíthatod. ;) )

tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Feladtam. :(
Marad a saját felhasználós móka.
Nem az lett volna a fontos hogy logout után halljak valamit, hogy hogy login előtt. :-) Vagy is még a gép közelébe sem kell menni, mert távirányítani, bekapcsolni remekül lehet, csak ez az egy probléma van. Jó, igen autologin...

Igaz nálam alsa van, de daemonként indul és a saját login nevemben. Az mpd.confban van egy user nevezetű sor. Ott add meg a felhasználóneved. Remélem ez segít.