페도라에서 잭과 펄스 공존에 대한 트로프 퀘스트를 시작했습니다. 일반적으로 Pulseaudio에 만족하지만 때로는 Jack 오디오가 필요합니다.
Fedora 23에서 작동하는 솔루션입니다.
dnf install jack-audio-connection-kit jack-audio-connection-kit-dbus qjackctl
/etc/pulse/default.pa를 만지지 마십시오!
qjackctl 구성
~ / .config / rncbc.org / QjackCtl.conf의 관련 조각이 있습니다.
[Settings]
Server=jack_control start
Driver=alsa
InDevice="hw:PCH,0"
OutDevice="hw:PCH,0"
pactl의 싱크 이름은 다음 명령으로 찾을 수 있습니다.
pacmd list-sinks
전체 명령을 표시하기 위해 ~ / .config / rncbc.org / QjackCtl.conf의 조각이 하나 더 있습니다.
[Options]
...
StartupScript=true
StartupScriptShell=pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1
PostStartupScript=true
PostStartupScriptShell=pactl set-default-sink jack_out
ShutdownScript=false
ShutdownScriptShell="pactl unload-module module-jack-sink; pactl load-module module-jack-source"
PostShutdownScript=true
PostShutdownScriptShell="pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 0; pactl set-default-sink alsa_output.pci-0000_00_1b.0.analog-stereo"
Qjackctl 자체에 중요한 "D-Bus 인터페이스 활성화"가 있습니다.
작동 방식
이제 부팅 PC에서 PulseAudio 만 사용하십시오. 잭없이 모든 자동 작업.
Qjackctl 출시 후
- Qjackctl 시작 스크립트는 Plseuaudio에서 기본 오디오 카드를 일시 중단하고 Jackj가 "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"에 액세스 할 수 있도록합니다.
- D- 버스 "jack_control start"를 통해 잭 시작
- 펄스는 자동으로 D-Bus에서 잭 시작을 감지하고 잭 싱크 및 잭 소스를로드합니다.
- 시작 스크립트 후 Qjackctl은 Pulse의 기본 싱크를 jack_out으로 변경합니다. (나는 자체적으로 충족되지 않습니다) "pactl set-default-sink jack_out"(처음 실행중인 모든 PA 클라이언트가 새 싱크로 전환되었으므로이 명령없이 새 앱이 일시 중단 된 싱크에 멈 췄기 때문에 불필요 해 보입니다)
그래서 시스템은 "잭 위에 펄스"를 사용하도록 재구성되었습니다. (어쨌든 사용하지 않기 때문에 하드웨어 입력 일시 중단을 건너 뜁니다)
"응용 프로그램 exti에서 잭 오디오 서버 중지"를 선택하지 않으면 Qjackctl을 닫고 설치를 방해하지 않고 다시 실행할 수 있습니다.
Qjackctl에 의해 잭을 정지시킨 후, 모든 것이 일반 클러 터링되지 않은 펄스로 돌아갑니다!
- dbus를 통한 Qjackctl에 의한 Jackd 중지- "D- 버스 인터페이스 활성화"옵션.
- d- 버스에 의해 Pulseaudio에서 잭 소스 및 잭 싱크가 자동으로 제거됨
- 잭 아웃이 사라져 펄스 오디오의 기본 싱크가 오디오 카드로 전환됨
- 종료 스크립트 후 Qjackctl은 Pulseaudio "pactl suspend-sink alsa_output.pci-0000_00_1b.0.analog-stereo 1"에서 오디오 카드를 다시 활성화합니다.
사용되는 도구
- jackd (패키지 pulseaudio-utils에서)
- jack_control (ack-audio-connection-kit-dbus 패키지에서)
- Qjackctl (패키지 audioaudio-utils에서)
- scpacts에서 펄스 오디오를 제어하는 pactl (패키지 pulseaudio-utils에서)