LINUX.ORG.RU

Как перезапустить pulseaudio

 


0

1

Время от времени ни с того ни с сего отваливается (или точней теряет часть функционала pulseaudio). Приложения, завязанные на него теряют способность воспроизводить звук (skype), в alsamixer перестает отображаться pulseaudio. Хотя процесс висит. Так вот попытка выполнить

$ pulseaudio --kill
E: [pulseaudio] core-util.c: Failed to create secure directory (/run/user/1000/pulse): Отказано в доступе
E: [pulseaudio] main.c: Не удалось завершить работу демона: Отказано в доступе
Или от рута (хотя НАДО вроде как от юзера)
# pulseaudio --kill
E: [pulseaudio] main.c: Не удалось завершить работу демона: Нет такого файла или каталога
Попытка запустить оканчивается вот этим
$ pulseaudio --start
E: [autospawn] core-util.c: Failed to create secure directory (/run/user/1000/pulse): Отказано в доступе
W: [autospawn] lock-autospawn.c: Не удалось получить доступ к блокировке, используемой для запуска сервера по требованию.
E: [pulseaudio] main.c: Failed to acquire autospawn lock
Как перезапустить это поделие?

★★★
Ответ на: комментарий от dexpl
$ ls -ld /run/user/1000
drwx------ 6 likan users 120 окт 22 13:48 /run/user/1000
$ getent passwd $USER
likan:x:1000:100::/home/likan:/bin/bash
$ ps -Fp $(pgrep pulse)
UID        PID  PPID  C    SZ   RSS PSR STIME TTY          TIME CMD
root     15724     1  0 69727  6596   0 15:24 ?        00:00:00 pulseaudio --start
LIKAN ★★★
() автор топика
Ответ на: комментарий от LIKAN

С юзером все ОК, а вот как так получилось, что pulseaudio от root запущен? Может, в этом и корень всех бед?

dexpl ★★★★★
()

Радуйся же. А если серьёзно, я бы на твоём месте давно отредактировал конфиг, запретив ему autospawn. Правда, если у тебя GNOME3, тебе потребуется другой регулятор громкости.

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

Как кстати запускается пульса при старте системы? Я руками для этого ничего не делал, просто поставил пакет из реп и все. Я так понимаю не через systemd.

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

Как кстати запускается пульса при старте системы?

Никак. Точнее, не должна никак — запуск pulseaudio происходит при попытке той или иной программы проиграть звук через пульс при условии, что никакие специалисты не запретили autospawn (это параметр в /etc/pulse/client.conf).

Какой дистрибутив, кстати сказать?

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

Как сделать чтоб запускалась от пользователя?

Вообще, по умолчанию так и должно быть. Могу предположить, что в /etc/pulse/daemon.conf надо поправить system-instance. Возможно, понадобится ещё выключить юнит systemd. Точно не знаю, у меня в Debian всё само работает.

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

Arch linux. Как сделать чтоб запускалась от пользователя?

Насчет арча точно не скажу, попробуй в арчевики посмотреть. Покажи на всякий случай (может, присоветую что-нибудь дельное) systemctl list-units | grep -i pulse и содержимое /etc/pulse/daemon.conf, /etc/pulse/client.conf. И еще — никакой плейер (mpd, к примеру) нигде от рута не пускается?

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

Первая команда ничего не вернула. Такого юнита в systemd нет

$ cat /etc/pulse/daemon.conf
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; daemonize = no
; fail = yes
; allow-module-loading = yes
; allow-exit = yes
; use-pid-file = yes
; system-instance = no
; local-server-type = user
; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
; lock-memory = no
; cpu-limit = no

; high-priority = yes
; nice-level = -11

; realtime-scheduling = yes
; realtime-priority = 5

exit-idle-time=0
; exit-idle-time = 20
; scache-idle-time = 20

; dl-search-path = (depends on architecture)

; load-default-script-file = yes
; default-script-file = /etc/pulse/default.pa

; log-target = auto
; log-level = notice
; log-meta = no
; log-time = no
; log-backtrace = 0

; resample-method = speex-float-1
; enable-remixing = yes
; enable-lfe-remixing = no

; flat-volumes = yes

; rlimit-fsize = -1
; rlimit-data = -1
; rlimit-stack = -1
; rlimit-core = -1
; rlimit-as = -1
; rlimit-rss = -1
; rlimit-nproc = -1
; rlimit-nofile = 256
; rlimit-memlock = -1
; rlimit-locks = -1
; rlimit-sigpending = -1
; rlimit-msgqueue = -1
; rlimit-nice = 31
; rlimit-rtprio = 9
; rlimit-rttime = 1000000

; default-sample-format = s16le
; default-sample-rate = 44100
; alternate-sample-rate = 48000
; default-sample-channels = 2
; default-channel-map = front-left,front-right

; default-fragments = 4
; default-fragment-size-msec = 25

; enable-deferred-volume = yes
; deferred-volume-safety-margin-usec = 8000
; deferred-volume-extra-delay-usec = 0
$ cat /etc/pulse/client.conf
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
# USA.

## Configuration file for PulseAudio clients. See pulse-client.conf(5) for
## more information. Default values are commented out.  Use either ; or # for
## commenting.

; default-sink =
; default-source =
; default-server =
; default-dbus-server =

; autospawn = yes
; daemon-binary = /usr/bin/pulseaudio
; extra-arguments = --log-target=syslog

; cookie-file =

; enable-shm = yes
; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB

; auto-connect-localhost = no
; auto-connect-display = no

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

Попробуй выяснить пост-фактум, кто запускает PA. Посмотри pstree и loginctl session-status для каждой существующей сессии.

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

То есть все по дефолту. Тогда вариантов ровно два: либо при загрузке или в дальнейшем при работе какая-то прога, запущенная от root, пытается проиграть звук, либо имеет место мистика.

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

; daemonize = no

У меня стояло yes

А вообще смотреть PKGBUILD как оно там пакетируется.

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

Судя по этому все же systemd (в самом низу)

systemd─┬─acpid
        ├─at-spi-bus-laun─┬─{dconf worker}
        │                 └─{gdbus}
        ├─bash───firefox─┬─plugin-containe─┬─{Chrome_ChildThr}
        │                │                 ├─21*[{plugin-containe}]
        │                │                 └─{threaded-ml}
        │                ├─8*[{Analysis Helper}]
        │                ├─{Cache I/O}
        │                ├─{Cache2 I/O}
        │                ├─{Cert Verify}
        │                ├─{DNS Res~er #110}
        │                ├─{DNS Res~er #112}
        │                ├─{DNS Res~er #113}
        │                ├─{DNS Res~er #114}
        │                ├─{DNS Res~er #115}
        │                ├─2*[{DOM Worker}]
        │                ├─{Gecko_IOThread}
        │                ├─{HTML5 Parser}
        │                ├─{Hang Monitor}
        │                ├─{Image Scaler}
        │                ├─{ImageDe~er #248}
        │                ├─{ImageDe~er #249}
        │                ├─{ImageDe~er #250}
        │                ├─{ImageDe~er #251}
        │                ├─{ImageDe~er #252}
        │                ├─{ImageDe~er #253}
        │                ├─{ImageDe~er #254}
        │                ├─{JS Watchdog}
        │                ├─{MediaManager}
        │                ├─{Net Predictor}
        │                ├─{Proxy R~olution}
        │                ├─{Socket Thread}
        │                ├─{Timer}
        │                ├─{URL Classifier}
        │                ├─{dconf worker}
        │                ├─{gdbus}
        │                ├─{gmain}
        │                ├─{localStorage DB}
        │                ├─{mozStorage #10}
        │                ├─{mozStorage #1}
        │                ├─{mozStorage #2}
        │                ├─{mozStorage #3}
        │                ├─{mozStorage #4}
        │                ├─{mozStorage #5}
        │                ├─{mozStorage #6}
        │                ├─{mozStorage #7}
        │                ├─{mozStorage #8}
        │                ├─{mozStorage #9}
        │                └─{threaded-ml}
        ├─bash───skype─┬─2*[{QThread}]
        │              ├─22*[{skype}]
        │              └─{threaded-ml}
        ├─bash───sublime_text─┬─{gdbus}
        │                     ├─3*[{sublime_text}]
        │                     └─{threaded-ml}
        ├─bash───qtcreator─┬─2*[qtcreator]
        │                  ├─xterm───qtcreator_proce───pduMITM───2*[{pduMITM}]
        │                  ├─{QProcessManager}
        │                  ├─{QSGRenderThread}
        │                  ├─2*[{QThread}]
        │                  ├─{QXcbEventReader}
        │                  └─2*[{qtcreator}]
        ├─2*[dbus-daemon]
        ├─dbus-launch
        ├─dhcpcd
        ├─gconfd-2
        ├─gvfsd───{gdbus}
        ├─gvfsd-fuse─┬─{gdbus}
        │            ├─{gvfs-fuse-sub}
        │            └─2*[{gvfsd-fuse}]
        ├─lightdm─┬─X───3*[{X}]
        │         ├─lightdm─┬─xmonad-x86_64-l─┬─4*[dzen2]
        │         │         │                 ├─xfce4-terminal─┬─bash───su───bash───openvpn───2*[systemd-ask-pas]
        │         │         │                 │                ├─4*[bash]
        │         │         │                 │                ├─bash───su───bash───osmocon
        │         │         │                 │                ├─bash───su───bash───mobile
        │         │         │                 │                ├─bash───telnet
        │         │         │                 │                ├─bash───pstree
        │         │         │                 │                ├─gnome-pty-helpe
        │         │         │                 │                ├─{gdbus}
        │         │         │                 │                ├─{gmain}
        │         │         │                 │                └─{threaded-ml}
        │         │         │                 └─xmonad-x86_64-l
        │         │         ├─{gdbus}
        │         │         └─{gmain}
        │         ├─{gdbus}
        │         └─{gmain}
        ├─2*[mount.ntfs-3g]
        ├─polkitd─┬─{JS GC Helper}
        │         ├─{JS Sour~ Thread}
        │         ├─{gdbus}
        │         ├─{gmain}
        │         └─{runaway-killer-}
        ├─pulseaudio─┬─gconf-helper
        │            ├─{alsa-sink-ALC26}
        │            └─{alsa-source-ALC}
        ├─rtkit-daemon───2*[{rtkit-daemon}]
        ├─systemd───(sd-pam)
        ├─systemd-journal
        ├─systemd-logind
        ├─systemd-udevd
        ├─wicd───wicd-monitor
        ├─wireshark─┬─dumpcap
        │           ├─{Capture filter }
        │           ├─{gdbus}
        │           └─{threaded-ml}
        └─wpa_supplicant

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

Сомневаюсь, у меня так же выглядит, но PA запускается для пользовательской сессии. Поэтому просмотри содержимое сессий. Если его там нет, то ищи виновника среди демонов. Можно ещё посмотреть systemctl status.

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

Я честно говоря с loginctl в первый раз сталкиваюсь. вот вывод

c2 - likan (1000)
           Since: Ср 2014-10-22 13:46:34 UTC; 4h 25min ago
          Leader: 432 (lightdm)
            Seat: seat0; vc1
         Display: :0
         Service: lightdm; type x11; class user
           State: active
            Unit: session-c2.scope
                  ├─  300 /home/likan/.xmonad/xmonad-x86_64-linux
                  ├─  301 loginctl session-status c2
                  ├─  302 less
                  ├─  432 lightdm --session-child 13 20
                  ├─  448 /home/likan/.xmonad/xmonad-x86_64-linux
                  ├─  455 dbus-launch --sh-syntax --exit-with-session
                  ├─  456 /usr/bin/dbus-daemon --fork --print-pid 4 --print-address 6 --session
                  ├─  459 dzen2 -x 0 -y 0 -w 950 -h 16 -ta l -fg #9d9d9d -bg #020202 -fn -*-montecarlo-medium-r-normal-...
                  ├─  460 dzen2 -x 950 -y 0 -w 416 -h 16 -ta r -fg #9d9d9d -bg #020202 -fn -*-montecarlo-medium-r-norma...
                  ├─  461 dzen2 -x 0 -y 752 -w 450 -h 16 -ta l -fg #9d9d9d -bg #020202 -fn -*-montecarlo-medium-r-norma...
                  ├─  462 dzen2 -x 450 -y 752 -w 916 -h 16 -ta r -fg #44aacc -bg #020202 -fn -*-montecarlo-medium-r-nor...
                  ├─  503 /usr/bin/xfce4-terminal
                  ├─  506 /usr/lib/gvfs/gvfsd
                  ├─  513 /usr/lib/gvfs/gvfsd-fuse /run/user/1000/gvfs -f -o big_writes
                  ├─  521 gnome-pty-helper
                  ├─  522 bash
                  ├─  627 /usr/lib/GConf/gconfd-2
                  ├─  676 su
                  ├─  679 bash
                  ├─  689 openvpn guard-TCP-1197.ovpn
                  ├─  696 bash
                  ├─  916 /bin/bash
                  ├─  920 firefox
                  ├─  945 /usr/lib/at-spi2-core/at-spi-bus-launcher
                  ├─ 1141 /bin/bash
                  ├─ 1149 /usr/lib32/skype/skype
                  ├─ 1369 /usr/lib/firefox/plugin-container /usr/lib/mozilla/plugins/libflashplayer.so -greomni /usr/li...
                  ├─ 1949 /bin/bash
                  ├─ 1961 sublime_text
                  ├─ 3306 bash
                  ├─ 3331 bash
                  ├─ 3332 bash
                  ├─ 3352 su
                  ├─ 3358 bash
                  ├─ 3422 su
                  ├─ 3427 bash
                  ├─ 8419 wireshark
                  ├─ 8479 /usr/bin/dumpcap -n -i lo -y EN10MB -Z none
                  ├─10675 bash
                  ├─10923 /bin/bash
                  ├─10930 qtcreator
                  ├─14907 bash
                  ├─15724 pulseaudio --start
                  ├─15725 /usr/lib/pulse/gconf-helper
                  ├─19301 bash
                  ├─26190 bash
                  ├─28387 ./osmocon -p /dev/ttyUSB0 -m c123xor ../../target/firmware/board/compal_e88/layer1.compalram....
                  ├─28403 ./mobile -i localhost
                  └─28408 telnet localhost 4247
Вижу вот такое - ─15724 pulseaudio --start , что это значит?

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

Это запуск пш-пш-аудио в твоей сессии. Похоже, он запускается правильно, а проблема с правами на сокет или где-то в этом направлении.

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

Да и собственно вопрос, как PA корректно завершить при всем при этом, и запустить от юзера руками?

LIKAN ★★★
() автор топика
Ответ на: комментарий от Gotf
$ pactl info
Failed to create secure directory (/run/user/1000/pulse): Отказано в доступе
Ошибка подключения: Соединение отвергнуто
Произошла ошибка при выполнении pa_context_connect(): Соединение отвергнуто

Так а может быть такое, что сначала РА запустился правильно, а потом какое-то рутовое приложение попыталось что-то там пропищать (я вот whireshark от рута запускаю), и я получаю вот это

$ ls -ld /run/user/1000/pulse
drwx------ 2 root root 80 окт 22 15:24 /run/user/1000/pulse

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

Да, проверил, так оно и есть. Как раз после запуска wireshark-а это и происходит. Если сделать chown и chgrp все в норму возвращается. Теперь вопрос, как с этим разобраться, те как максимум запретить рутовым приложениям менять пользователя и группу у /run/user/1000/pulse, ну или просто запретить им доступ к пульсе.

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

Лучше попробовать зарепортить баг, вряд ли это нормальное поведение. Непонятно, правда, кто именно себя ведёт плохо.

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

Запустил от рута audacious. Та же хрень,

# ls -ld /run/user/1000/pulse/
drwx------ 2 root root 80 окт 22 18:47 /run/user/1000/pulse/

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

Непонятно, правда, кто именно себя ведёт плохо.

Скорее все-таки PA — он по идее должен нормально запускаться от разных юзеров (и в Федоре вполне запускается).

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

Так запускается оно от рута нормально, оно рутовые права доступа выставляет на /run/user/1000/pulse/ и уже от норм пользователя запуститься нельзя, прав не хватает.

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

оно рутовые права доступа выставляет на /run/user/1000/pulse

Ну вот тут и проблема, потому что он должен использовать /run/user/0/pulse/ А может, и нет. Я тут погуглил за тебя: http://billauer.co.il/blog/2014/01/pa-multiple-users/ http://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/System... Первая ссылка представляется мне более полезной.

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