Hyrje në D-Bus

autobus-hierarki-konceptuale

Nëse keni qenë në Linux për disa kohë, mund të keni menduar se çfarë është D-Bus. D-Bus është një komponent i përfshirë së fundmi në shpërndarjet desktop Linux që pritet të luajë një rol shumë të rëndësishëm për programimin Linux.

Çfarë është autobusi D?

D-Bus është një sistem komunikimi midis aplikacioneve me origjinë shumë të ndryshme. Me këtë sistem mund të quajmë edhe aplikacione të pronarit (nëse ato implementojnë D-Bus). Ajo nuk luan të njëjtin rol si një bibliotekë sepse një bibliotekë nuk është një program i pavarur dhe biblioteka është pjesë e ekzekutimit tuaj. Ideja D-Bus është frymëzuar nga objektet Windows OLE, COM dhe ActiveX. Objektet e Windows COM ofrojnë një mënyrë të thjeshtë për të thirrur ndonjë program nga një program tjetër, madje edhe duke qenë në gjendje të vendosni vizualisht njëri brenda tjetrit pa përdorur të njëjtën gjuhë programimi. D-Bus nuk shkon aq larg, por ofron atë komunikim që UNIX i ka munguar.

Pse është i rëndësishëm D-Bus?

D-Bus është i rëndësishëm duke pasur parasysh larminë e madhe të gjuhëve që mund të punojnë në Linux dhe larminë e madhe të bibliotekave gjithashtu. Le të marrim një shembull praktik. Unë dua të dërgoj një njoftim në sistemin e njoftimit-osd të Ubuntu nga aplikimi im në Node.js. Së pari do të duhet të shihni se çfarë bibliotekë ofron këtë funksionalitet në sistem, të libnotifikoni në këtë rast, dhe pastaj duhet të bëni disa lidhje për të qenë në gjendje të telefononi bibliotekën e programuar në C nga JavaScript. Imagjinoni gjithashtu që ne duam të ekzekutojmë aplikacionin tonë me një desktop që nuk përdor libnotify për njoftime.

Përdorimi i D-Bus

Kështu që ne kemi vendosur që do të përdorim D-Bus për të krijuar njoftimin tonë të aplikacionit në JavaScript.

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

Ekzistojnë 2 lloje të autobusëve në D-Bus, një D-Bus unik për sistemin dhe një D-Bus për secilën sesion të përdoruesit. Pastaj në D-Bus kemi shërbime që janë "emrat e ofruesve të D-Bus", diçka si aplikacionet D-Bus. Pastaj në një strukturë të ngjashme me dosjen janë objektet që mund të ketë ky shërbim ose instancat dhe së fundmi ndërfaqja është mënyra për të bashkëvepruar me objektet e atij shërbimi. Në këtë rast është shumë e tepërt pasi që serveri i njoftimeve është shumë i thjeshtë.

Kush e përdor D-Bus?

Më shumë programe sesa mund të imagjinoni përdorni D-Bus. Disa shërbime të D-Bus vetëm për të përmendur shembuj janë:

  • com.Skype.API
  • com.kanonike.Bashkësia
  • org.freedesktop.PolicyKit1
  • org.gnome.Nautilus
  • org.debian.apt
  • com.ubuntu.Upartart

Për të zbuluar të gjitha shërbimet e D-Bus që keni instaluar mund të përdorni d-feet

Këmbët D


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.

  1.   neysonv dijo

    interesante Kaq kohë që e shikoja, dhe unë as që e dija se çfarë ishte

  2.   Jukiteru dijo

    Gjëja d-feet nëse nuk e dija, unë kam programuar disa gjëra, posaçërisht skenare për XChat (Clementine, Audacious) duke përdorur DBus dhe të vërtetën, pasi të kisha njohur këtë mjet do të më kishte shpëtuar marrëzinë e leximit të manualit MPRIS dhe të ndryshme Ndërfaqet Clementine dhe Audacious DBus.

  3.   Gabriel dijo

    Me të vërtetë është një artikull shumë i mirë, faleminderit

  4.   mëkatar dijo

    Shikoni injorancën time, kaq shumë probleme me dbus në freebsd, gentoo dhe debian dhe unë kurrë nuk e dija se çfarë ishte ... në fakt unë ende nuk e di, por postimi juaj më ka dhënë një ide të përafërt të paktën.

  5.   shënim dijo

    > D-Bus është një komponent i integruar jo shumë kohë më parë për shpërndarjet desktop në Linux.

    Jo shumë kohë më parë ????? Unë e kam përdorur që nga viti 2005.

    Një tjetër gjë është kdbus që është e kohëve të fundit. Isshtë, thjeshtimi, integrimi i dbus brenda bërthamës.

    1.    AdrianArroyoStreet dijo

      Stillshtë akoma një kohë e shkurtër më shumë se asgjë sepse D-Bus kërkon që pjesa tjetër e përbërësve të sistemit të fillojnë ta përdorin atë në mënyrë që të jenë plotësisht funksionale.