이 단일 사용자 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에 연결할 수 없고 우선순위/실시간을 설정할 수 없으면 오류를 반환하고 재시도하지 않습니다.