export PS1='[\u@\h $(basename $(dirname ${PWD}))/$(basename ${PWD})]\$ '
export PROMPT_COMMAND='echo -ne "\033]0;$(basename $(dirname $PWD))/$(basename ${PWD})\007"'
Частичный ответ:
Pulseaudio хранит базу данных для всех приложений, к которым они были подключены, и при запуске восстанавливает это соединение вместо использования приемника по умолчанию. Приемник по умолчанию используется только для «новых» приложений.
Я не знаю, почему ваш move-sink-input
провалился. Вы можете переместить его с помощью pavucontrol
?
Редактировать
В репозитории MonoGame на github обнаружен код OpenAL. Поиск в Google «OpenAL pulseaudio» показывает, что по умолчанию для OpenAL запрещается перемещение приемников, но создается файл ~/.alsoftrc
с содержимым
[pulse]
allow-moves = true
это позволяет. Я не проверял это на себе.
Редактировать
Что касается восстановления запомненного приемника при запуске, список параметров .alsoftrc не показывает ничего подходящего.
На стороне Pulseaudio модуль -поток -восстановление обрабатывает восстановление источников/приемников потока. Он сохраняет их в файле базы данных GDBM, чтобы вы могли просматривать эту базу данных с помощью инструментов GDBM. Насколько я знаю, имя приложения, данное Pulseaudio, используется (, но лучше перепроверьте ), но есть также сложная система с ролями, которые я не совсем понимаю.
Таким образом, потребуется отладить взаимодействие этого с OpenAL. :Возможно, OpenAL не определяет имя приложения;возможно, OpenAL переопределяет то, что делает восстановление модуля -потока -и просто выбирает приемник по умолчанию, возможно, что-то еще. Просмотр исходного кода OpenAL должен помочь.
Обходной путь, конечно, заключается в написании небольшого скрипта-оболочки, который запускает приложение OpenAL, а затем выполняет move-sink
. Можно быстрее сделать.