Вопрос или проблема
Я использую VLC, но был удивлен этой ошибкой: Ошибка звукового вывода: Аудиоустройство “default” не может быть использовано: Нет такого файла или каталога. Я искал решение и затем запустил эту команду: vlc --reset-config --reset-plugins-cache
но она выдает эту ошибку: ошибка подключения к серверу PulseAudio: соединение отказано и также нет звука, когда я использую браузер и я не знаю, что делать. Подсказка: мой звук работал хорошо, но вдруг это произошло.
Это может быть из-за того, что либо ваш драйвер pulseaudio сломан, либо права доступа установлены как root.
Я решил эту проблему с помощью следующих команд:
# очистка и переустановка pulseaudio
sudo apt-get remove --purge alsa-base pulseaudio
sudo apt-get install alsa-base pulseaudio
sudo apt-get -f install && sudo apt-get -y autoremove && sudo apt-get autoclean && sudo apt-get clean && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
# исправление прав доступа к пользовательской папке
sudo chown -R $USER:$USER $HOME/
# затем перезагрузка
sudo reboot
PulseAudio должен стартовать при запуске системы, но вы можете вручную запустить его командой:
pulseaudio --start
Если проблема сохраняется, вы можете вставить лог своей системы сюда:
tail -100f /var/log/syslog
На моей системе Xubuntu 18.04 у меня была проблема с тем, что pulseaudio не принимал файл ~/.config/pulse/cookie
.
Я пробовал переустановить pulseaudio, как предложено в другом ответе, но это не помогло, поэтому я просто удалил и заново создал пользовательскую конфигурацию следующим образом:
mv ~/.config/pulse ~/.config/pulse.old
pulseaudio --start
что решило проблему для меня.
Получил временное решение на ubuntuforums
$ pulseaudio --check
corei3@corei3 ~ $ pulseaudio -k
corei3@corei3 ~ $ pulseaudio -D
E: [pulseaudio] main.c: запуск демона не удался.
Для моей проблемы с “соединение отказано” pulseaudio помогло следующее:
mv -v ~/.config/pulseaudio{,~}
Таким образом, сбрасывается конфигурация пространства пользователя pulseaudio (без уничтожения старой). Переустановка или перезагрузка не потребовались.
Для меня все другие решения не сработали. Это помогло:
pax11publish -r
После этого, pulseaudio был найден всеми.
Проблема может быть связана с путем выполнения.
Вы можете проверить это с помощью команд по умолчанию:
$ pactl list
Ошибка подключения: соединение отказано
pa_context_connect() завершился с ошибкой: соединение отказано
$ XDG_RUNTIME_DIR=/var/run/user/$(id -u) pactl list
(правильный вывод)
Если это подтверждает проблему, убедитесь, что все файлы инициализации правильно устанавливают переменную XDG_RUNTIME_DIR или не изменяют ее вовсе. Некоторые файлы, которые следует проверить: .bashrc
, .profile
, ~/.config/environment.d/*
и .config/user-dirs.dirs
.
Вам, вероятно, нужно будет выйти из системы и снова войти, чтобы изменения вступили в силу.
.
Ответ или решение
Теория
Как IT-эксперт, важно понимать, что ошибка "PulseAudio server connection failure: Connection refused" может возникнуть в результате нескольких причин. PulseAudio — это звуковой сервер для POSIX-совместимых операционных систем, который отвечает за маршрутизацию звука и управление звуковыми устройствами. Если он не запускается или не подключается, это может привести к отсутствию звука в мультимедийных приложениях, таких как VLC, а также в браузерах.
Возможные причины этой проблемы включают:
- Некорректные разрешения: Разрешения на конфигурационные файлы могут быть настроены неправильно, что мешает PulseAudio запускаться под текущим пользователем.
- Проблемы с конфигурацией: Некорректная или поврежденная конфигурация PulseAudio может препятствовать его запуску.
- Проблемы с переменными окружения: Неправильно установленные или неустановленные переменные окружения, такие как
XDG_RUNTIME_DIR
, могут повлиять на способность PulseAudio получать доступ к необходимым ресурсам. - Ошибки в установке пакетов: Частичная или поврежденная установка компонентов PulseAudio и ALSA может вызвать сбой в запуске звукового сервера.
Пример
Возьмем сценарий, описанный в вопросе. Описанная проблема предполагает сначала попытку решения через удаление и повторную установку PulseAudio и ALSA. Пользователи также советовали проверять и исправлять права на конфигурационные файлы. Среди различных подходов, успешные решения включали:
- Переустановка PulseAudio и ALSA: Использование команд
sudo apt-get remove --purge alsa-base pulseaudio
иsudo apt-get install alsa-base pulseaudio
, чтобы очистить конфигурации и переустановить пакеты. - Сброс конфигурации пользователя: Перемещение или удаление пользовательских конфигурационных файлов для PulseAudio (
~/.config/pulse
) и запуск PulseAudio для регенерации этих файлов. - Исправление переменных окружения: Установка правильного значения для
XDG_RUNTIME_DIR
, чтобы обеспечить корректное расположение временных файлов PulseAudio. - Запуск и проверка статуса PulseAudio: Использование команд
pulseaudio --check
,pulseaudio -k
,pulseaudio -D
, чтобы проверить состояние PulseAudio и попытаться перезапустить его.
Применение
Теперь давайте разберем шаги, которые вы можете предпринять, чтобы решить эту проблему на вашей системе Debian Stretch:
-
Удаление и переустановка пакетов:
- Откройте терминал и выполните следующую команду, чтобы удалить существующие установки ALSA и PulseAudio вместе с их конфигурациями:
sudo apt-get remove --purge alsa-base pulseaudio
- Затем переустановите эти пакеты:
sudo apt-get install alsa-base pulseaudio
- Выполните команду для очистки системы от ненужных файлов:
sudo apt-get -f install && sudo apt-get -y autoremove && sudo apt-get autoclean && sudo apt-get clean && sudo sync && echo 3 | sudo tee /proc/sys/vm/drop_caches
- Откройте терминал и выполните следующую команду, чтобы удалить существующие установки ALSA и PulseAudio вместе с их конфигурациями:
-
Проверка и исправление разрешений:
- Убедитесь, что у пользователя есть все необходимые права на домашний каталог:
sudo chown -R $USER:$USER $HOME/
- Перезагрузите систему, чтобы изменения вступили в силу:
sudo reboot
- Убедитесь, что у пользователя есть все необходимые права на домашний каталог:
-
Сброс пользовательской конфигурации:
- Создайте резервную копию и удалите конфигурационные файлы PulseAudio, чтобы позволить системе сгенерировать новые:
mv ~/.config/pulse ~/.config/pulse.old pulseaudio --start
- Создайте резервную копию и удалите конфигурационные файлы PulseAudio, чтобы позволить системе сгенерировать новые:
-
Исправление переменных окружения:
- Убедитесь, что переменные окружения настроены правильно. Выполните команду:
XDG_RUNTIME_DIR=/var/run/user/$(id -u) pactl list
- Если это исправило проблему, убедитесь, что эта переменная установлена в файлах инициализации, таких как
.bashrc
или.profile
.
- Убедитесь, что переменные окружения настроены правильно. Выполните команду:
-
Диагностика и повторный запуск PulseAudio:
- Проверьте состояние PulseAudio с помощью команды:
pulseaudio --check
- Если ошибки продолжаются, попробуйте убить текущий процесс PulseAudio и перезапустить его:
pulseaudio -k pulseaudio --start
- Проверьте состояние PulseAudio с помощью команды:
Если после выполнения всех шагов проблема не решена, возможно, стоит просмотреть системные журналы для дополнительной диагностики:
tail -100f /var/log/syslog
Эти шаги должны помочь вам решить проблему с соединением PulseAudio на вашем Debian Stretch и восстановить функциональность звука на вашем устройстве.