LINUX.ORG.RU

pulseaudio + systemd

 , , , ,


1

1

Как-то было дело поставил pulseaudio и оно заработало 'изкоробки'. Потом заметил, кода переключаешься между пользователями — звук есть только у одного — почитал http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Perfec..., удалил пользователей из группы audio — всё заработало.
Вчера, вдохновившись этим тредом Всё, Поттеринг победил решил поставить попробовать systemd :). Немного помучился, но всё запустил, что надо, грузится, работает нормально... вроде бы на первый взгляд.
Запускаю плеер — не играет. Звука нет.
Запускаю alsamixer — там с громкостью всё нормально, смотрю по F6 звуковую карту — один дефоулт.(обычно там в списке ещё intel hda).
Покопался по настройкам пульсы/альсы — вроде всё в норме.
Убил пульсу (killall -9 pulseaudio) убил иксы, запускаю в консоли alsamixer — intel hda видит, музыку играет. Запускаю иксы( в .xinitrc поставлено start-pulseaudio-x11) — звук пропал :).
Ок. добавляю себя в группу audio, перелогиниваюсь — запускаю иксы — всё нормально звук есть. Через альсу звук нормально идёт — через openAL(в q2pro попробовал) — рывками.
Вот такие, блины-пироги. Поделитесь собственным опытом пожалуйста. Чего я делаю не так? Есть какие-нибудь советы/предположения что это такое и как исправить это безобразие? Как настроить пульсу с системд, чтобы не добавлять пользователя в группу audio? Может какие демоны стартовать нужно?
Помогите:)

★★★★

Я не состою в группе audio, но звук работает. Хотя я не возился с другими пользователями.
И да, зачем тебе alsamixer если у тебя пульсаудио?

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

И да, зачем тебе alsamixer если у тебя пульсаудио?

Зачем мне холодильник, если я не курю?

geekless ★★ ()
Ответ на: комментарий от bitick

Я не состою в группе audio, но звук работает.

а как пульсаудио запскаешь?

Bad_ptr ★★★★ ()
Ответ на: комментарий от geekless

Есть pavucontrol.
Указанный alsamixer рулить пульсой не способен, т.к. не предназначен для этого.

Рулить пульсой через alsamixer - все равно, что курить холодильники...

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Есть pavucontrol.

я его, кстати тоже запускал. и papref и paman и ещё чего-то. Дак вот оно там показывает, какбуд-то всё нормально, а звука нету :)).

Bad_ptr ★★★★ ()
Ответ на: комментарий от pekmop1024

Рулить пульсой через alsamixer - все равно, что курить холодильники...

ага, а если у тебя в alsamixer звук muted — пульса играть не будет :))

Bad_ptr ★★★★ ()

Это же 2 творения поттеринга, наверняка они друг друга ненавидят даже больше своего создателя.

bitick ()
Ответ на: комментарий от pekmop1024

ВНЕЗАПНО, PA виден в альсе как отдельное устройство, и у него можно регулировать уровень громкости. Собственно, прозрачная интеграция с альсой — это фича, без которой PA был бы нахрен не нужен.

В матчасть, короче.

geekless ★★ ()
Ответ на: комментарий от geekless

Ты же меня игнорить грозился, бедненький. :)
Альсамиксером пульсой управлять нельзя. Замутить != управлять.

pekmop1024 ★★★★★ ()
Ответ на: комментарий от pekmop1024

Замутить != управлять.

громкость менять тоже можно, да :)

Bad_ptr ★★★★ ()
Ответ на: комментарий от pekmop1024

Ты же меня игнорить грозился, бедненький. :)

У тебя глюки, прими разупорин.

Альсамиксером пульсой управлять нельзя. Замутить != управлять.

Бгг. Запустил alsamixer, потыкал регуляторы, изменил уровень громкости в PA. ЧЯДНТ?

Алсо, у меня на панели висит апплет для регулировки звука в альсе. Прекрасно регулирует звук пульсы при этом на самом деле. И снова, ЧЯДНТ?

geekless ★★ ()

pulseaudio + systemd

Прочитав заголовок, подумал, что их объединили.

wq ()
Ответ на: комментарий от geekless

У тебя глюки, прими разупорин.

Закончился :(

Запустил alsamixer, потыкал регуляторы, изменил уровень громкости в PA

А как насчет настройки девайсов ввода/вывода и поканального управления громкостью отдельных софтин? То-то и оно...

pekmop1024 ★★★★★ ()
Ответ на: комментарий от bitick

наверное, но до системд работало и так, значит это возможно, значит нужно разобраться в чём дело

Bad_ptr ★★★★ ()
Ответ на: комментарий от pekmop1024

Рулить пульсой через alsamixer - все равно, что курить холодильники...

Читал я про такое решение — пропустить альсу через пульс и прописать пульс в .asoundrc 8)

Xenesz ★★★★ ()

Что я делаю не так.

Используешь несколько пользователей.

Vekt ()

Вобщем заметил такое поведение. Вот система загрузилась, вот я залогинился. Вот я включаю музыку — играет.
При запуске иксов либо при переключении на другой терминал (Alt+Fn) — звук пропадает.
Может это какой-то консолекит или рткит там какой-то ещё есть? Может там чё поковырять надо?

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

Да, точно, почему-то звук есть только на певром терминале.
WTF ???!!!

Bad_ptr ★★★★ ()

У меня со звуком с группой audio все ок. Если выбросить себя из группы аудио, надо настривать мультисит.

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от Bad_ptr

Ну так это типа фишка такая. Ты ушел с терминала, все залочилось :)

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Ну так это типа фишка такая. Ты ушел с терминала, все залочилось :)

Т.е. мне теперь слушать музыку только сидя на первом терминале? И в иксах без звука сидеть?

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

А. Вот оно что. Гыгы :D Покажи ls -l /dev/snd из первого терминала, и из иксов

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Из терминала:

drwxr-xr-x  2 root root       80 авг.  15 17:25 by-path
crw-rw----+ 1 root audio 116,  9 авг.  15 17:25 controlC0
crw-rw----+ 1 root audio 116, 11 авг.  15 17:25 controlC1
crw-rw----+ 1 root audio 116,  8 авг.  15 17:25 hwC0D0
crw-rw----+ 1 root audio 116,  7 авг.  15 17:25 hwC0D3
crw-rw----+ 1 root audio 116,  6 авг.  15 17:25 pcmC0D0c
crw-rw----+ 1 root audio 116,  5 авг.  15 17:38 pcmC0D0p
crw-rw----+ 1 root audio 116,  4 авг.  15 17:25 pcmC0D1p
crw-rw----+ 1 root audio 116,  3 авг.  15 17:25 pcmC0D2c
crw-rw----+ 1 root audio 116,  2 авг.  15 17:25 pcmC0D3p
crw-rw----+ 1 root audio 116, 10 авг.  15 17:25 pcmC1D0c
crw-rw----  1 root audio 116,  1 авг.  15 17:25 seq
crw-rw----+ 1 root audio 116, 33 авг.  15 17:25 timer
Из иксов:
drwxr-xr-x  2 root root       80 авг.  15 17:25 by-path
crw-rw----+ 1 root audio 116,  9 авг.  15 17:25 controlC0
crw-rw----+ 1 root audio 116, 11 авг.  15 17:25 controlC1
crw-rw----+ 1 root audio 116,  8 авг.  15 17:25 hwC0D0
crw-rw----+ 1 root audio 116,  7 авг.  15 17:25 hwC0D3
crw-rw----+ 1 root audio 116,  6 авг.  15 17:25 pcmC0D0c
crw-rw----+ 1 root audio 116,  5 авг.  15 17:38 pcmC0D0p
crw-rw----+ 1 root audio 116,  4 авг.  15 17:25 pcmC0D1p
crw-rw----+ 1 root audio 116,  3 авг.  15 17:25 pcmC0D2c
crw-rw----+ 1 root audio 116,  2 авг.  15 17:25 pcmC0D3p
crw-rw----+ 1 root audio 116, 10 авг.  15 17:25 pcmC1D0c
crw-rw----  1 root audio 116,  1 авг.  15 17:25 seq
crw-rw----+ 1 root audio 116, 33 авг.  15 17:25 timer

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

Что-то видать я не понимаю как это работает. Если ты не в группе audio, как оно может туда писать, интересно, даже с первого терминала >_>

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Вот если добавить такую строку в /etc/security/group.cfg

other; tty* ;*;Al;audio

То начинает играть во всех терминалах, где залогинены юзвери, но в иксах попрежнему отрубает. Можно где-то прописать, чтобы определённым пользователям в иксах выдавалось разрешение на группу? :)))
Правда чем это лучше тупого добавления в audio... наверное ничем:)))

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

Ну ды, по всей видимости так и есть, https://bbs.archlinux.org/viewtopic.php?id=147121 это полисикит надо настраивать, а арчемаинтейнеры покачто этим себя не утруждали.
Блин, какие-то там иксэмэль конфиги + ещё как-то это всё на дбас завязано — документации нигде нету...
Надо у федоровцев/редхедов поспрашивать настроек для полисикита, чтоли.

Bad_ptr ★★★★ ()

> Потом заметил, кода переключаешься между пользователями — звук есть только у одного — ... удалил пользователей из группы audio — всё заработало.

Вот ведь костыли... Удаляй PulseAudio лучше.

Предлагаю писать баг. Только не знаю на что, на то что пришлось удалять пользователей из группы Audio, или на то, что потом пришлось добавлять их обратно.

OpenAL предлагаю пересобрать с поддержкой PulseAudio вручную. HowTO: Почему не работает OpenAL и как решить эту проблему

ZenitharChampion ★★★★★ ()
Ответ на: комментарий от Vekt

>> Что я делаю не так.

> Используешь несколько пользователей.

Похоже, программы Поттеринга работают только на компьютере с иксами, 1 монитором, дешёвыми колонками и самыми распространёнными звуковыми картами. И чтобы конфигурация системы была самой типичной, чтобы никакого пустого пароля, или нескольких пользователей, или двух иксов, или переключателя раскладки по Caps Lock. И ни в коем случае /usr на отдельном разделе.

ZenitharChampion ★★★★★ ()

Поставь нормальный дистрибутив вместо говнарча/шлаквары. У меня всё работает из коробки.

redgremlin ★★★★★ ()
Ответ на: комментарий от redgremlin

Поставь нормальный дистрибутив

Во, кстати, какой у Вас дистрибутив?:)

Bad_ptr ★★★★ ()
Ответ на: комментарий от redgremlin

А можно попросить(и вообще всех, у кого пульса работает нормально):

sudo grep -lir pulseaudio /usr/share/polkit-1 /etc/polkit-1 /etc/dbus-1/ /etc/security /etc/pam.d | xargs tar czvf parulespak.tgz
либо, если директории полисикита называются PolicyKit
sudo grep -lir pulseaudio /usr/share/PolicyKit /etc/PolicyKit /etc/dbus-1/ /etc/security /etc/pam.d | xargs tar czvf parulespak.tgz
либо, если не жалко(но тут может загрепится, например, файл с паролем от mpd, такчто осторожно)
sudo grep -lir pulseaudio /etc/ | xargs tar czvf parulespak.tgz
Ну или как-то иначе там, если боишься за секурность, и закинуть результирующий пак на http://rghost.net/ или на const20 at yandex.ru -)

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

А можно попросить

Попросить можно. Только я сейчас злоупотребляю, так что выложу не раньше утра с работы (sshd для этого сейчас дома поднял).

redgremlin ★★★★★ ()
Ответ на: комментарий от redgremlin

так что выложу не раньше утра с работы (sshd для этого сейчас дома поднял).

Я так понял, ты позабыл. Ну и отлично, не надо вспоминать, я уже посмотрел сам :)

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

Ага, забыл совсем, видать уже достаточно тепленький был :)

redgremlin ★★★★★ ()

Я тут разобрался как эта штука работает. Вобщем нужные правила udev маркируются тегом uaccess, который мапится в удевовский builtin uaccess. Эта штука расставляет с ACL (т.е. права на девайсах надо смотреть с getfacl) с использованием консолькита/logind. Когда ты переключаешься на другой терминал, у тебя уходит сессия, права убираются и дрова.

Тут собственно вопрос, почему у тебя сессия активна на 1м терминале. Я щас не в audio, и у меня все работает. Вероятно логинд не правильно настроен. Я в паме натолкал такого:

~ > cat /etc/pam.d/system-login 
auth		required	pam_tally2.so onerr=succeed
auth		required	pam_shells.so 
auth		required	pam_nologin.so 
auth		include		system-auth
				
account		required	pam_access.so 
account		required	pam_nologin.so 
account		include		system-auth
account		required	pam_tally2.so onerr=succeed 
 
password	include		system-auth

session		required	pam_selinux.so close
session		required	pam_env.so 
session		optional	pam_lastlog.so 
session		include		system-auth
session		optional	pam_motd.so motd=/etc/motd
session		optional	pam_loginuid.so
session		optional	pam_systemd.so controllers=cpu kill-session-processes=1
session		required	pam_selinux.so multiple open
~ > loginctl list-sessions --no-pager
   SESSION        UID USER             SEAT            
         1       1000 avatar           seat0           

1 sessions listed.
~ > loginctl show-session 1  | grep -i active
Active=yes
State=active
~ > getfacl /dev/snd/hwC0D0 
getfacl: Removing leading '/' from absolute path names
# file: dev/snd/hwC0D0
# owner: root
# group: audio
user::rw-
user:avatar:rw-
group::rw-
mask::rw-
other::---

А вот, когда я в другом VT:

~ > cat /tmp/s1 
         1       1000 avatar           seat0           
         3       1000 avatar           seat0   

Active=no
State=online

Но, опять же, когда я залогинился uaccess запихал меня в ACL.

Вот когда я на VT с залогиненым root:

# file: dev/snd/hwC0D0
# owner: root
# group: audio
user::rw-
group::rw-
mask::rw-
other::---

vasily_pupkin ★★★★★ ()
Ответ на: комментарий от vasily_pupkin

Вот это уже интереснее. Спасибо за подсказки в решении. :)
Я тут осознал, что экспериментируя с добавлением/удалением себя из группы аудио и релогином, я забывал убивать пульсу, а само оно не убивалось и работало ещё со старыми правами.
Да, действительно, при залогине в консоль — звук появляется.
Однако при старте иксов — пропадал и loginctl list-sessions вообще не видит сессию иксов! Хотя ck-list-sessions — видит.
Я погуглил по новым ключевым словам, которые я узнал из твоего комментария :) — И нашёл решение: https://bugzilla.redhat.com/show_bug.cgi?id=806491 , заключается в том, что нужно пропатчить startx чтобы иксы запускались на том терминале, на котором была запущена команда startx.
Такие дела.
Счас надо попробовать как оно с несколькими пользователями работает.

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

Вау! И с несколькими пользователями работает. :) отлично.

Bad_ptr ★★★★ ()
Ответ на: комментарий от Bad_ptr

хотя теперь странность на tty4 звук слышу, хотя там его быть не должно, ибо никто туда не залогинен... :/

Bad_ptr ★★★★ ()

пользователи поттерингоподелий должны страдаттть

Harald ★★★★★ ()

пульшеаудио и шиштемде.

anonymous ()

Тред-дектектор глючных поделок поттеринга. Да, убьешься это все багрепортить и патчить...

RedEyedMan4 ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.