특정 가상 디스플레이의 소리를 음소거합니다.

특정 가상 디스플레이의 소리를 음소거합니다.

저는 Ubuntu Precise를 기반으로 하는 Linux, Mint 13 Maya를 사용하고 있습니다.

다른 가상 모니터의 사운드를 음소거하거나 현재 모니터에서 실행된 응용 프로그램의 사운드를 재생하는 방법이 있는지 궁금합니다. 어느 쪽이든 작동할 것입니다.

이제는 가끔 VNC 서버를 시작하고 :1에 새 디스플레이를 생성하는 동시에 :0에서 "일반" 가상 디스플레이를 계속 사용하고 표시합니다. 그런데 :1에서 소리가 나는 앱을 실행하면 현재 모니터에서는 앱이 보이지 않아도 소리가 들립니다.

예를 들어, 명령을 실행하면 DISPLAY=:1 vlc /path/to/sound.ogg방금 사용하고 display:0 표시를 사용해도 VLC를 들을 수 있습니다.

이 문제를 방지하고 :1 실행된 응용 프로그램의 모든 소리를 무음으로 만들 수 있는 방법이 있습니까? 아니면 대안으로 pulseaudio를 지시할 수 있는 방법이 있습니까?언제나애플리케이션이 현재 사운드를 생성하지 않는 경우에도 사용자 개입 없이 특정 애플리케이션을 시작할 때마다 사운드를 음소거하시겠습니까? 예를 들어, pulseaudio에 앱을 즉시 음소거하도록 지시하는 스크립트를 통해 앱을 실행하시겠습니까?

편집: 임시 해결책을 찾은 것 같지만 더 나은 방법이 있을 수 있습니다. 환경 변수를 사용하여 애플리케이션을 시작하면 PULSE_SERVER=/dev/nullPulseaudio에 대한 모든 호출이 실패하고 애플리케이션의 오디오가 재생되지 않습니다.

답변1

사운드는 모니터와 독립적이므로 모니터를 통해 음소거할 수 없습니다. 하지만 앱을 통해 음소거할 수 있습니다. 간단한 방법은 실행하는 것입니다pavucontrolGUI: PulseAudio 연결이 열려 있는 각 응용 프로그램의 재생 및 녹음에 대한 볼륨 컨트롤을 표시합니다.

또는 애플리케이션 시작 방법을 제어하는 ​​경우 기존 PulseAudio 서버에 접속하지 않도록 지시하세요.

PULSE_SERVER=none vlc /path/to/sound.ogg

관련 정보