LINUX.ORG.RU

PulseAudio не может подключиться к D-Bus'у

 ,


0

2

И пишет вот что:

Aug 01 22:44:33 HPdv6 systemd[662]: pulseaudio.service: Failed with result 'exit-code'.
Aug 01 22:44:33 HPdv6 systemd[662]: Started Sound Service.
Aug 01 22:44:33 HPdv6 pulseaudio[14568]: W: [pulseaudio] server-lookup.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11
Aug 01 22:44:33 HPdv6 pulseaudio[14568]: W: [pulseaudio] main.c: Unable to contact D-Bus: org.freedesktop.DBus.Error.NotSupported: Unable to autolaunch a dbus-daemon without a $DISPLAY for X11

Если запустить иксы (т.е. переменная $DISPLAY уже выстановлена) и перезапустить пульсу — то же самое.

Сам D-Bus вроде бы корректно работает


Ответ на: комментарий от i_gnatenko_brain

Юнит стандартный Arch'евский, стартую вот так systemctl enable --user pulseauidio. Твой мануал не видел :)

Сейчac воостановил файл /etc/xdg/autostart/pulseaudio.desktop (в одном треде мне intelfx посоветовал егог затереть, потому что у меня были системд-проблемы) и вроде звук есть (после запуска Иксов точно есть). Но варнинг остался.

vanzef
() автор топика
Ответ на: комментарий от vanzef

Во-первых, ты либо запускаешь пульсу через systemd --user (и тогда у тебя один инстанс пульсы на все сессии), либо через /etc/xdg/autostart/pulseaudio.desktop (и тогда каждая сессия, которая умеет в Desktop Application Autostart Specification, будет запускать свою пульсу).

Или то, или другое.

Иначе та пульса, которая запустится второй, скажет «у меня нет доступа к ALSA» и упадёт.

Во-вторых, ты путаешь контекст сессии и контекст systemd --user. Когда ты запускаешь иксы (логинишься графически), переменная $DISPLAY устанавливается только для процессов внутри этой сессии. Процессы внутри systemd --user (в числе которых эта твоя пульса) об этой переменной ничего не знают.

В-третьих, не пытайся вписывать в свой Xsession принудительную установку $DISPLAY через systemctl --user set-environment. Оно сделано не для того, а механизм dbus-daemon autolaunch вообще должен умереть.

В-четвёртых, если ты запускаешь пульсу через systemd --user, просто смирись с тем, что пульса будет недоступна по дбасу. Потому что это разные концепции и разные лайфтаймы: per-user и per-session.

В-пятых, наконец, ошибка соединения пульсы с D-Bus не фатальна. Если пульса не стартует, ищи проблему в другом. Если стартует, то всё уже хорошо.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от i_gnatenko_brain

А с хрена ли там должно что-то поменяться? Читай п. 2 моего ответа :]

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

Или то, или другое.

Я не пользуюсь DM, так что теоретически мне должно быть всё равно.

Процессы внутри systemd --user (в числе которых эта твоя пульса) об этой переменной ничего не знают.

Возможно ты и прав, но ругается она именно на $DISPLAY.

В-третьих, не пытайся вписывать в свой Xsession принудительную установку $DISPLAY через systemctl --user set-environment. Оно сделано не для того, а механизм dbus-daemon autolaunch вообще должен умереть.

Ну, у меня его вообще нет, так что я там точно не выставлю ничего :)

В-четвёртых, если ты запускаешь пульсу через systemd --user, просто смирись с тем, что пульса будет недоступна по дбасу. Потому что это разные концепции и разные лайфтаймы: per-user и per-session.

В-четвёртых, наконец, ошибка соединения пульсы с D-Bus не фатальна. Ищи проблему в другом.

Ну, видимо так и есть, потому что звук появился (после восстановления того файла, что странно), а большего мне и не надо.

vanzef
() автор топика
Ответ на: комментарий от vanzef

Омг...

Я не пользуюсь DM, так что теоретически мне должно быть всё равно.

Я не говорил про DM. Он тут ни при чём.

Процессы внутри systemd --user (в числе которых эта твоя пульса) об этой переменной ничего не знают.

Возможно ты и прав, но ругается она именно на $DISPLAY.

Потому и ругается, что установка $DISPLAY внутри иксовой сессии никак не отражается на процессах, запускаемых systemd --user.

Ну, видимо так и есть, потому что звук появился (после восстановления того файла, что странно), а большего мне и не надо.

звук появился (после восстановления того файла

Это означает, что пульса запускается внутри иксовой сессии, а та, которая запускается из systemd --user, успешно дохнет. Просто отключи юнит. Вряд ли тебе важно, откуда она запускается.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.