dbus용 애플릿 구성을 작성하는 이유는 무엇입니까?

dbus용 애플릿 구성을 작성하는 이유는 무엇입니까?

튜토리얼이 있습니다http://wiki.mate-desktop.org/matecorba_to_dbus#d-bus_service_fileDBus 구성 파일을 생성하는 방법을 알려줍니다.

하지만 왜 필요한지 이해가 되지 않습니다. 서비스는 애플릿 시작 중에 애플릿 자체에 의해 등록됩니다. 그리고 애플릿의 시작은 다른 구성(mate-panel 구성)에 설명되어 있습니다.

그렇다면 DBus가 메이트 패널과 독립적으로 애플릿을 시작하면 어떻게 될까요?

답변1

이것이 여전히 문제인 경우: AFAIK DBUS는 애플릿을 만들거나 시작하는 데 사용됩니다. 사용자가 메이트 패널을 마우스 오른쪽 버튼으로 클릭하고 '패널에 추가...'를 선택한 다음 애플릿을 패널에 추가합니다.

당신은 볼 수 있습니다 https://github.com/mate-desktop/mate-university 애플릿을 만들고 싶다면. 나는 그것을 업데이트하려고 노력할 예정이다.

편집: 좋습니다. 정확하게 말해 보겠습니다. - 비록 나는 이것에 익숙하지 않습니다.
DBus 구성 파일이 필요한 이유는 무엇입니까?
애플릿을 설치하면 구성 파일이 /usr/share/dbus-1/services에 복사됩니다. 적어도 제 생각에는 그렇습니다. 그러면 애플릿에 대한 DBus 서비스가 시작됩니다. Mate-panel은 mate-panel-applet-factory.c mate_panel_applet_factory_register_service() 에서 g_bus_own_name()을 호출하여
팩토리 서비스의 소유권을 갖습니다 .

따라서 '서비스는 애플릿 시작 중에 애플릿 자체에 의해 등록됩니다'라는 진술이 나에게는 다소 잘못된 것 같습니다. 애플릿이 서비스를 등록하는 것이 아니라 단지 이를 가리킬 뿐입니다.
서비스를 제거하고 패널을 다시 시작하면 애플릿을 추가할 수 있지만 아무 일도 일어나지 않습니다.
서비스는 애플릿을 실행합니다.
이 서비스는 아마도 panel-addto.c에서 호출되지만 정확한 위치를 찾을 수 없습니다.

DBus는 언제 메이트 패널과 독립적으로 애플릿을 시작합니까?
아마 결코. 나는 DBus가 mate-panel이 모든 애플릿 팩토리 목록을 구문 분석하고 필요한 경우 호출할 수 있는 인터페이스일 뿐이라고 생각합니다.

저는 메이트 패널 코드를 처음 접했기 때문에 3년 이상 전에 누군가가 뭔가를 쓴 이유를 실제로 설명할 수 없습니다.

또한 관련성이 없습니다. 누군가 애플릿을 작성하고 싶다면 제가 도와드릴 수 있을 것 같습니다. 아니면 제가 지난 한 시간 동안 그랬던 것처럼 원본 개발자에게 직접 편지를 쓰거나 코드를 찾아보세요...

관련 정보