מבוא ל- D-Bus

אוטובוס-היררכיה-מושגית

אם היית בלינוקס זמן מה, אולי תהית מה זה D-Bus. D-Bus הוא רכיב ששולב לאחרונה בהפצות שולחן העבודה של לינוקס, שצפוי למלא תפקיד חשוב מאוד עבור תכנות לינוקס.

מהו D-Bus?

D-Bus היא מערכת תקשורת בין יישומים ממוצא מגוון מאוד. במערכת זו אנו יכולים אפילו להתקשר ליישומים קנייניים (אם הם מיישמים D-Bus). זה לא ממלא את אותו תפקיד כמו ספריה מכיוון שספריה אינה תוכנית עצמאית והספריה היא חלק מההפעלה שלך. הרעיון של D-Bus נכתב בהשראת אובייקטים של Windows OLE, COM ו- ActiveX. אובייקטים של Windows COM מציעים דרך פשוטה להתקשר לכל תוכנית מתוכנית אחרת, אפילו להיות מסוגלים להטמיע חזותית אחד בתוך השני מבלי להשתמש באותה שפת תכנות. D-Bus לא מגיע כל כך רחוק אבל מציע את התקשורת שחסרה ליוניקס.

מדוע D-Bus חשוב?

D-Bus חשוב בהתחשב במגוון הגדול של השפות שיכולות לעבוד בלינוקס והגיוון הגדול גם בספריות. ניקח דוגמא מעשית. אני רוצה לשלוח התראה למערכת ההודעה-osd של אובונטו מהיישום שלי ב- Node.js. ראשית יהיה עליכם לראות איזו ספרייה מציעה פונקציונליות זו במערכת, להודיע ​​על כך במקרה זה, ואז עליכם לעשות כמה כריכות בכדי שתוכלו להתקשר לספרייה שתוכנתה ב- C מ- JavaScript. תאר לעצמך שאנו רוצים להריץ את היישום שלנו עם שולחן עבודה שאינו משתמש ב- libnotify לצורך התראות.

באמצעות D-Bus

אז החלטנו שאנחנו הולכים להשתמש ב- D-Bus כדי ליצור את הודעת היישום שלנו ב- JavaScript.

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

ישנם 2 סוגים של אוטובוסים ב- D-Bus, D-Bus ייחודי למערכת ו- D-Bus לכל מושב משתמשים. ואז ב- D-Bus יש לנו שירותים שהם "שמות ספקי D-Bus", משהו כמו יישומי D-Bus. ואז במבנה דמוי תיקייה נמצאים האובייקטים שלשירות או למופעים האלה יכולים להיות ולבסוף הממשק הוא הדרך לתקשר עם האובייקטים של אותו שירות. במקרה זה הוא מיותר מאוד מכיוון ששרת ההודעות פשוט מאוד.

מי משתמש ב- D-Bus?

תוכניות רבות מכפי שאתה יכול לדמיין השתמש ב- D-Bus. כמה משירותי D-Bus רק לשם דוגמאות הם:

  • com.Skype.API
  • com.canonical.Unity
  • org.freedesktop.PolicyKit1
  • org.gnome.Nautilus
  • org.debian.apt
  • com.ubuntu. התחל

כדי לברר את כל שירותי D-Bus שהתקנתם תוכלו להשתמש ב- d-feet

D- רגליים


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

6 תגובות, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   neysonv דיג'ו

    מעניין. כל כך הרבה צפייה בזה, ואני אפילו לא ידעתי מה זה

  2.   יוקיטרו דיג'ו

    העניין של d-feet אם לא הייתי יודע את זה, תכננתי כמה דברים, במיוחד סקריפטים ל- XChat (קלמנטין, Audacious) באמצעות DBus והאמת, לאחר שידעתי שהכלי הזה היה חוסך לי את הטירוף שבקריאת מדריך MPRIS ואת ממשקי DBus שונים של קלמנטיין ו Audacious.

  3.   גבריאל דיג'ו

    זה באמת מאמר טוב מאוד, תודה

  4.   חוטא דיג'ו

    תסתכל על הבורות שלי, כל כך הרבה בעיות עם dbus ב- freebsd, gentoo ו- debian ומעולם לא ידעתי מה זה ... למעשה אני עדיין לא יודע אבל ההודעה שלך נתנה לי רעיון גס לפחות.

  5.   הערות דיג'ו

    > D-Bus הוא רכיב מובנה לא מזמן להפצות שולחן עבודה בלינוקס.

    לא מזמן ????? אני משתמש בו מאז 2005.

    דבר נוסף הוא kdbus שהוא לאחרונה. זהו, לפשט, את שילוב ה- dbus בתוך הליבה.

    1.    אדריאן ארויו סטריט דיג'ו

      זה עדיין זמן קצר יותר מכלום מכיוון ש- D-Bus דורש ששאר רכיבי המערכת יתחילו להשתמש בו בכדי להיות פונקציונליים לחלוטין.