Как я заставляю pulseaudio запускаться автоматически в Ubuntu 17.04 и 17.10 для Firefox?

Я пытаюсь заставить Firefox 56.0 на Ubuntu 17.04 и 17.10 играть звук в видео в Facebook (даже уверенный, что это характерно для Facebook). Я изолировал проблему вниз к pulseaudio, не начинающему, когда я играю видео, или просто не запущенный вообще. Но если я выполняю pulseaudio из командной строки и затем играю видео из Facebook, я становлюсь звуковым.

То, что смущает меня, пытается выяснить то, относительно чего я должен ожидать точно, когда этот pulseaudio процесс UNIX, как будет предполагаться, будет запущен.

  1. Во время начальной загрузки?
  2. В X11 запускают время до пользовательского входа в систему?
  3. При пользовательском входе в систему (вещь "зазывалы"; GDM или безотносительно)?
  4. Firefox, когда это выполняет код в некоторой общей библиотеке, которая затем требует, чтобы pulseaudio были запущены

https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/Running/подразумевает мне, что это должно быть в пользовательское время входа в систему.

/etc/xdg/autostart каталог, который содержит информацию о сеансовых службах, которые графические менеджеры сеансов должны запустить автоматически на пользовательском входе в систему. PulseAudio поставляет свой собственный файл туда. pulseaudio.desktop говорит менеджеру сеансов выполнять start-pulseaudio-x11, который является сценарием, который загружается, несколько X11 связали модули (и на KDE также диспетчер устройств модуля, который требуется аудио инструментами настройки маршрутизации KDE). start-pulseaudio-x11 обычно является первой вещью, которая требует рабочего сервера PulseAudio, таким образом, обычно сервер начинает, когда менеджер сеансов выполняет start-pulseaudio-x11 в начале сессии входа в систему.

Если автопорождение отключено, start-pulseaudio-x11 не имеет эффекта, потому что start-pulseaudio-x11 не запускает сервер явно. Это полагается на автопорождение, когда это загружает модули X11. В этом смысле название сценария вводит в заблуждение. start-pulseaudio-x11 сценарий раньше запускал сервер явно в прошлом, который объясняет название сценария.

Команды, которые я сделал недавно, чтобы гарантировать, что я запускаю с хорошей базовой линии на инструкции по http://support.system76.com/articles/audio/ (был сделан по разным причинам, как передний аудиоразъем в моей машине, не работали и делали, следующее зафиксировало его):

rm -r ~/.config/pulse
sudo apt install --reinstall alsa-base alsa-utils pulseaudio linux-sound-base libasound2

Я в данный момент не думаю что пропавшие без вести ~/.config/pulse каталог является преступником, но является этим?

dmesg | grep pulse

шоу ничто, таким образом, это - как будто что-то даже не выполняет правильный сценарий в нужное время.

Что я должен изменить для включения этого? Я не хочу вручную вызывать pulseaudio каждый раз, когда я запускаю Firefox (я могу клудж что-то мудрое сценарием, но я не хочу).

Я прихожу к заключению, что автоикра включена, так как она комментируется (принятие, прокомментированное средства, прокомментированной вещью ЯВЛЯЕТСЯ значение по умолчанию программы):

drunkard@norehab:~$ ps -ef --forest --cols=10000 | grep pulse
drunkard    3448  2721  0 14:25 pts/0    00:00:00  |               \_ grep pulse
drunkard@norehab:~$ ls -ld ~/.config/pulse
ls: cannot access '/home/drunkard/.config/pulse': No such file or directory
drunkard@norehab:~$ ls -ld /etc/xdg/autostart/pulseaudio-kde.desktop
ls: cannot access '/etc/xdg/autostart/pulseaudio-kde.desktop': No such file or directory
drunkard@norehab:~$ ls -ld /etc/xdg/autostart/pulseaudio*
-rw-r--r-- 1 root root 4836 Mar 29  2017 /etc/xdg/autostart/pulseaudio.desktop
drunkard@norehab:~$ grep auto /etc/pulse/client.conf
; autospawn = yes
; auto-connect-localhost = no
; auto-connect-display = no
drunkard@norehab:~$ 

ОБНОВЛЕНИЕ № 1

Я попробовал это:

cp -p /etc/pulse/client.conf ~/.config/pulse/client.conf

И перезагруженный и это автоматически все еще не запускается.

ОБНОВЛЕНИЕ № 2

Следующее доказывает мне это /usr/bin/start-pulseaudio-x11 НЕ становится выполняемым вообще:

Я сохранил прочь /usr/bin/start-pulseaudio-x11:

drunkard@norehab:~$ sudo cp -p /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.orig

Затем добавленный строка в конце, который просто выписывает текущую метку времени к файлу журнала в /tmp/start-pulseaudio-x11.log:

drunkard@norehab:~$ sudo sh -c 'echo "date >> /tmp/start-pulseaudio-x11.log" >> /usr/bin/start-pulseaudio-x11'
drunkard@norehab:~$ tail /usr/bin/start-pulseaudio-x11

    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
date >> /tmp/start-pulseaudio-x11.log
drunkard@norehab:~$

Затем перезагрузка и вошла в систему и нашла что /tmp/start-pulseaudio-x11.log не существовало.

Таким образом независимо от того, что, как предполагается, вызывает /usr/bin/start-pulseaudio-x11 прежде или после того, как вход в систему не делает так.

ОБНОВЛЕНИЕ № 3

Это все еще повреждается в Ubuntu 17.10. но комментарий, хорошо осведомленный меня, в котором мое обходное решение может использовать systemctl вместо прямого выполнения.

Но я говорю, что это все еще повреждается потому что, почему звук не включен для всех пользователей, которые используют рабочие столы? Я имею в виду, ни при каких обстоятельствах что я могу думать, был бы, я когда-либо НЕ хочу услышать звук от видео, играемых от любых браузеров. Независимо от того, что звуковой демон (pulseaudio в этом случае, но это не имеет значения) должен быть значением по умолчанию к "включенному" для настольных пользователей. Не так для установок сервера, но дело не в этом здесь.

0
задан 4 February 2018 в 10:01

2 ответа

Это - обходное решение, которое я рассматриваю как ответ, пока кто-то не может определить мне, что это фиксируется в восходящей логике установки Ubuntu, которая обрабатывает настольную пользовательскую конфигурацию:

у меня есть скрипт, который я запускаю при запуске, использующем Приложения Запуска, показанные в этом ответе: https://unix.stackexchange.com/a/32616/21372, таким образом, в том сценарии я добавил:

# Start pulseaudio because something got broken in Ubuntu or Firefox
# or PulseAudio or or
# or... (https://askubuntu.com/questions/962920/how-do-i-get-pulseaudio-to-start-automatically-in-ubuntu-17-04-for-firefox):
if ! pulseaudio --check
then
  # But not via the old way:
  #
  #   nohup pulseaudio > /dev/null 2>&1 &
  #
  # Use the proper way to enable this at login time per https://askubuntu.com/a/989674/340383
  systemctl --user enable pulseaudio && systemctl --user start pulseaudio
fi

Это проверяет, чтобы видеть, запускается ли процесс pulseaudio с --check опция, и если это не работает, запустите его.

ОБНОВЛЕНИЕ № 1:

я изменил обходное решение немного для использования systemctl команды, как обозначено в https://askubuntu.com/a/989674/340383

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

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

контрдовод А: Так как вызовы systemctl обновят ~/.config файлы таким образом (это от вышеупомянутого systemctl... командная строка):

Created symlink /home/drunkard/.config/systemd/user/default.target.wants/pulseaudio.service → /usr/lib/systemd/user/pulseaudio.service.
Created symlink /home/drunkard/.config/systemd/user/sockets.target.wants/pulseaudio.socket → /usr/lib/systemd/user/pulseaudio.socket.

затем после следующей переустановки Ubuntu, затем это должно просто работать правильно. Но это - то, только если я сохранил свой ~/.config файлами, который не является хорошим предположением: Я сохраняю все (за исключением файлов глубоко внутри ~/.config!) моих "пользовательских файлов" конфигурации под репозиторием Мерзавца по этой самой причине необходимости к проблемам удобства использования обходного решения, которые заканчиваются, точно так же, как этот, тратя впустую много моего времени в отладке его вниз к первопричине, которую я не хочу делать несколько раз.

0
ответ дан 2 November 2019 в 03:51

Пару дней назад pulseaudio перестал загружаться на 18.04 - раньше все работало нормально. просмотрев все предложения без постоянных результатов, я просто добавил следующую строку в файл .profile:

pulseaudio --start
1
ответ дан 18 June 2020 в 11:52

Другие вопросы по тегам:

Похожие вопросы: