Panimula sa D-Bus

bus-hierarchy-haka-haka

Kung matagal ka na sa Linux, maaaring naisip mo kung ano ang D-Bus. Ang D-Bus ay isang sangkap na isinama hindi pa nakakaraan sa mga pamamahagi sa desktop ng Linux na inaasahang gagampanan ng isang napakahalagang papel para sa Linux program.

Ano ang D-Bus?

Ang D-Bus ay isang sistema ng komunikasyon sa pagitan ng mga aplikasyon na may magkakaibang pinagmulan. Sa sistemang ito maaari pa rin tayong tumawag sa mga pagmamay-ari na application (kung ipinatupad nila ang D-Bus). Hindi ito gumaganap ng parehong papel bilang isang silid-aklatan dahil ang isang silid-aklatan ay hindi isang independiyenteng programa at ang aklatan ay bahagi ng iyong maipapatupad. Ang ideya ng D-Bus ay inspirasyon ng mga bagay na Windows OLE, COM at ActiveX. Ang mga bagay sa Windows COM ay nag-aalok ng isang madaling paraan upang tumawag sa anumang programa mula sa isa pang programa, kahit na ma-visual na i-embed ang isa sa loob ng isa pa nang hindi gumagamit ng parehong wika ng programa. Ang D-Bus ay hindi lalayo ngunit nag-aalok ito ng komunikasyon na kulang sa UNIX.

Bakit mahalaga ang D-Bus?

Mahalaga ang D-Bus na binigyan ng malaking pagkakaiba-iba ng mga wika na maaaring gumana sa Linux at ang malaking pagkakaiba-iba din ng mga aklatan. Kumuha tayo ng isang praktikal na halimbawa. Nais kong magpadala ng isang abiso sa Ubuntu notify-osd system mula sa aking aplikasyon sa Node.js. Una kailangan mong makita kung anong aklatan ang nag-aalok ng pagpapaandar na ito sa system, libnotify sa kasong ito, at pagkatapos ay dapat kang gumawa ng ilang mga bindings upang matawagan ang library na nai-program sa C mula sa JavaScript. Isipin din na nais naming patakbuhin ang aming application gamit ang isang desktop na hindi gumagamit ng libnotify para sa mga notification.

Paggamit ng D-Bus

Kaya't napagpasyahan naming gagamitin namin ang D-Bus upang likhain ang aming abiso sa application sa JavaScript.

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

Mayroong 2 uri ng mga bus sa D-Bus, isang natatanging D-Bus sa system at isang D-Bus para sa bawat session ng gumagamit. Pagkatapos sa D-Bus mayroon kaming mga serbisyo na "mga pangalan ng mga nagbibigay ng D-Bus", isang bagay tulad ng mga aplikasyon ng D-Bus. Pagkatapos sa isang tulad ng folder na istraktura ay ang mga bagay na maaaring magkaroon ng serbisyong ito o mga pagkakataon at sa wakas ang interface ay ang paraan upang makipag-ugnay sa mga bagay ng serbisyong iyon. Sa kasong ito ito ay napaka kalabisan dahil ang notification server ay napaka-simple.

Sino ang gumagamit ng D-Bus?

Mas maraming mga programa kaysa sa maisip mong gumamit ng D-Bus. Ang ilang mga serbisyo sa D-Bus na pangalanan lamang ang mga halimbawa ay:

  • com.Skype.API
  • com.canonical.Pagkakaisa
  • org.freedesktop.PolicyKit1
  • org.gnome.Nautilus
  • org.debian.apt
  • com.ubuntu.upstart

Upang malaman ang lahat ng mga serbisyo ng D-Bus na na-install mo maaari kang gumamit ng mga d-paa

D-Paa


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   neysonv dijo

    nakakainteres Napakatagal ng panonood nito, at hindi ko alam kung ano ito

  2.   yukiteru dijo

    Ang d-feet na bagay kung hindi ko alam ito, na-program ko ang ilang mga bagay, lalo na ang mga script para sa XChat (Clementine, Audacious) gamit ang DBus at ang katotohanan, na nalalaman na ang tool na iyon ay makakatipid sa akin ng kabaliwan sa pagbabasa ng manwal ng MPRIS at iba Mga interface ng Clementine at Audacious DBus.

  3.   Gabriel dijo

    Ito talaga ay isang napakahusay na artikulo, salamat

  4.   makasalanan dijo

    Tingnan ang aking kamangmangan, maraming mga problema sa dbus sa freebsd, gentoo at debian at hindi ko alam kung ano ito ... sa katunayan hindi ko pa rin alam ngunit ang post mo ay nagbigay sa akin ng isang magaspang na ideya kahit papaano.

  5.   nota dijo

    > Ang D-Bus ay isang built-in na sangkap hindi pa nakakalipas sa mga pamamahagi ng desktop sa Linux.

    Hindi pa matagal ????? Ginagamit ko ito mula pa noong 2005.

    Ang isa pang bagay ay ang kdbus na kung saan ay kamakailan. Ito ay, pinapasimple, ang pagsasama ng dbus sa loob ng kernel.

    1.    AdrianArroyoStreet dijo

      Ito ay pa rin ng isang maikling oras higit pa sa wala dahil kinakailangan ng D-Bus na ang natitirang mga bahagi ng system ay nagsisimulang gamitin ito upang maging ganap na gumana.