pulseaudio indítása

Fórumok

Na, megint nem értek valamit. Az Xfce a start-pulseaudio-x11 scriptet indítja, ezt amúgy a pulseaudio-module-x11 csomag tartalmazza. Mindezt azzal a céllal teszi, hogy elindítsa a hangszervert. A szándék jó, ám a script pactl hívásokat tartalmaz, azzal töltene be egy-egy pulseaudio mudult. A gond ezzel az, hogy a pactl egy kliens, tehát futó pulseaudio szerverhez tud becsatlakozni.

Tehát van egy script, amit azért hívnak, hogy elindítsa a hangszervert, ám a scriptben csak futó szerverhez való csatlakozás, a futó szerver üzemviszonyainak klienssel történő manipulálása van. Ügyes! Aztán csoda, hogy nem volt a memóriában a hangszerver?

Mindegy is, az Xfce session-öm által indított, magam által írt scriptjébe írtam egy

pulseaudio --start

sort, ez elindítja daemon-ként a hangszervert, ha az még nem fut.

Fogalmam sincs, mikor, mitől romlott el. Vagy a scriptnek kellene berántania a pulseaudio szervert a memóriába, mielőtt pactl-lel piszkálja azt, vagy systemd dolga, nem tudom. Mindegy is, megoldás mindig van. :)

Update:

Úgy látom, tényleg systemd-vel akarták, csak a nagy rohanásban valamiért nem jött össze. A legutóbbi pulseaudio build changelogja:

--disable-systemd-daemon, revert to autospawn mode

Hozzászólások

Elméletileg a grafikus felülettel együtt indul pulseaudio. (Normál esetben van egy "pulseaudio.desktop" file-od /etc/xdg/autostart alatt)

/etc/xdg/autostart, valamint ~/.config/autostart alatt lévő "*.desktop" file-ok automatikusan indulnak.

Ez így van, csakhogy ebben a file-ban:

Exec=start-pulseaudio-x11

which start-pulseaudio-x11
/usr/bin/start-pulseaudio-x11

Továbbá:

sed '/^#/ d' /usr/bin/start-pulseaudio-x11

set -e

if [ x"$DISPLAY" != x ] ; then

    /usr/bin/pactl load-module module-x11-publish "display=$DISPLAY" > /dev/null
    /usr/bin/pactl load-module module-x11-cork-request "display=$DISPLAY" > /dev/null

    if [ x"$KDE_FULL_SESSION" = x"true" ]; then
       /usr/bin/pactl load-module module-device-manager "do_routing=1" > /dev/null
    fi

    if [ x"$SESSION_MANAGER" != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
    fi
fi

Tehát ez már csak becsatlakozik a futó pulseaudio daemonhoz, betölt modulokat, de hogy ez sikerüljön, futnia kellene a daemonnak. Legalább is szerintem.

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