D-Bus 소개

버스 계층 구조 개념

한동안 Linux를 사용했다면 D-Bus가 무엇인지 궁금했을 것입니다. D-Bus는 최근 Linux 프로그래밍에 매우 중요한 역할을 할 것으로 예상되는 Linux 데스크톱 배포판에 통합 된 구성 요소입니다.

D-Bus는 무엇입니까?

D-Bus는 매우 다양한 출처의 애플리케이션 간의 통신 시스템입니다. 이 시스템을 사용하면 독점 애플리케이션을 호출 할 수도 있습니다 (D-Bus를 구현하는 경우). 라이브러리는 독립 프로그램이 아니고 라이브러리가 실행 파일의 일부이기 때문에 라이브러리와 동일한 역할을 수행하지 않습니다. D-Bus 아이디어는 Windows OLE, COM 및 ActiveX 개체에서 영감을 얻었습니다. Windows COM 개체는 다른 프로그램에서 프로그램을 쉽게 호출 할 수있는 방법을 제공하며 동일한 프로그래밍 언어를 사용하지 않고도 다른 프로그램 안에 시각적으로 포함 할 수 있습니다. D-Bus는 그렇게 멀리 가지 않지만 UNIX가 부족했던 통신을 제공합니다.

D-Bus가 중요한 이유는 무엇입니까?

D-Bus는 Linux에서 작동 할 수있는 언어의 다양성과 라이브러리의 다양성을 고려할 때 중요합니다. 실용적인 예를 들어 보겠습니다. Node.js의 내 애플리케이션에서 Ubuntu의 notify-osd 시스템으로 알림을 보내고 싶습니다. 먼저 시스템에서이 기능을 제공하는 라이브러리,이 경우 libnotify를 확인한 다음 JavaScript에서 C로 프로그래밍 된 라이브러리를 호출 할 수 있도록 몇 가지 바인딩을 수행해야합니다. 또한 알림에 libnotify를 사용하지 않는 데스크톱에서 애플리케이션을 실행하고 싶다고 상상해보십시오.

D-Bus 사용

그래서 우리는 JavaScript로 애플리케이션 알림을 생성하기 위해 D-Bus를 사용하기로 결정했습니다.

https://gist.github.com/AdrianArroyoCalle/99d2ea6db92e90a54e2c

D-Bus에는 시스템에 고유 한 D-Bus와 각 사용자 세션에 대한 D-Bus의 두 가지 유형의 버스가 있습니다. 그런 다음 D-Bus에는 D-Bus 애플리케이션과 같은 "D-Bus 공급자의 이름"인 서비스가 있습니다. 그런 다음 폴더와 같은 구조에는이 서비스 또는 인스턴스가 가질 수있는 개체가 있으며 마지막으로 인터페이스는 해당 서비스의 개체와 상호 작용하는 방법입니다. 이 경우 알림 서버가 매우 간단하기 때문에 매우 중복됩니다.

누가 D-Bus를 사용합니까?

상상할 수있는 것보다 더 많은 프로그램이 D-Bus를 사용합니다. 예를 들기위한 일부 D-Bus 서비스는 다음과 같습니다.

  • com.스카이프.API
  • com.canonical.Unity
  • org.freedesktop.PolicyKit1
  • org.gnome.노틸러스
  • org.debian.apt
  • com.ubuntu.업스타트

설치 한 모든 D-Bus 서비스를 찾으려면 d-feet를 사용할 수 있습니다.

D- 피트


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.

  1.   Nysonv

    흥미 롭군요. 너무 오래 봤는데 그게 뭔지도 몰랐어요

  2.   유키 테루

    d-feet에 대해 몰랐다면, 특히 DBus와 진실을 사용하여 XChat (Clementine, Audacious) 용 스크립트를 프로그래밍했습니다.이 도구를 알았다면 MPRIS 매뉴얼을 읽는 광기와 다른 Clementine 및 Audacious DBus 인터페이스.

  3.   가브리엘

    정말 좋은 기사입니다, 감사합니다

  4.   죄인

    내 무지, freebsd, gentoo 및 debian에서 dbus에 대한 많은 문제를 보시고 그것이 무엇인지 결코 알지 못했습니다 ... 사실 나는 여전히 모르겠지만 귀하의 게시물은 적어도 대략적인 아이디어를주었습니다.

  5.   주의 사항

    > D-Bus는 얼마 전 Linux의 데스크톱 배포에 내장 된 구성 요소입니다.

    얼마 전 ????? 2005 년부터 사용하고 있습니다.

    또 다른 것은 최근의 kdbus입니다. 이는 커널 내에서 dbus의 통합을 단순화하는 것입니다.

    1.    AdrianArroyoStreet

      D-Bus는 시스템의 나머지 구성 요소가 완전히 작동하기 위해이를 사용하기 시작해야하기 때문에 여전히 짧은 시간입니다.