A configuração do nível de saída de áudio falha no tmux

A configuração do nível de saída de áudio falha no tmux

Eu estou seguindoessa questãopara definir meus níveis de volume na linha de comando. Preciso ser capaz de definir o volume de dentro de uma sessão do tmux (na verdade, de um processo de nó em execução no tmux).

Quando executo amixer -D pulse sset Master 50%direto na minha sessão ssh, funciona perfeitamente.

$ amixer -D pulse sset Master 50%
Simple mixer control 'Master',0
  Capabilities: pvolume pswitch pswitch-joined
  Playback channels: Front Left - Front Right
  Limits: Playback 0 - 65536
  Mono:
  Front Left: Playback 26214 [50%] [on]
  Front Right: Playback 26214 [50%] [on]

Se eu abrir o tmux e executar o mesmo comando, ele falhará:

$ tmux
...
$ amixer -D pulse sset Master 50%
ALSA lib pulse.c:242:(pulse_connect) PulseAudio: Unable to connect: Connection refused

amixer: Mixer attach pulse error: Connection refused

Dentro do nó, estou apenas usando a child_process.spawnfunção que dá o mesmo resultado que a execução do tmux, então presumo que elas estejam relacionadas.

O que da?

Responder1

Por curiosidade, isso ocorreu porque minha sessão tmux foi iniciada a partir de um arquivo de serviço de todo o sistema e não tinha as variáveis ​​de ambiente configuradas para se comunicar com o serviço pulseaudio em nível de usuário.

Corrigido apenas acrescentando a seguinte string ao meu comando amixer:

PULSE_SERVER=unix:/run/user/1000/pulse/native

igual a:

$ PULSE_SERVER=unix:/run/user/1000/pulse/native amixer -D pulse sset Master 50%

O /run/user/1000pode ser diferente, você pode determiná-lo em execução

$ echo $XDG_RUNTIME_DIR

Em uma sessão logada como usuário com a sessão pulseaudio que você deseja usar.

informação relacionada