MPD daemonként...

 ( kanyi | 2012. április 28., szombat - 23:43 )

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ás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

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?

mpd fut, de nem ad ki hangot.

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.

Na jó ez még rendben is van, de most éppen be vagyok jelentkezve és még sem fér hozzá a hangkimenethez. :(

Felhasználóként is elindítottad?

Ha valóban ez a gond, akkor a PulseAudiót is rendszerszinten kell indítani. Egy Alan Briolat nevű srác írt már erről jó régen, de a módszer még mindig használható.

2-at már megnéztem, az első ismeretlen volt.
Sikerült elindítani az mpd-t. :) Viszont most már sehol nincs hang, egyáltalán semmilyen sem. :( De legalább hibaüzenet sincs. Úgy csinál mintha minden rendben lenne, de semmi hang nem jön ki a hangszórókból.

Ez miért meglepő? Mikrofonból nemigen szokott hang jönni :)

Javítva, hangszóróra gondoltam.

Amúgy nemigen tudom. A pulse és egyéb rendszereket vagy fel se telepítem, vagy ha feltelepült, távolítom elfele.
Az mpd és a pulse logja mit mond? Nagyon gyönge kérdés: hangerők fel vannak tekerve?

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

Kösz. Javítottam.

Aztán megcsináltad már? Különben sima felhasználóként mi az mpd-vel a bajod? Annyira fontos, hogy logout után is halld a zenét?


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.

Pulse Audio akkor valamit bekavar, mert nekem ez nem megy. :( Természetesen ez volt az első amit kipróbáltam. Nekem így ha ez be van kapcsolva eléggé változatos hibaüzeneteket tud dobni. De meg sem nyikkan.

Nem kavar az semmit. Szerintem írtam, mitől nem megy.


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