튜토리얼이 있습니다http://wiki.mate-desktop.org/matecorba_to_dbus#d-bus_service_fileDBus 구성 파일을 생성하는 방법을 설명합니다.
그런데 왜 필요한지 이해가 안 돼요. 이 서비스는 애플릿 시작 중에 애플릿 자체에 의해 등록됩니다. 애플릿의 시작은 다른 구성(mate-panel 구성)에 설명되어 있습니다.
그렇다면 DBus는 언제 mate-panel과 독립적으로 애플릿을 시작합니까?
답변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년 전에 뭔가를 쓴 이유를 실제로 설명할 수 없습니다.
이것은 또한 관련이 없습니다. 누구든지 작은 프로그램을 작성하고 싶다면 제가 도와드릴 수 있을 것 같아요. 아니면 원래 개발자에게 직접 글을 쓰거나 제가 지난 한 시간 동안 했던 것처럼 코드를 찾아보세요...