Экспорт $PULSE_SERVER при запуске

Вопрос или проблема

Чтобы запускать приложения flatpak (например, Discord или Spotify), мне сейчас приходится экспортировать переменную $PULSE_SERVER в моем файле ~/.zshrc или ~/.bashrc следующим образом:

export PULSE_SERVER=unix:/tmp/pulse-PKdhtXMmr18n/native

После прочтения этой части FAQ по PulseAudio, я полагаю, что могу настроить это, используя ~/.config/pulse/client.conf.

Я попробовал добавить одну из следующих строк в ~/.config/pulse/client.conf:

default-server = unix:/tmp/pulse-PKdhtXMmr18n/native

И:

auto-connect-display = yes

ПРИМЕЧАНИЕ: Я попробовал второй вариант, потому что кто-то на IRC предположил, что flatpak может искать что-то, связанное с X11 для $PULSE_SERVER.

После выполнения команды env | grep PULSE переменная $PULSE_SERVER не устанавливается. Более того, ни один из этих подходов, похоже, не оказывает никакого эффекта (при этом первый, кажется, мешал запуску сессии, так как polybar перестал запускаться, я понятия не имею, почему это происходит и как это отлаживать).

Основная причина, по которой я хочу определить $PULSE_SERVER в другом месте, заключается в том, что я не хочу объявлять его в каждом терминале, и мне хотелось бы держать всю конфигурацию Pulse в одном месте.

Изначально я пробовал добавить вышеуказанный экспорт в ~/.xprofile (я использую SDDM для запуска сессии), однако это остановило создание папки pulse в /tmp/.

Дополнительная информация: я использую Void Linux с оконным менеджером bspwm.

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

export PULSE_SERVER="unix:/tmp/pulse-PKdhtXMmr18n/native"

После этого вы можете либо выполнить команду source для вашего конфигурационного файла shell, например:

source ~/.bashrc

либо открыть новый терминал для обновления переменных окружения.

Теперь, если выполнить grep для PULSE, env-переменная появится.

Ответ или решение

Экспорт переменной $PULSE_SERVER при запуске

Теория

Переменная окружения $PULSE_SERVER используется для указания адреса сервера PulseAudio, который программы будут использовать для аудиовывода. В обычных условиях, эту переменную можно задать в конфигурационных файлах оболочки, таких как ~/.bashrc или ~/.zshrc, что обеспечивает её экспорт в каждом новом экземпляре оболочки.

Однако, если вы хотите централизовать конфигурацию PulseAudio и не прописывать экспорт в каждом новом сеансе оболочки, имеет смысл перенести аналогичные настройки в конфигурационные файлы PulseAudio, такие как ~/.config/pulse/client.conf.

Пример

Вы уже пытались настроить client.conf следующим образом:

default-server = unix:/tmp/pulse-PKdhtXMmr18n/native

и

auto-connect-display = yes

Несмотря на это, система не приняла эти изменения должным образом, и, возможно, это сказалось на других аспектах работы системы, например, на запуске polybar.

Применение

Для достижения ваших целей, ниже представлены несколько шагов и рекомендаций:

  1. Изучение структуры PulseAudio: Убедитесь, что пути и адреса указаны корректно. PulseAudio создает временные папки в /tmp/, которые могут различаться между сеансами.

  2. Использование графического диспетчера сеансов: Разместите экспорт переменной не в оболочке, а в скриптах, которые запускаются при входе в систему через SDDM или подобный менеджер. Вместо .xprofile, это может быть .xinitrc или системный файл конфигурации.

    export PULSE_SERVER="unix:/tmp/$(find -maxdepth 1 -type d -name 'pulse-*')/native"

    В этом скрипте используется динамическое нахождение правильного пути к серверу PulseAudio.

  3. Журналирование и отладка: Добавьте логи в запускаемые скрипты, чтобы понять, в каком моменте возникают сбои. Это поможет установить, действительно ли переменная окружения экспортируется.

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

  5. Консультация с сообществом: Если сомнения остаются, обсуждение с сообществом Void Linux или PulseAudio может дать дополнительную информацию или исправления.

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

Оцените материал
Добавить комментарий

Капча загружается...