Звуковое устройство по умолчанию отличается при запуске в качестве службы

Звуковое устройство по умолчанию отличается при запуске в качестве службы

я используюсжимательдля воспроизведения аудиопотоков на моем ноутбуке. В ноутбуке встроена звуковая карта Intel, но я использую HDMI-подключение к моему монитору для воспроизведения звука на динамиках моего монитора. Это работает хорошо, и я могу использовать кнопки мультимедиа на моей клавиатуре.
Однако это работает только тогда, когда я запускаю squeezelite как фоновое задание. Что-то идет не так, когда я пытаюсь запустить squeezelite как службу. Затем звук воспроизводится на динамиках ноутбука. Однако я могу указать, какое звуковое устройство я хочу, чтобы squeezelite использовал. Вот некоторые варианты: "default", "front" и "hdmi". "default" и "front" идут на динамики ноутбука, а "hdmi" идет на динамики монитора, но обходит клавиши мультимедиа. При ручном запуске клавиши мультимедиа работают, и как "default", так и "hdmi" идут на динамики монитора.

У меня вопрос: как мне запустить squeezelite как службу, чтобы вывод отправлялся на динамики HDMI, а клавиши мультимедиа работали?
Может ли быть, что из-за того, что я запускаю squeezelite как службу (как root), "default" имеет другое значение и клавиши мультимедиа обходят? Я пробовал запустить start-stop-daemonкак мой пользователь, но это не сработало.

Вот список моих звуковых устройств:

Output devices:
  default                        - Playback/recording through the PulseAudio sound server
  null                           - Discard all samples (playback) or generate zero samples (capture)
  pulse                          - PulseAudio Sound Server
  sysdefault:CARD=Intel          - HDA Intel, ALC272 Analog - Default Audio Device
  front:CARD=Intel,DEV=0         - HDA Intel, ALC272 Analog - Front speakers
  surround40:CARD=Intel,DEV=0    - HDA Intel, ALC272 Analog - 4.0 Surround output to Front and Rear speakers
  surround41:CARD=Intel,DEV=0    - HDA Intel, ALC272 Analog - 4.1 Surround output to Front, Rear and Subwoofer speakers
  surround50:CARD=Intel,DEV=0    - HDA Intel, ALC272 Analog - 5.0 Surround output to Front, Center and Rear speakers
  surround51:CARD=Intel,DEV=0    - HDA Intel, ALC272 Analog - 5.1 Surround output to Front, Center, Rear and Subwoofer speakers
  surround71:CARD=Intel,DEV=0    - HDA Intel, ALC272 Analog - 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
  dmix:CARD=Intel,DEV=0          - HDA Intel, ALC272 Analog - Direct sample mixing device
  dsnoop:CARD=Intel,DEV=0        - HDA Intel, ALC272 Analog - Direct sample snooping device
  hw:CARD=Intel,DEV=0            - HDA Intel, ALC272 Analog - Direct hardware device without any conversions
  plughw:CARD=Intel,DEV=0        - HDA Intel, ALC272 Analog - Hardware device with all software conversions
  hdmi:CARD=HDMI,DEV=0           - HDA ATI HDMI, HDMI 0 - HDMI Audio Output
  dmix:CARD=HDMI,DEV=3           - HDA ATI HDMI, HDMI 0 - Direct sample mixing device
  dsnoop:CARD=HDMI,DEV=3         - HDA ATI HDMI, HDMI 0 - Direct sample snooping device
  hw:CARD=HDMI,DEV=3             - HDA ATI HDMI, HDMI 0 - Direct hardware device without any conversions
  plughw:CARD=HDMI,DEV=3         - HDA ATI HDMI, HDMI 0 - Hardware device with all software conversions

Есть идеи?

решение1

У нас нет опыта работы с эмулятором Squeezelite, но, судя по всему, он напрямую использует ALSA.

Для управления ALSA с помощью медиа-клавиш мы можем определитьгорячие клавишидля пользователя, запускающего sqeezelite (в вашем случае root):

amixer set Master 10%+ ## for Volume UP 10%
amixer set Master 10%- ## for Volume DOWN 10%
amixer set Master toggle ## for Mute

Настройки клавиатуры пользователя рабочего стола или другие настройки звука для каждого пользователя (например, аудиоустройства по умолчанию) будут работать только после запуска squeezlite из сеанса пользователя (например,при входе в систему).

Связанный контент