PulseAudio에 시스템 dbus가 필요한 이유는 무엇입니까?

PulseAudio에 시스템 dbus가 필요한 이유는 무엇입니까?

이 단일 사용자 FreeBSD 데스크탑에서 다양한 데스크탑 구성 요소는 dbus사용자 고유의 인스턴스를 사용하여 통신합니다.

하지만,pulseaudio 반품시스템 전체와 대화를 시도했지만 dbus(활성화되지 않음) 액세스할 수 없었고 다음 메시지와 함께 로그를 스팸 처리했습니다.

Failed to connect to system bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory

dbus-service를 수동으로 시작 하면 pulseaudio다음과 같이 기록됩니다.

... : [(null)] oss-util.c: '/dev/dsp0' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp1' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp2' doesn't support full duplex
... : [(null)] oss-util.c: '/dev/dsp3' doesn't support full duplex

그럼 닥쳐. 왜 시스템 전체와 통신해야 합니까 dbus? 시스템 전체 서비스를 활성화하면 무엇을 얻을 수 있나요?

답변1

시스템 전체 dbus와 통신해야 하는 이유는 무엇입니까?

높은 우선순위와 실시간 설정을 위해 시스템 전체의 dbus와 통신을 시도합니다.

바라보다:

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulsecore/core-util.c#L706-L717

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulse/util.c#L406-L417

https://github.com/pulseaudio/pulseaudio/blob/v13.0/src/pulsecore/rtkit.c

시스템 전체 서비스를 활성화하면 무엇을 얻을 수 있나요?

FreeBSD에는 아무것도 없습니다. 내가 아는 한 RealTimeKit은 FreeBSD에서 사용할 수 없습니다. (코드에서는 그렇게 하려고 시도하지만 실제로 "필요"는 없습니다.) 추가 정보에는 Linux가 필요하다고 나와 있습니다.

https://git.0pointer.net/rtkit.git/tree/README#n217

dbus에 연결할 수 없으면 재시도하는 것처럼 보이지만 dbus에 연결할 수 없고 우선순위/실시간을 설정할 수 없으면 오류를 반환하고 재시도하지 않습니다.

관련 정보