JACK 위에서 PulseAudio를 자동으로 실행하도록 시스템 구성

JACK 위에서 PulseAudio를 자동으로 실행하도록 시스템 구성

이것은 본질적으로 Ask Ubuntu와 동일한 질문입니다. 동일한 오디오 장치에서 JACK과 Pulseaudio/ALSA를 동시에 사용하는 방법은 무엇입니까?.

그러나 이 질문에 대한 대답은 적어도 한 가지 중요한 측면에서 불완전합니다. Pulseaudio가 시작 시 Jackd에서 실행되도록 설정하는 방법을 지정하지 않습니다. 그들은 또한 JACK 구성에 QjackCtl(GUI)이 사용된다고 가정하는 것 같습니다. 이것은 매력적이지 않습니다.

최근 JACK 위에서 실행되도록 PulseAudio를 재구성할 수 있었습니다. 이것은 매우 간단합니다. 나는 다음의 지시를 따랐다.이 페도라 튜토리얼.

/etc/pulse/default.pa방금 해당 줄 뒤에 다음 줄을 추가하도록 파일을 편집했습니다 #load-module module-pipe-sink.

load-module module-jack-sink
load-module module-jack-source

그런 다음 Fedora 튜토리얼에서 제안한 대로 PA를 종료했습니다. 그런 다음 PA가 다시 시작되었지만 이번에는 JACK 위에 있었습니다.

그런데 최근 재부팅을 해보니 JACK도 PA도 시작되지 않았습니다.

그래서 재부팅 시 작동하는 보다 완전한 솔루션을 원합니다. 또한 GUI를 사용하는 대신 구성 파일 수정에만 기반한 솔루션을 원합니다. 제안된 구성이 작동하는 방법과 이유에 대한 설명도 크게 감사하겠습니다.

저는 Debian Jessie(8.3)를 사용하고 있습니다. 그러나 최대한의 유용성을 위해 최대한 광범위하게 적용할 수 있는 답변을 원합니다. 물론 페도라 튜토리얼 방식을 사용하지 않는 깔끔한 접근 방식도 괜찮습니다.

JACKD 프로젝트 자체에 구성 권장 사항이 있다는 점도 주목할 가치가 있습니다.JACK에서 PulseAudio 실행그리고PulseAudio와 JACK을 사용하는 방법은 무엇입니까?. 하지만 그것이 나에게 무엇을 하라고 말하는지 잘 모르겠습니다.

답변1

시작 시 JACK 및 Pulseaudio를 실행할 때 Pulseaudio 및 기타 사운드 요소가 먼저 실행되도록 JACK 명령을 몇 초 동안 지연해 보십시오.

가능하다면 또는 jack2-dbus대신 패키지를 사용하는 것이 가장 간단한 해결책이 될 것입니다. D-Bus는 JACK과 Pulseaudio 간의 오디오 하드웨어 공유를 제어합니다. Pulseaudio 모듈이 /etc/pulse/default.pa에서 활성화된 경우 JACK은 시작 시 자동으로 Pulseaudio 싱크 및 소스를 생성합니다.jackdjack2module-jackdbus-detect

어떤 이유로 D-Bus를 사용할 수 없는 경우 /etc/pulse/default.pa에서 이 섹션을 주석 처리하고 각 줄 시작 부분에 "#"을 추가하세요.

### Automatically load driver modules depending on the hardware available
.ifexists module-udev-detect.so
load-module module-udev-detect
.else
### Use the static hardware detection module (for systems that lack udev support)
load-module module-detect
.endif

이렇게 하면 Pulseaudio가 JACK을 사용하여 올바르게 시작하는 데 필요한 오디오 하드웨어 장치를 선언하지 못하게 됩니다. 그런 다음 Pulseaudio 싱크 및 소스를 로드하는 명령이 포함된 bash 스크립트를 사용하여 JACK을 시작할 수 있습니다.

#!/bin/bash
<jack start command>
wait 2
pactl load-module module-jack-sink
pactl load-module module-jack-source

관련 정보