CINXE.COM
D-Bus - Wikipedia
<!DOCTYPE html> <html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available" lang="en" dir="ltr"> <head> <meta charset="UTF-8"> <title>D-Bus - Wikipedia</title> <script>(function(){var className="client-js vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-feature-night-mode-enabled skin-theme-clientpref-day vector-sticky-header-enabled vector-toc-available";var cookie=document.cookie.match(/(?:^|; )enwikimwclientpreferences=([^;]+)/);if(cookie){cookie[1].split('%2C').forEach(function(pref){className=className.replace(new RegExp('(^| )'+pref.replace(/-clientpref-\w+$|[^\w-]+/g,'')+'-clientpref-\\w+( |$)'),'$1'+pref+'$2');});}document.documentElement.className=className;}());RLCONF={"wgBreakFrames":false,"wgSeparatorTransformTable":["",""],"wgDigitTransformTable":["",""],"wgDefaultDateFormat":"dmy","wgMonthNames":["","January","February","March","April","May","June","July","August","September","October","November","December"],"wgRequestId":"0f97173d-d1a5-470b-9bfa-4bf93228e7e0","wgCanonicalNamespace":"","wgCanonicalSpecialPageName":false,"wgNamespaceNumber":0,"wgPageName":"D-Bus","wgTitle":"D-Bus","wgCurRevisionId":1280401656,"wgRevisionId":1280401656,"wgArticleId":2083029,"wgIsArticle":true,"wgIsRedirect":false,"wgAction":"view","wgUserName":null,"wgUserGroups":["*"],"wgCategories":["Articles with short description","Short description is different from Wikidata","All articles with dead external links","Articles with dead external links from November 2016","All articles with unsourced statements","Articles with unsourced statements from March 2025","Articles with unsourced statements from February 2016","Articles with unsourced statements from December 2022","Application layer protocols","C++ libraries","Collabora","Free network-related software","Freedesktop.org","Inter-process communication","Remote procedure call","Software using the Academic Free License"],"wgPageViewLanguage":"en","wgPageContentLanguage":"en","wgPageContentModel":"wikitext","wgRelevantPageName":"D-Bus","wgRelevantArticleId":2083029,"wgIsProbablyEditable":true,"wgRelevantPageIsProbablyEditable":true,"wgRestrictionEdit":[],"wgRestrictionMove":[],"wgNoticeProject":"wikipedia","wgCiteReferencePreviewsActive":false,"wgFlaggedRevsParams":{"tags":{"status":{"levels":1}}},"wgMediaViewerOnClick":true,"wgMediaViewerEnabledByDefault":true,"wgPopupsFlags":0,"wgVisualEditor":{"pageLanguageCode":"en","pageLanguageDir":"ltr","pageVariantFallbacks":"en"},"wgMFDisplayWikibaseDescriptions":{"search":true,"watchlist":true,"tagline":false,"nearby":true},"wgWMESchemaEditAttemptStepOversample":false,"wgWMEPageLength":40000,"wgEditSubmitButtonLabelPublish":true,"wgULSPosition":"interlanguage","wgULSisCompactLinksEnabled":false,"wgVector2022LanguageInHeader":true,"wgULSisLanguageSelectorEmpty":false,"wgWikibaseItemId":"Q768923","wgCheckUserClientHintsHeadersJsApi":["brands","architecture","bitness","fullVersionList","mobile","model","platform","platformVersion"],"GEHomepageSuggestedEditsEnableTopics":true,"wgGETopicsMatchModeEnabled":false,"wgGEStructuredTaskRejectionReasonTextInputEnabled":false,"wgGELevelingUpEnabledForUser":false}; RLSTATE={"ext.globalCssJs.user.styles":"ready","site.styles":"ready","user.styles":"ready","ext.globalCssJs.user":"ready","user":"ready","user.options":"loading","ext.cite.styles":"ready","ext.pygments":"ready","skins.vector.search.codex.styles":"ready","skins.vector.styles":"ready","skins.vector.icons":"ready","jquery.makeCollapsible.styles":"ready","ext.wikimediamessages.styles":"ready","ext.visualEditor.desktopArticleTarget.noscript":"ready","ext.uls.interlanguage":"ready","wikibase.client.init":"ready"};RLPAGEMODULES=["ext.cite.ux-enhancements","ext.pygments.view","mediawiki.page.media","site","mediawiki.page.ready","jquery.makeCollapsible","mediawiki.toc","skins.vector.js","ext.centralNotice.geoIP","ext.centralNotice.startUp","ext.gadget.ReferenceTooltips","ext.gadget.switcher","ext.urlShortener.toolbar","ext.centralauth.centralautologin","mmv.bootstrap","ext.popups","ext.visualEditor.desktopArticleTarget.init","ext.visualEditor.targetLoader","ext.echo.centralauth","ext.eventLogging","ext.wikimediaEvents","ext.navigationTiming","ext.uls.interface","ext.cx.eventlogging.campaigns","ext.cx.uls.quick.actions","wikibase.client.vector-2022","ext.checkUser.clientHints","ext.growthExperiments.SuggestedEditSession"];</script> <script>(RLQ=window.RLQ||[]).push(function(){mw.loader.impl(function(){return["user.options@12s5i",function($,jQuery,require,module){mw.user.tokens.set({"patrolToken":"+\\","watchToken":"+\\","csrfToken":"+\\"}); }];});});</script> <link rel="stylesheet" href="/w/load.php?lang=en&modules=ext.cite.styles%7Cext.pygments%7Cext.uls.interlanguage%7Cext.visualEditor.desktopArticleTarget.noscript%7Cext.wikimediamessages.styles%7Cjquery.makeCollapsible.styles%7Cskins.vector.icons%2Cstyles%7Cskins.vector.search.codex.styles%7Cwikibase.client.init&only=styles&skin=vector-2022"> <script async="" src="/w/load.php?lang=en&modules=startup&only=scripts&raw=1&skin=vector-2022"></script> <meta name="ResourceLoaderDynamicStyles" content=""> <link rel="stylesheet" href="/w/load.php?lang=en&modules=site.styles&only=styles&skin=vector-2022"> <meta name="generator" content="MediaWiki 1.44.0-wmf.20"> <meta name="referrer" content="origin"> <meta name="referrer" content="origin-when-cross-origin"> <meta name="robots" content="max-image-preview:standard"> <meta name="format-detection" content="telephone=no"> <meta name="viewport" content="width=1120"> <meta property="og:title" content="D-Bus - Wikipedia"> <meta property="og:type" content="website"> <link rel="preconnect" href="//upload.wikimedia.org"> <link rel="alternate" media="only screen and (max-width: 640px)" href="//en.m.wikipedia.org/wiki/D-Bus"> <link rel="alternate" type="application/x-wiki" title="Edit this page" href="/w/index.php?title=D-Bus&action=edit"> <link rel="apple-touch-icon" href="/static/apple-touch/wikipedia.png"> <link rel="icon" href="/static/favicon/wikipedia.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/w/rest.php/v1/search" title="Wikipedia (en)"> <link rel="EditURI" type="application/rsd+xml" href="//en.wikipedia.org/w/api.php?action=rsd"> <link rel="canonical" href="https://en.wikipedia.org/wiki/D-Bus"> <link rel="license" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en"> <link rel="alternate" type="application/atom+xml" title="Wikipedia Atom feed" href="/w/index.php?title=Special:RecentChanges&feed=atom"> <link rel="dns-prefetch" href="//meta.wikimedia.org" /> <link rel="dns-prefetch" href="login.wikimedia.org"> </head> <body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject mw-editable page-D-Bus rootpage-D-Bus skin-vector-2022 action-view"><a class="mw-jump-link" href="#bodyContent">Jump to content</a> <div class="vector-header-container"> <header class="vector-header mw-header"> <div class="vector-header-start"> <nav class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-dropdown" class="vector-dropdown vector-main-menu-dropdown vector-button-flush-left vector-button-flush-right" title="Main menu" > <input type="checkbox" id="vector-main-menu-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-main-menu-dropdown" class="vector-dropdown-checkbox " aria-label="Main menu" > <label id="vector-main-menu-dropdown-label" for="vector-main-menu-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-menu mw-ui-icon-wikimedia-menu"></span> <span class="vector-dropdown-label-text">Main menu</span> </label> <div class="vector-dropdown-content"> <div id="vector-main-menu-unpinned-container" class="vector-unpinned-container"> <div id="vector-main-menu" class="vector-main-menu vector-pinnable-element"> <div class="vector-pinnable-header vector-main-menu-pinnable-header vector-pinnable-header-unpinned" data-feature-name="main-menu-pinned" data-pinnable-element-id="vector-main-menu" data-pinned-container-id="vector-main-menu-pinned-container" data-unpinned-container-id="vector-main-menu-unpinned-container" > <div class="vector-pinnable-header-label">Main menu</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-main-menu.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-main-menu.unpin">hide</button> </div> <div id="p-navigation" class="vector-menu mw-portlet mw-portlet-navigation" > <div class="vector-menu-heading"> Navigation </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-mainpage-description" class="mw-list-item"><a href="/wiki/Main_Page" title="Visit the main page [z]" accesskey="z"><span>Main page</span></a></li><li id="n-contents" class="mw-list-item"><a href="/wiki/Wikipedia:Contents" title="Guides to browsing Wikipedia"><span>Contents</span></a></li><li id="n-currentevents" class="mw-list-item"><a href="/wiki/Portal:Current_events" title="Articles related to current events"><span>Current events</span></a></li><li id="n-randompage" class="mw-list-item"><a href="/wiki/Special:Random" title="Visit a randomly selected article [x]" accesskey="x"><span>Random article</span></a></li><li id="n-aboutsite" class="mw-list-item"><a href="/wiki/Wikipedia:About" title="Learn about Wikipedia and how it works"><span>About Wikipedia</span></a></li><li id="n-contactpage" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us" title="How to contact Wikipedia"><span>Contact us</span></a></li> </ul> </div> </div> <div id="p-interaction" class="vector-menu mw-portlet mw-portlet-interaction" > <div class="vector-menu-heading"> Contribute </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="n-help" class="mw-list-item"><a href="/wiki/Help:Contents" title="Guidance on how to use and edit Wikipedia"><span>Help</span></a></li><li id="n-introduction" class="mw-list-item"><a href="/wiki/Help:Introduction" title="Learn how to edit Wikipedia"><span>Learn to edit</span></a></li><li id="n-portal" class="mw-list-item"><a href="/wiki/Wikipedia:Community_portal" title="The hub for editors"><span>Community portal</span></a></li><li id="n-recentchanges" class="mw-list-item"><a href="/wiki/Special:RecentChanges" title="A list of recent changes to Wikipedia [r]" accesskey="r"><span>Recent changes</span></a></li><li id="n-upload" class="mw-list-item"><a href="/wiki/Wikipedia:File_upload_wizard" title="Add images or other media for use on Wikipedia"><span>Upload file</span></a></li><li id="n-specialpages" class="mw-list-item"><a href="/wiki/Special:SpecialPages"><span>Special pages</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> <a href="/wiki/Main_Page" class="mw-logo"> <img class="mw-logo-icon" src="/static/images/icons/wikipedia.png" alt="" aria-hidden="true" height="50" width="50"> <span class="mw-logo-container skin-invert"> <img class="mw-logo-wordmark" alt="Wikipedia" src="/static/images/mobile/copyright/wikipedia-wordmark-en.svg" style="width: 7.5em; height: 1.125em;"> <img class="mw-logo-tagline" alt="The Free Encyclopedia" src="/static/images/mobile/copyright/wikipedia-tagline-en.svg" width="117" height="13" style="width: 7.3125em; height: 0.8125em;"> </span> </a> </div> <div class="vector-header-end"> <div id="p-search" role="search" class="vector-search-box-vue vector-search-box-collapses vector-search-box-show-thumbnail vector-search-box-auto-expand-width vector-search-box"> <a href="/wiki/Special:Search" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only search-toggle" title="Search Wikipedia [f]" accesskey="f"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </a> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail cdx-typeahead-search--auto-expand-width"> <form action="/w/index.php" id="searchform" class="cdx-search-input cdx-search-input--has-end-button"> <div id="simpleSearch" class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia" aria-label="Search Wikipedia" autocapitalize="sentences" title="Search Wikipedia [f]" accesskey="f" id="searchInput" > <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <nav class="vector-user-links vector-user-links-wide" aria-label="Personal tools"> <div class="vector-user-links-main"> <div id="p-vector-user-menu-preferences" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-userpage" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-dropdown" class="vector-dropdown " title="Change the appearance of the page's font size, width, and color" > <input type="checkbox" id="vector-appearance-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-appearance-dropdown" class="vector-dropdown-checkbox " aria-label="Appearance" > <label id="vector-appearance-dropdown-label" for="vector-appearance-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-appearance mw-ui-icon-wikimedia-appearance"></span> <span class="vector-dropdown-label-text">Appearance</span> </label> <div class="vector-dropdown-content"> <div id="vector-appearance-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div id="p-vector-user-menu-notifications" class="vector-menu mw-portlet emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> <div id="p-vector-user-menu-overflow" class="vector-menu mw-portlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en" class=""><span>Donate</span></a> </li> <li id="pt-createaccount-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:CreateAccount&returnto=D-Bus" title="You are encouraged to create an account and log in; however, it is not mandatory" class=""><span>Create account</span></a> </li> <li id="pt-login-2" class="user-links-collapsible-item mw-list-item user-links-collapsible-item"><a data-mw="interface" href="/w/index.php?title=Special:UserLogin&returnto=D-Bus" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o" class=""><span>Log in</span></a> </li> </ul> </div> </div> </div> <div id="vector-user-links-dropdown" class="vector-dropdown vector-user-menu vector-button-flush-right vector-user-menu-logged-out" title="Log in and more options" > <input type="checkbox" id="vector-user-links-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-user-links-dropdown" class="vector-dropdown-checkbox " aria-label="Personal tools" > <label id="vector-user-links-dropdown-label" for="vector-user-links-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-ellipsis mw-ui-icon-wikimedia-ellipsis"></span> <span class="vector-dropdown-label-text">Personal tools</span> </label> <div class="vector-dropdown-content"> <div id="p-personal" class="vector-menu mw-portlet mw-portlet-personal user-links-collapsible-item" title="User menu" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-sitesupport" class="user-links-collapsible-item mw-list-item"><a href="https://donate.wikimedia.org/?wmf_source=donate&wmf_medium=sidebar&wmf_campaign=en.wikipedia.org&uselang=en"><span>Donate</span></a></li><li id="pt-createaccount" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:CreateAccount&returnto=D-Bus" title="You are encouraged to create an account and log in; however, it is not mandatory"><span class="vector-icon mw-ui-icon-userAdd mw-ui-icon-wikimedia-userAdd"></span> <span>Create account</span></a></li><li id="pt-login" class="user-links-collapsible-item mw-list-item"><a href="/w/index.php?title=Special:UserLogin&returnto=D-Bus" title="You're encouraged to log in; however, it's not mandatory. [o]" accesskey="o"><span class="vector-icon mw-ui-icon-logIn mw-ui-icon-wikimedia-logIn"></span> <span>Log in</span></a></li> </ul> </div> </div> <div id="p-user-menu-anon-editor" class="vector-menu mw-portlet mw-portlet-user-menu-anon-editor" > <div class="vector-menu-heading"> Pages for logged out editors <a href="/wiki/Help:Introduction" aria-label="Learn more about editing"><span>learn more</span></a> </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="pt-anoncontribs" class="mw-list-item"><a href="/wiki/Special:MyContributions" title="A list of edits made from this IP address [y]" accesskey="y"><span>Contributions</span></a></li><li id="pt-anontalk" class="mw-list-item"><a href="/wiki/Special:MyTalk" title="Discussion about edits from this IP address [n]" accesskey="n"><span>Talk</span></a></li> </ul> </div> </div> </div> </div> </nav> </div> </header> </div> <div class="mw-page-container"> <div class="mw-page-container-inner"> <div class="vector-sitenotice-container"> <div id="siteNotice"><!-- CentralNotice --></div> </div> <div class="vector-column-start"> <div class="vector-main-menu-container"> <div id="mw-navigation"> <nav id="mw-panel" class="vector-main-menu-landmark" aria-label="Site"> <div id="vector-main-menu-pinned-container" class="vector-pinned-container"> </div> </nav> </div> </div> <div class="vector-sticky-pinned-container"> <nav id="mw-panel-toc" aria-label="Contents" data-event-name="ui.sidebar-toc" class="mw-table-of-contents-container vector-toc-landmark"> <div id="vector-toc-pinned-container" class="vector-pinned-container"> <div id="vector-toc" class="vector-toc vector-pinnable-element"> <div class="vector-pinnable-header vector-toc-pinnable-header vector-pinnable-header-pinned" data-feature-name="toc-pinned" data-pinnable-element-id="vector-toc" > <h2 class="vector-pinnable-header-label">Contents</h2> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-toc.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-toc.unpin">hide</button> </div> <ul class="vector-toc-contents" id="mw-panel-toc-list"> <li id="toc-mw-content-text" class="vector-toc-list-item vector-toc-level-1"> <a href="#" class="vector-toc-link"> <div class="vector-toc-text">(Top)</div> </a> </li> <li id="toc-Overview" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Overview"> <div class="vector-toc-text"> <span class="vector-toc-numb">1</span> <span>Overview</span> </div> </a> <ul id="toc-Overview-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-D-Bus_specification" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#D-Bus_specification"> <div class="vector-toc-text"> <span class="vector-toc-numb">2</span> <span>D-Bus specification</span> </div> </a> <button aria-controls="toc-D-Bus_specification-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle D-Bus specification subsection</span> </button> <ul id="toc-D-Bus_specification-sublist" class="vector-toc-list"> <li id="toc-Bus_model" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Bus_model"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.1</span> <span>Bus model</span> </div> </a> <ul id="toc-Bus_model-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Object_model" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Object_model"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.2</span> <span>Object model</span> </div> </a> <ul id="toc-Object_model-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Communications_model" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Communications_model"> <div class="vector-toc-text"> <span class="vector-toc-numb">2.3</span> <span>Communications model</span> </div> </a> <ul id="toc-Communications_model-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-Internals" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Internals"> <div class="vector-toc-text"> <span class="vector-toc-numb">3</span> <span>Internals</span> </div> </a> <ul id="toc-Internals-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-History_and_adoption" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#History_and_adoption"> <div class="vector-toc-text"> <span class="vector-toc-numb">4</span> <span>History and adoption</span> </div> </a> <ul id="toc-History_and_adoption-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Implementations" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#Implementations"> <div class="vector-toc-text"> <span class="vector-toc-numb">5</span> <span>Implementations</span> </div> </a> <button aria-controls="toc-Implementations-sublist" class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-toc-toggle"> <span class="vector-icon mw-ui-icon-wikimedia-expand"></span> <span>Toggle Implementations subsection</span> </button> <ul id="toc-Implementations-sublist" class="vector-toc-list"> <li id="toc-libdbus" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#libdbus"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.1</span> <span>libdbus</span> </div> </a> <ul id="toc-libdbus-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-GDBus" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#GDBus"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.2</span> <span>GDBus</span> </div> </a> <ul id="toc-GDBus-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-sd-bus" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#sd-bus"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.3</span> <span>sd-bus</span> </div> </a> <ul id="toc-sd-bus-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-kdbus" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#kdbus"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.4</span> <span>kdbus</span> </div> </a> <ul id="toc-kdbus-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-Language_bindings" class="vector-toc-list-item vector-toc-level-2"> <a class="vector-toc-link" href="#Language_bindings"> <div class="vector-toc-text"> <span class="vector-toc-numb">5.5</span> <span>Language bindings</span> </div> </a> <ul id="toc-Language_bindings-sublist" class="vector-toc-list"> </ul> </li> </ul> </li> <li id="toc-See_also" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#See_also"> <div class="vector-toc-text"> <span class="vector-toc-numb">6</span> <span>See also</span> </div> </a> <ul id="toc-See_also-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-References" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#References"> <div class="vector-toc-text"> <span class="vector-toc-numb">7</span> <span>References</span> </div> </a> <ul id="toc-References-sublist" class="vector-toc-list"> </ul> </li> <li id="toc-External_links" class="vector-toc-list-item vector-toc-level-1 vector-toc-list-item-expanded"> <a class="vector-toc-link" href="#External_links"> <div class="vector-toc-text"> <span class="vector-toc-numb">8</span> <span>External links</span> </div> </a> <ul id="toc-External_links-sublist" class="vector-toc-list"> </ul> </li> </ul> </div> </div> </nav> </div> </div> <div class="mw-content-container"> <main id="content" class="mw-body"> <header class="mw-body-header vector-page-titlebar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-page-titlebar-toc" class="vector-dropdown vector-page-titlebar-toc vector-button-flush-left" title="Table of Contents" > <input type="checkbox" id="vector-page-titlebar-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-titlebar-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-page-titlebar-toc-label" for="vector-page-titlebar-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-titlebar-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">D-Bus</span></h1> <div id="p-lang-btn" class="vector-dropdown mw-portlet mw-portlet-lang" > <input type="checkbox" id="p-lang-btn-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-p-lang-btn" class="vector-dropdown-checkbox mw-interlanguage-selector" aria-label="Go to an article in another language. Available in 22 languages" > <label id="p-lang-btn-label" for="p-lang-btn-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive mw-portlet-lang-heading-22" aria-hidden="true" ><span class="vector-icon mw-ui-icon-language-progressive mw-ui-icon-wikimedia-language-progressive"></span> <span class="vector-dropdown-label-text">22 languages</span> </label> <div class="vector-dropdown-content"> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="interlanguage-link interwiki-ar mw-list-item"><a href="https://ar.wikipedia.org/wiki/%D8%AF%D9%8A-%D8%A8%D8%B3" title="دي-بس – Arabic" lang="ar" hreflang="ar" data-title="دي-بس" data-language-autonym="العربية" data-language-local-name="Arabic" class="interlanguage-link-target"><span>العربية</span></a></li><li class="interlanguage-link interwiki-ca mw-list-item"><a href="https://ca.wikipedia.org/wiki/D-BUS" title="D-BUS – Catalan" lang="ca" hreflang="ca" data-title="D-BUS" data-language-autonym="Català" data-language-local-name="Catalan" class="interlanguage-link-target"><span>Català</span></a></li><li class="interlanguage-link interwiki-cs mw-list-item"><a href="https://cs.wikipedia.org/wiki/D-Bus" title="D-Bus – Czech" lang="cs" hreflang="cs" data-title="D-Bus" data-language-autonym="Čeština" data-language-local-name="Czech" class="interlanguage-link-target"><span>Čeština</span></a></li><li class="interlanguage-link interwiki-de mw-list-item"><a href="https://de.wikipedia.org/wiki/D-Bus" title="D-Bus – German" lang="de" hreflang="de" data-title="D-Bus" data-language-autonym="Deutsch" data-language-local-name="German" class="interlanguage-link-target"><span>Deutsch</span></a></li><li class="interlanguage-link interwiki-es mw-list-item"><a href="https://es.wikipedia.org/wiki/D-Bus" title="D-Bus – Spanish" lang="es" hreflang="es" data-title="D-Bus" data-language-autonym="Español" data-language-local-name="Spanish" class="interlanguage-link-target"><span>Español</span></a></li><li class="interlanguage-link interwiki-fa mw-list-item"><a href="https://fa.wikipedia.org/wiki/%D8%AF%DB%8C_%D8%A8%D8%A7%D8%B3" title="دی باس – Persian" lang="fa" hreflang="fa" data-title="دی باس" data-language-autonym="فارسی" data-language-local-name="Persian" class="interlanguage-link-target"><span>فارسی</span></a></li><li class="interlanguage-link interwiki-fr mw-list-item"><a href="https://fr.wikipedia.org/wiki/D-Bus" title="D-Bus – French" lang="fr" hreflang="fr" data-title="D-Bus" data-language-autonym="Français" data-language-local-name="French" class="interlanguage-link-target"><span>Français</span></a></li><li class="interlanguage-link interwiki-ko mw-list-item"><a href="https://ko.wikipedia.org/wiki/D-Bus" title="D-Bus – Korean" lang="ko" hreflang="ko" data-title="D-Bus" data-language-autonym="한국어" data-language-local-name="Korean" class="interlanguage-link-target"><span>한국어</span></a></li><li class="interlanguage-link interwiki-id mw-list-item"><a href="https://id.wikipedia.org/wiki/D-Bus" title="D-Bus – Indonesian" lang="id" hreflang="id" data-title="D-Bus" data-language-autonym="Bahasa Indonesia" data-language-local-name="Indonesian" class="interlanguage-link-target"><span>Bahasa Indonesia</span></a></li><li class="interlanguage-link interwiki-it mw-list-item"><a href="https://it.wikipedia.org/wiki/D-Bus" title="D-Bus – Italian" lang="it" hreflang="it" data-title="D-Bus" data-language-autonym="Italiano" data-language-local-name="Italian" class="interlanguage-link-target"><span>Italiano</span></a></li><li class="interlanguage-link interwiki-hu mw-list-item"><a href="https://hu.wikipedia.org/wiki/D-Bus" title="D-Bus – Hungarian" lang="hu" hreflang="hu" data-title="D-Bus" data-language-autonym="Magyar" data-language-local-name="Hungarian" class="interlanguage-link-target"><span>Magyar</span></a></li><li class="interlanguage-link interwiki-nl mw-list-item"><a href="https://nl.wikipedia.org/wiki/D-Bus" title="D-Bus – Dutch" lang="nl" hreflang="nl" data-title="D-Bus" data-language-autonym="Nederlands" data-language-local-name="Dutch" class="interlanguage-link-target"><span>Nederlands</span></a></li><li class="interlanguage-link interwiki-ja mw-list-item"><a href="https://ja.wikipedia.org/wiki/D-Bus" title="D-Bus – Japanese" lang="ja" hreflang="ja" data-title="D-Bus" data-language-autonym="日本語" data-language-local-name="Japanese" class="interlanguage-link-target"><span>日本語</span></a></li><li class="interlanguage-link interwiki-no mw-list-item"><a href="https://no.wikipedia.org/wiki/D-Bus" title="D-Bus – Norwegian Bokmål" lang="nb" hreflang="nb" data-title="D-Bus" data-language-autonym="Norsk bokmål" data-language-local-name="Norwegian Bokmål" class="interlanguage-link-target"><span>Norsk bokmål</span></a></li><li class="interlanguage-link interwiki-pl mw-list-item"><a href="https://pl.wikipedia.org/wiki/D-Bus" title="D-Bus – Polish" lang="pl" hreflang="pl" data-title="D-Bus" data-language-autonym="Polski" data-language-local-name="Polish" class="interlanguage-link-target"><span>Polski</span></a></li><li class="interlanguage-link interwiki-pt mw-list-item"><a href="https://pt.wikipedia.org/wiki/D-Bus" title="D-Bus – Portuguese" lang="pt" hreflang="pt" data-title="D-Bus" data-language-autonym="Português" data-language-local-name="Portuguese" class="interlanguage-link-target"><span>Português</span></a></li><li class="interlanguage-link interwiki-ru mw-list-item"><a href="https://ru.wikipedia.org/wiki/D-Bus" title="D-Bus – Russian" lang="ru" hreflang="ru" data-title="D-Bus" data-language-autonym="Русский" data-language-local-name="Russian" class="interlanguage-link-target"><span>Русский</span></a></li><li class="interlanguage-link interwiki-sr mw-list-item"><a href="https://sr.wikipedia.org/wiki/D-Bus" title="D-Bus – Serbian" lang="sr" hreflang="sr" data-title="D-Bus" data-language-autonym="Српски / srpski" data-language-local-name="Serbian" class="interlanguage-link-target"><span>Српски / srpski</span></a></li><li class="interlanguage-link interwiki-fi mw-list-item"><a href="https://fi.wikipedia.org/wiki/D-Bus" title="D-Bus – Finnish" lang="fi" hreflang="fi" data-title="D-Bus" data-language-autonym="Suomi" data-language-local-name="Finnish" class="interlanguage-link-target"><span>Suomi</span></a></li><li class="interlanguage-link interwiki-sv mw-list-item"><a href="https://sv.wikipedia.org/wiki/D-Bus" title="D-Bus – Swedish" lang="sv" hreflang="sv" data-title="D-Bus" data-language-autonym="Svenska" data-language-local-name="Swedish" class="interlanguage-link-target"><span>Svenska</span></a></li><li class="interlanguage-link interwiki-uk mw-list-item"><a href="https://uk.wikipedia.org/wiki/D-Bus" title="D-Bus – Ukrainian" lang="uk" hreflang="uk" data-title="D-Bus" data-language-autonym="Українська" data-language-local-name="Ukrainian" class="interlanguage-link-target"><span>Українська</span></a></li><li class="interlanguage-link interwiki-zh mw-list-item"><a href="https://zh.wikipedia.org/wiki/D-Bus" title="D-Bus – Chinese" lang="zh" hreflang="zh" data-title="D-Bus" data-language-autonym="中文" data-language-local-name="Chinese" class="interlanguage-link-target"><span>中文</span></a></li> </ul> <div class="after-portlet after-portlet-lang"><span class="wb-langlinks-edit wb-langlinks-link"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q768923#sitelinks-wikipedia" title="Edit interlanguage links" class="wbc-editpage">Edit links</a></span></div> </div> </div> </div> </header> <div class="vector-page-toolbar"> <div class="vector-page-toolbar-container"> <div id="left-navigation"> <nav aria-label="Namespaces"> <div id="p-associated-pages" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-associated-pages" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-nstab-main" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/D-Bus" title="View the content page [c]" accesskey="c"><span>Article</span></a></li><li id="ca-talk" class="vector-tab-noicon mw-list-item"><a href="/wiki/Talk:D-Bus" rel="discussion" title="Discuss improvements to the content page [t]" accesskey="t"><span>Talk</span></a></li> </ul> </div> </div> <div id="vector-variants-dropdown" class="vector-dropdown emptyPortlet" > <input type="checkbox" id="vector-variants-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-variants-dropdown" class="vector-dropdown-checkbox " aria-label="Change language variant" > <label id="vector-variants-dropdown-label" for="vector-variants-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">English</span> </label> <div class="vector-dropdown-content"> <div id="p-variants" class="vector-menu mw-portlet mw-portlet-variants emptyPortlet" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> </ul> </div> </div> </div> </div> </nav> </div> <div id="right-navigation" class="vector-collapsible"> <nav aria-label="Views"> <div id="p-views" class="vector-menu vector-menu-tabs mw-portlet mw-portlet-views" > <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-view" class="selected vector-tab-noicon mw-list-item"><a href="/wiki/D-Bus"><span>Read</span></a></li><li id="ca-edit" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=D-Bus&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-history" class="vector-tab-noicon mw-list-item"><a href="/w/index.php?title=D-Bus&action=history" title="Past revisions of this page [h]" accesskey="h"><span>View history</span></a></li> </ul> </div> </div> </nav> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-dropdown" class="vector-dropdown vector-page-tools-dropdown" > <input type="checkbox" id="vector-page-tools-dropdown-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-page-tools-dropdown" class="vector-dropdown-checkbox " aria-label="Tools" > <label id="vector-page-tools-dropdown-label" for="vector-page-tools-dropdown-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet" aria-hidden="true" ><span class="vector-dropdown-label-text">Tools</span> </label> <div class="vector-dropdown-content"> <div id="vector-page-tools-unpinned-container" class="vector-unpinned-container"> <div id="vector-page-tools" class="vector-page-tools vector-pinnable-element"> <div class="vector-pinnable-header vector-page-tools-pinnable-header vector-pinnable-header-unpinned" data-feature-name="page-tools-pinned" data-pinnable-element-id="vector-page-tools" data-pinned-container-id="vector-page-tools-pinned-container" data-unpinned-container-id="vector-page-tools-unpinned-container" > <div class="vector-pinnable-header-label">Tools</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-page-tools.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-page-tools.unpin">hide</button> </div> <div id="p-cactions" class="vector-menu mw-portlet mw-portlet-cactions emptyPortlet vector-has-collapsible-items" title="More options" > <div class="vector-menu-heading"> Actions </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="ca-more-view" class="selected vector-more-collapsible-item mw-list-item"><a href="/wiki/D-Bus"><span>Read</span></a></li><li id="ca-more-edit" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=D-Bus&action=edit" title="Edit this page [e]" accesskey="e"><span>Edit</span></a></li><li id="ca-more-history" class="vector-more-collapsible-item mw-list-item"><a href="/w/index.php?title=D-Bus&action=history"><span>View history</span></a></li> </ul> </div> </div> <div id="p-tb" class="vector-menu mw-portlet mw-portlet-tb" > <div class="vector-menu-heading"> General </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="t-whatlinkshere" class="mw-list-item"><a href="/wiki/Special:WhatLinksHere/D-Bus" title="List of all English Wikipedia pages containing links to this page [j]" accesskey="j"><span>What links here</span></a></li><li id="t-recentchangeslinked" class="mw-list-item"><a href="/wiki/Special:RecentChangesLinked/D-Bus" rel="nofollow" title="Recent changes in pages linked from this page [k]" accesskey="k"><span>Related changes</span></a></li><li id="t-upload" class="mw-list-item"><a href="//en.wikipedia.org/wiki/Wikipedia:File_Upload_Wizard" title="Upload files [u]" accesskey="u"><span>Upload file</span></a></li><li id="t-permalink" class="mw-list-item"><a href="/w/index.php?title=D-Bus&oldid=1280401656" title="Permanent link to this revision of this page"><span>Permanent link</span></a></li><li id="t-info" class="mw-list-item"><a href="/w/index.php?title=D-Bus&action=info" title="More information about this page"><span>Page information</span></a></li><li id="t-cite" class="mw-list-item"><a href="/w/index.php?title=Special:CiteThisPage&page=D-Bus&id=1280401656&wpFormIdentifier=titleform" title="Information on how to cite this page"><span>Cite this page</span></a></li><li id="t-urlshortener" class="mw-list-item"><a href="/w/index.php?title=Special:UrlShortener&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FD-Bus"><span>Get shortened URL</span></a></li><li id="t-urlshortener-qrcode" class="mw-list-item"><a href="/w/index.php?title=Special:QrCode&url=https%3A%2F%2Fen.wikipedia.org%2Fwiki%2FD-Bus"><span>Download QR code</span></a></li> </ul> </div> </div> <div id="p-coll-print_export" class="vector-menu mw-portlet mw-portlet-coll-print_export" > <div class="vector-menu-heading"> Print/export </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li id="coll-download-as-rl" class="mw-list-item"><a href="/w/index.php?title=Special:DownloadAsPdf&page=D-Bus&action=show-download-screen" title="Download this page as a PDF file"><span>Download as PDF</span></a></li><li id="t-print" class="mw-list-item"><a href="/w/index.php?title=D-Bus&printable=yes" title="Printable version of this page [p]" accesskey="p"><span>Printable version</span></a></li> </ul> </div> </div> <div id="p-wikibase-otherprojects" class="vector-menu mw-portlet mw-portlet-wikibase-otherprojects" > <div class="vector-menu-heading"> In other projects </div> <div class="vector-menu-content"> <ul class="vector-menu-content-list"> <li class="wb-otherproject-link wb-otherproject-commons mw-list-item"><a href="https://commons.wikimedia.org/wiki/Category:D-Bus" hreflang="en"><span>Wikimedia Commons</span></a></li><li id="t-wikibase" class="wb-otherproject-link wb-otherproject-wikibase-dataitem mw-list-item"><a href="https://www.wikidata.org/wiki/Special:EntityPage/Q768923" title="Structured data on this page hosted by Wikidata [g]" accesskey="g"><span>Wikidata item</span></a></li> </ul> </div> </div> </div> </div> </div> </div> </nav> </div> </div> </div> <div class="vector-column-end"> <div class="vector-sticky-pinned-container"> <nav class="vector-page-tools-landmark" aria-label="Page tools"> <div id="vector-page-tools-pinned-container" class="vector-pinned-container"> </div> </nav> <nav class="vector-appearance-landmark" aria-label="Appearance"> <div id="vector-appearance-pinned-container" class="vector-pinned-container"> <div id="vector-appearance" class="vector-appearance vector-pinnable-element"> <div class="vector-pinnable-header vector-appearance-pinnable-header vector-pinnable-header-pinned" data-feature-name="appearance-pinned" data-pinnable-element-id="vector-appearance" data-pinned-container-id="vector-appearance-pinned-container" data-unpinned-container-id="vector-appearance-unpinned-container" > <div class="vector-pinnable-header-label">Appearance</div> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-pin-button" data-event-name="pinnable-header.vector-appearance.pin">move to sidebar</button> <button class="vector-pinnable-header-toggle-button vector-pinnable-header-unpin-button" data-event-name="pinnable-header.vector-appearance.unpin">hide</button> </div> </div> </div> </nav> </div> </div> <div id="bodyContent" class="vector-body" aria-labelledby="firstHeading" data-mw-ve-target-container> <div class="vector-body-before-content"> <div class="mw-indicators"> </div> <div id="siteSub" class="noprint">From Wikipedia, the free encyclopedia</div> </div> <div id="contentSub"><div id="mw-content-subtitle"></div></div> <div id="mw-content-text" class="mw-body-content"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr"><div class="shortdescription nomobile noexcerpt noprint searchaux" style="display:none">Linux message-oriented middleware</div> <style data-mw-deduplicate="TemplateStyles:r1236090951">.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}</style><div role="note" class="hatnote navigation-not-searchable">"DBus" redirects here. For the Tibetan province, see <a href="/wiki/%C3%9C_(region)" title="Ü (region)">Dbus</a>.</div> <style data-mw-deduplicate="TemplateStyles:r1257001546">.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme) div:not(.notheme){background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table tr{display:table-row!important}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}</style><table class="infobox vevent"><caption class="infobox-title summary">Desktop Bus</caption><tbody><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Programmer" title="Programmer">Developer(s)</a></th><td class="infobox-data"><a href="/wiki/Red_Hat" title="Red Hat">Red Hat</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Initial release</th><td class="infobox-data">November 2006<span class="noprint">; 18 years ago</span><span style="display:none"> (<span class="bday dtstart published updated">2006-11</span>)</span></td></tr><tr style="display: none;"><td colspan="2" class="infobox-full-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1257001546" /></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_release_life_cycle" title="Software release life cycle">Stable release</a></th><td class="infobox-data"><div style="margin:0px;">1.16.0 / December 16, 2024<span class="noprint">; 3 months ago</span><span style="display:none"> (<span class="bday dtstart published updated">2024-12-16</span>)</span><sup id="cite_ref-1" class="reference"><a href="#cite_note-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></div></td></tr><tr style="display:none"><td colspan="2"> </td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Repository_(version_control)" title="Repository (version control)">Repository</a></th><td class="infobox-data"><style data-mw-deduplicate="TemplateStyles:r1126788409">.mw-parser-output .plainlist ol,.mw-parser-output .plainlist ul{line-height:inherit;list-style:none;margin:0;padding:0}.mw-parser-output .plainlist ol li,.mw-parser-output .plainlist ul li{margin-bottom:0}</style><div class="plainlist"><ul><li><span class="url"><a rel="nofollow" class="external text" href="https://gitlab.freedesktop.org/dbus/dbus.git">gitlab<wbr />.freedesktop<wbr />.org<wbr />/dbus<wbr />/dbus<wbr />.git</a></span> <span class="mw-valign-text-top noprint" typeof="mw:File/Frameless"><a href="https://www.wikidata.org/wiki/Q768923#P1324" title="Edit this at Wikidata"><img alt="Edit this at Wikidata" src="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/10px-OOjs_UI_icon_edit-ltr-progressive.svg.png" decoding="async" width="10" height="10" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/15px-OOjs_UI_icon_edit-ltr-progressive.svg.png 1.5x, //upload.wikimedia.org/wikipedia/en/thumb/8/8a/OOjs_UI_icon_edit-ltr-progressive.svg/20px-OOjs_UI_icon_edit-ltr-progressive.svg.png 2x" data-file-width="20" data-file-height="20" /></a></span></li></ul> </div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Written in</th><td class="infobox-data"><a href="/wiki/C_(programming_language)" title="C (programming language)">C</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Operating_system" title="Operating system">Operating system</a></th><td class="infobox-data"><a href="/wiki/Cross-platform" class="mw-redirect" title="Cross-platform">Cross-platform</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Predecessor</th><td class="infobox-data"><a href="/wiki/CORBA" class="mw-redirect" title="CORBA">CORBA</a><br /><a href="/wiki/Desktop_communication_protocol" title="Desktop communication protocol">DCOP</a></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_categories#Categorization_approaches" title="Software categories">Type</a></th><td class="infobox-data"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1126788409" /><div class="plainlist"><ul><li><a href="/wiki/Inter-process_communication" title="Inter-process communication">IPC</a> <a href="/wiki/Daemon_(computing)" title="Daemon (computing)">daemon</a></li><li><a href="/wiki/Linux_on_the_desktop" class="mw-redirect" title="Linux on the desktop">Linux on the desktop</a></li></ul></div></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;"><a href="/wiki/Software_license" title="Software license">License</a></th><td class="infobox-data"><a href="/wiki/GNU_General_Public_License" title="GNU General Public License">GPLv2+</a> or <a href="/wiki/Academic_Free_License" title="Academic Free License">AFL</a> 2.1<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label" style="white-space: nowrap;">Website</th><td class="infobox-data"><span class="url"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/Software/dbus">www<wbr />.freedesktop<wbr />.org<wbr />/wiki<wbr />/Software<wbr />/dbus</a></span></td></tr></tbody></table> <p><b>D-Bus</b> (short for "<b>Desktop Bus</b>"<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>) is a <a href="/wiki/Message-oriented_middleware" title="Message-oriented middleware">message-oriented middleware</a> mechanism that allows communication between multiple <a href="/wiki/Process_(computing)" title="Process (computing)">processes</a> running concurrently on the same machine.<sup id="cite_ref-intro_dbus_4-0" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-0" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> D-Bus was developed as part of the <a href="/wiki/Freedesktop.org" title="Freedesktop.org">freedesktop.org</a> project, initiated by <a href="/wiki/GNOME" title="GNOME">GNOME</a> developer <a href="/wiki/Havoc_Pennington" title="Havoc Pennington">Havoc Pennington</a> to standardize services provided by <a href="/wiki/Linux" title="Linux">Linux</a> <a href="/wiki/Desktop_environment" title="Desktop environment">desktop environments</a> such as <a href="/wiki/GNOME" title="GNOME">GNOME</a> and <a href="/wiki/KDE" title="KDE">KDE</a>.<sup id="cite_ref-intro_dbus_q1_6-0" class="reference"><a href="#cite_note-intro_dbus_q1-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Palmieri_2005_7-0" class="reference"><a href="#cite_note-Palmieri_2005-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup><sup class="noprint Inline-Template"><span style="white-space: nowrap;">[<i><a href="/wiki/Wikipedia:Link_rot" title="Wikipedia:Link rot"><span title=" Dead link tagged November 2016">dead link</span></a></i><span style="visibility:hidden; color:transparent; padding-left:2px">‍</span>]</span></sup> </p><p>The freedesktop.org project also developed a <a href="/wiki/Free_and_open-source" class="mw-redirect" title="Free and open-source">free and open-source</a> software library called libdbus, as a <a href="/wiki/Reference_implementation" title="Reference implementation">reference implementation</a> of the specification. This library is not D-Bus itself, as other implementations of the D-Bus specification also exist, such as GDBus (GNOME),<sup id="cite_ref-gdbus_8-0" class="reference"><a href="#cite_note-gdbus-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> QtDBus (<a href="/wiki/Qt_(software)" title="Qt (software)">Qt</a>/KDE),<sup id="cite_ref-qtdbus_9-0" class="reference"><a href="#cite_note-qtdbus-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> dbus-java<sup id="cite_ref-dbus-java_10-0" class="reference"><a href="#cite_note-dbus-java-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup> and sd-bus (part of <a href="/wiki/Systemd" title="Systemd">systemd</a>).<sup id="cite_ref-Poettering_2015_11-0" class="reference"><a href="#cite_note-Poettering_2015-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> </p> <meta property="mw:PageProp/toc" /> <div class="mw-heading mw-heading2"><h2 id="Overview">Overview</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=1" title="Edit section: Overview"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div><p> D-Bus is an <a href="/wiki/Inter-process_communication" title="Inter-process communication">inter-process communication</a> (IPC) mechanism initially designed to replace the <a href="/wiki/Software_component" title="Software component">software component</a> communications systems <a href="/wiki/CORBA" class="mw-redirect" title="CORBA">CORBA</a> and <a href="/wiki/Desktop_communication_protocol" title="Desktop communication protocol">DCOP</a>, used by the <a href="/wiki/GNOME" title="GNOME">GNOME</a> and <a href="/wiki/KDE" title="KDE">KDE</a> Linux <a href="/wiki/Desktop_environment" title="Desktop environment">desktop environments</a> respectively.<sup id="cite_ref-dbus_tut_q1_12-0" class="reference"><a href="#cite_note-dbus_tut_q1-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-intro_dbus_q2_13-0" class="reference"><a href="#cite_note-intro_dbus_q2-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> The components of these desktop environments are normally distributed in many processes, each providing only one or a few <i>services</i>. These services may be used by regular client <a href="/wiki/Application_software" title="Application software">applications</a> or by other components of the desktop environment to perform their tasks.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (March 2025)">citation needed</span></a></i>]</sup><style data-mw-deduplicate="TemplateStyles:r1273380762/mw-parser-output/.tmulti">.mw-parser-output .tmulti .multiimageinner{display:flex;flex-direction:column}.mw-parser-output .tmulti .trow{display:flex;flex-direction:row;clear:left;flex-wrap:wrap;width:100%;box-sizing:border-box}.mw-parser-output .tmulti .tsingle{margin:1px;float:left}.mw-parser-output .tmulti .theader{clear:both;font-weight:bold;text-align:center;align-self:center;background-color:transparent;width:100%}.mw-parser-output .tmulti .thumbcaption{background-color:transparent}.mw-parser-output .tmulti .text-align-left{text-align:left}.mw-parser-output .tmulti .text-align-right{text-align:right}.mw-parser-output .tmulti .text-align-center{text-align:center}@media all and (max-width:720px){.mw-parser-output .tmulti .thumbinner{width:100%!important;box-sizing:border-box;max-width:none!important;align-items:center}.mw-parser-output .tmulti .trow{justify-content:center}.mw-parser-output .tmulti .tsingle{float:none!important;max-width:100%!important;box-sizing:border-box;text-align:center}.mw-parser-output .tmulti .tsingle .thumbcaption{text-align:left}.mw-parser-output .tmulti .trow>.thumbcaption{text-align:center}}@media screen{html.skin-theme-clientpref-night .mw-parser-output .tmulti .multiimageinner span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img{background-color:white}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .tmulti .multiimageinner span:not(.skin-invert-image):not(.skin-invert):not(.bg-transparent) img{background-color:white}}</style></p><div class="thumb tmulti tright"><div class="thumbinner multiimageinner" style="width:408px;max-width:408px"><div class="trow"><div class="tsingle" style="width:202px;max-width:202px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Processes_without_D-Bus.svg" class="mw-file-description"><img alt="Processes without D-Bus" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Processes_without_D-Bus.svg/200px-Processes_without_D-Bus.svg.png" decoding="async" width="200" height="140" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/34/Processes_without_D-Bus.svg/300px-Processes_without_D-Bus.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/34/Processes_without_D-Bus.svg/400px-Processes_without_D-Bus.svg.png 2x" data-file-width="821" data-file-height="574" /></a></span></div><div class="thumbcaption">Processes without D-Bus</div></div><div class="tsingle" style="width:202px;max-width:202px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:Processes_with_D-Bus.svg" class="mw-file-description"><img alt="Processes with D-Bus" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Processes_with_D-Bus.svg/200px-Processes_with_D-Bus.svg.png" decoding="async" width="200" height="140" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Processes_with_D-Bus.svg/300px-Processes_with_D-Bus.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6d/Processes_with_D-Bus.svg/400px-Processes_with_D-Bus.svg.png 2x" data-file-width="821" data-file-height="574" /></a></span></div><div class="thumbcaption">The same processes with D-Bus</div></div></div><div class="trow" style="display:flex"><div class="thumbcaption">Large groups of cooperating processes demand a dense mesh of individual communication channels (using one-to-one IPC methods) between them. D-Bus simplifies the IPC requirements with one single shared channel.</div></div></div></div> <p>D-Bus provides a <a href="/wiki/Software_bus" title="Software bus">software-bus</a> <a href="/wiki/Abstraction_(software_engineering)" class="mw-redirect" title="Abstraction (software engineering)">abstraction</a> that gathers all the communications among a group of processes over a single shared virtual channel.<sup id="cite_ref-Cocagne_2012_5-1" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Processes connected to a bus do not know how it is internally implemented, but the D-Bus specification guarantees that all processes connected to the bus can communicate with each other through it. D-Bus incurs at least a 2.5x performance loss over one-to-one IPC.<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> </p><p>Linux desktop environments take advantage of the D-Bus facilities by instantiating multiple buses, notably:<sup id="cite_ref-dbus_spec_15-0" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-2" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-0" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <ul><li>a single <b>system bus</b>, available to all users and processes of the system, that provides access to system services (i.e. services provided by the <a href="/wiki/Operating_system" title="Operating system">operating system</a> and also by any system <a href="/wiki/Daemon_(computer_software)" class="mw-redirect" title="Daemon (computer software)">daemons</a>); and</li> <li>a <b>session bus</b> for each user login session, that provides desktop services to user applications in the same desktop session, and allows the integration of the desktop session as a whole.</li></ul> <p>A process can connect to any number of buses, provided that it has been granted access to them. In practice, this means that any user process can connect to the system bus and to its current session bus, but not to another user's session buses, or even to a different session bus owned by the same user. The latter restriction may change in the future if all user sessions are combined into a single user bus.<sup id="cite_ref-Poettering_2015_q1_17-0" class="reference"><a href="#cite_note-Poettering_2015_q1-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> </p><p>D-Bus provides additional or simplifies existing functionality to the applications, including information-sharing, modularity and <a href="/wiki/Privilege_separation" title="Privilege separation">privilege separation</a>. For example, information on an incoming voice call received through <a href="/wiki/Bluetooth" title="Bluetooth">Bluetooth</a> or <a href="/wiki/Skype" title="Skype">Skype</a> can be propagated and interpreted by any currently running music player, which can react by muting the volume or by pausing playback until the call is finished.<sup id="cite_ref-Love_2005_18-0" class="reference"><a href="#cite_note-Love_2005-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> </p><p>D-Bus can also be used as a <a href="/wiki/Software_framework" title="Software framework">framework</a> to integrate different components of a user application. For instance, an <a href="/wiki/Office_suite" class="mw-redirect" title="Office suite">office suite</a> can communicate through the session bus to share data between a <a href="/wiki/Word_processor" title="Word processor">word processor</a> and a <a href="/wiki/Spreadsheet" title="Spreadsheet">spreadsheet</a>. </p> <div class="mw-heading mw-heading2"><h2 id="D-Bus_specification">D-Bus specification</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=2" title="Edit section: D-Bus specification"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="Bus_model">Bus model</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=3" title="Edit section: Bus model"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Every connection to a bus is identified in the context of D-Bus by what is called a <i>bus name</i>.<sup id="cite_ref-intro_dbus_4-1" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> A bus name consists of two or more dot-separated strings of letters, digits, dashes, and underscores—a <a href="/wiki/Reverse_domain_name_notation" title="Reverse domain name notation">reverse domain name</a>. An example of a valid bus name is <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">org.freedesktop.NetworkManager</code>.<sup id="cite_ref-Cocagne_2012_5-3" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>When a process sets up a connection to a bus, the bus assigns to the connection a special bus name called <i>unique connection name</i>.<sup id="cite_ref-dbus_tut_16-1" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-4" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Bus names of this type are immutable—it is guaranteed they will not change as long as the connection exists—and, more importantly, they cannot be reused during the bus lifetime.<sup id="cite_ref-intro_dbus_4-2" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-2" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-5" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> This means that no other connection to that bus will ever have assigned such unique connection name, even if the same process closes down the connection to the bus and creates a new one. Unique connection names are easily recognizable because they start with the otherwise forbidden colon character.<sup id="cite_ref-dbus_tut_16-3" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-6" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> An example of a unique connection name is <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">:1.1553</code> (the characters after the colon have no particular meaning<sup id="cite_ref-dbus_tut_16-4" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>). </p><p>A process can ask for additional bus names for its connection,<sup id="cite_ref-dbus_tut_16-5" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> provided that any requested name is not already being used by another connection to the bus. In D-Bus parlance, when a bus name is assigned to a connection, it is said the connection <i>owns</i> the bus name.<sup id="cite_ref-intro_dbus_4-3" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-6" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> In that sense, a bus name cannot be owned by two connections at the same time, but, unlike unique connection names, these names can be reused if they are available: a process may reclaim a bus name released—purposely or not—by another process.<sup id="cite_ref-intro_dbus_4-4" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-7" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>The idea behind these additional bus names, commonly called <i>well-known names</i>, is to provide a way to refer to a service using a prearranged bus name.<sup id="cite_ref-dbus_tut_16-7" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-8" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> For instance, the service that reports the current time and date in the system bus lies in the process whose connection owns the <style data-mw-deduplicate="TemplateStyles:r886049734">.mw-parser-output .monospaced{font-family:monospace,monospace}</style><span class="monospaced">org.freedesktop.timedate1</span> bus name, regardless of which process it is. </p><p>Bus names can be used as a simple way to implement single-instance applications (second instances detect that the bus name is already taken).<sup id="cite_ref-dbus_tut_16-8" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> It can also be used to track a service process lifecycle, since the bus sends a notification when a bus name is released due to a process termination.<sup id="cite_ref-dbus_tut_16-9" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Object_model">Object model</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=4" title="Edit section: Object model"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Because of its original conception as a replacement for several component oriented communications systems, D-Bus shares with its predecessors an object model in which to express the semantics of the communications between clients and services. The terms used in the D-Bus object model mimic those used by some <a href="/wiki/Object_oriented" class="mw-redirect" title="Object oriented">object oriented</a> <a href="/wiki/Programming_language" title="Programming language">programming languages</a>. That does not mean that D-Bus is somehow limited to OOP languages—in fact, the most used implementation (<link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span>) is written in <a href="/wiki/C_(programming_language)" title="C (programming language)">C</a>, a <a href="/wiki/Procedural_programming" title="Procedural programming">procedural programming</a> language. </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:D-Feet.png" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/b/bd/D-Feet.png/220px-D-Feet.png" decoding="async" width="220" height="138" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/b/bd/D-Feet.png/330px-D-Feet.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/b/bd/D-Feet.png/440px-D-Feet.png 2x" data-file-width="1448" data-file-height="906" /></a><figcaption>Browsing the existing bus names, objects, interfaces, methods and signals in a D-Bus bus using D-Feet</figcaption></figure> <p>In D-Bus, a process offers its services by exposing <i>objects</i>. These objects have <i>methods</i> that can be invoked, and <i>signals</i> that the object can emit.<sup id="cite_ref-dbus_tut_16-10" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Methods and signals are collectively referred to as the <i>members</i> of the object.<sup id="cite_ref-intro_dbus_4-5" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> Any client connected to the bus can interact with an object by using its methods, making requests or commanding the object to perform actions.<sup id="cite_ref-dbus_tut_16-11" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> For instance, an object representing a time service can be queried by a client using a method that returns the current date and time. A client can also listen to signals that an object emits when its state changes due to certain events, usually related to the underlying service. An example would be when a service that manages hardware devices—such as USB or network drivers—signals a "new hardware device added" event. Clients should instruct the bus that they are interested in receiving certain signals from a particular object, since a D-Bus bus only passes signals to those processes with a registered interest in them.<sup id="cite_ref-Cocagne_2012_5-9" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p><p>A process connected to a D-Bus bus can request it to <i>export</i> as many D-Bus objects as it wants. Each object is identified by an <i>object path</i>, a string of numbers, letters and underscores separated and prefixed by the slash character, called that because of their resemblance to <a href="/wiki/Unix_path" class="mw-redirect" title="Unix path">Unix filesystem paths</a>.<sup id="cite_ref-intro_dbus_4-6" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-12" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The object path is selected by the requesting process, and must be unique in the context of that bus connection. An example of a valid object path is <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">/org/kde/kspread/sheets/3/cells/4/5</code>.<sup id="cite_ref-dbus_tut_16-13" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> However, it is not enforced—but also not discouraged—to form hierarchies within object paths.<sup id="cite_ref-Cocagne_2012_5-10" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The particular naming convention for the objects of a service is entirely up to the developers of such service, but many developers choose to <a href="/wiki/Namespace" title="Namespace">namespace</a> them using the reserved <a href="/wiki/Domain_name" title="Domain name">domain name</a> of the project as a prefix (e.g. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">/org/kde</span>).<sup id="cite_ref-dbus_tut_16-14" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>Every object is inextricably associated to the particular bus connection where it was exported, and, from the D-Bus point of view, only lives in the context of such connection. Therefore, in order to be able to use a certain service, a client must indicate not only the object path providing the desired service, but also the bus name under which the service process is connected to the bus.<sup id="cite_ref-intro_dbus_4-7" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> This in turn allows that several processes connected to the bus can export different objects with identical object paths unambiguously. </p><p>An <i>interface</i> specifies members—methods and signals—that can be used with an object.<sup id="cite_ref-dbus_tut_16-15" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> It is a set of declarations of methods (including its passing and returning parameters) and signals (including its parameters) identified by a dot-separated name resembling the <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java language</a> interfaces notation.<sup id="cite_ref-dbus_tut_16-16" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-11" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> An example of a valid interface name is <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">org.freedesktop.Introspectable</code>.<sup id="cite_ref-Cocagne_2012_5-12" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Despite their similarity, interface names and bus names should not be mistaken. A D-Bus object can <i>implement</i> several interfaces, but at least must implement one, providing support for every method and signal defined by it. The combination of all interfaces implemented by an object is called the object <i>type</i>.<sup id="cite_ref-intro_dbus_4-8" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-17" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>When using an object, it is a good practice for the client process to provide the member's interface name besides the member's name, but is only mandatory when there is an ambiguity caused by duplicated member names available from different interfaces implemented by the object<sup id="cite_ref-intro_dbus_4-9" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-18" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup>—otherwise, the selected member is undefined or erroneous. An emitted signal, on the other hand, must always indicate to which interface it belongs. </p><p>The D-Bus specification also defines several standard interfaces that objects may want to implement in addition to its own interfaces.<sup id="cite_ref-dbus_spec_15-1" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> Although technically optional, most D-Bus service developers choose to support them in their exported objects since they offer important additional features to D-Bus clients, such as <a href="/wiki/Type_introspection" title="Type introspection">introspection</a>.<sup id="cite_ref-Cocagne_2012_5-13" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> These standard interfaces are:<sup id="cite_ref-dbus_spec_15-2" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-14" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p> <ul><li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus.Peer</span>: provides a way to test if a D-Bus connection is alive.<sup id="cite_ref-Cocagne_2012_5-15" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus.Introspectable</span>: provides an introspection mechanism by which a client process can, at run-time, get a description (in <a href="/wiki/XML" title="XML">XML</a> format) of the interfaces, methods and signals that the object implements.<sup id="cite_ref-dbus_tut_16-19" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_spec_15-3" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus.Properties</span>: allows a D-Bus object to expose the underlying native object <a href="/wiki/Property_(programming)" title="Property (programming)">properties</a> or attributes, or simulate them if it does not exist.<sup id="cite_ref-dbus_spec_15-4" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li> <li><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus.ObjectManager</span>: when a D-Bus service arranges its objects hierarchically, this interface provides a way to query an object about all sub-objects under its path, as well as their interfaces and properties, using a single method call.<sup id="cite_ref-dbus_spec_15-5" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup></li></ul> <p>The D-Bus specification defines a number of administrative bus operations (called "bus services") to be performed using the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">/org/freedesktop/DBus</span> object that resides in the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus</span> bus name.<sup id="cite_ref-dbus_spec_15-6" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> Each bus reserves this special bus name for itself, and manages any requests made specifically to this combination of bus name and object path. The administrative operations provided by the bus are those defined by the object's interface <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.freedesktop.DBus</span>. These operations are used for example to provide information about the status of the bus,<sup id="cite_ref-intro_dbus_4-10" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> or to manage the request and release of additional <i>well-known</i> bus names.<sup id="cite_ref-dbus_spec_15-7" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Cocagne_2012_5-16" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="Communications_model">Communications model</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=5" title="Edit section: Communications model"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>D-Bus was conceived as a generic, high-level inter-process communication system. To accomplish such goals, D-Bus communications are based on the exchange of <i>messages</i> between processes instead of "raw bytes".<sup id="cite_ref-intro_dbus_4-11" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-20" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> D-Bus messages are high-level discrete items that a process can send through the bus to another connected process. Messages have a well-defined structure (even the types of the data carried in their payload are defined), allowing the bus to validate them and to reject any ill-formed message. In this regard, D-Bus is closer to an <a href="/wiki/Remote_procedure_call" title="Remote procedure call">RPC</a> mechanism than to a classic IPC mechanism, with its own type definition system and its own <a href="/wiki/Marshalling_(computer_science)" title="Marshalling (computer science)">marshaling</a>.<sup id="cite_ref-intro_dbus_4-12" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:D-Bus_method_invocation.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/1/1d/D-Bus_method_invocation.svg/220px-D-Bus_method_invocation.svg.png" decoding="async" width="220" height="144" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/1/1d/D-Bus_method_invocation.svg/330px-D-Bus_method_invocation.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/1/1d/D-Bus_method_invocation.svg/440px-D-Bus_method_invocation.svg.png 2x" data-file-width="821" data-file-height="539" /></a><figcaption>Example of one-to-one request-response message exchange to invoke a method over D-Bus. Here the client process invokes the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">SetFoo()</span> method of the <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">/org/example/object1</span> object from the service process named <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">org.example.foo</span> (or <code class="mw-highlight mw-highlight-lang-text mw-content-ltr" style="" dir="ltr">:1.14</code>) in the bus.</figcaption></figure> <p>The bus supports two modes of interchanging messages between a client and a service process<sup id="cite_ref-intro_dbus_4-13" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>: </p> <ul><li>One-to-one <a href="/wiki/Request-response" class="mw-redirect" title="Request-response">request-response</a>: This is the way for a client to invoke an object's method. The client sends a message to the service process exporting the object, and the service in turn replies with a message back to the client process.<sup id="cite_ref-dbus_tut_16-21" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The message sent by the client must contain the object path, the name of the invoked method (and optionally the name of its interface), and the values of the input parameters (if any) as defined by the object's selected interface. The reply message carries the result of the request, including the values of the output parameters returned by the object's method invocation, or <i>exception</i> information if there was an error.<sup id="cite_ref-intro_dbus_4-14" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-22" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li> <li><a href="/wiki/Publish/subscribe" class="mw-redirect" title="Publish/subscribe">Publish/subscribe</a>: This is the way for an object to announce the occurrence of a signal to the interested parties. The object's service process broadcasts a message that the bus passes only to the connected clients subscribed to the object's signal.<sup id="cite_ref-dbus_tut_16-23" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The message carries the object path, the name of the signal, the interface to which the signal belongs, and also the values of the signal's parameters (if any). The communication is one-way: there are no response messages to the original message from any client process, since the sender knows neither the identities nor the number of the recipients.<sup id="cite_ref-intro_dbus_4-15" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-24" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li></ul> <p>Every D-Bus message consists of a header and a body.<sup id="cite_ref-dbus_tut_16-25" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The header is formed by several fields that identify the type of message, the sender, as well as information required to deliver the message to its recipient (destination bus name, object path, method or signal name, interface name, etc.).<sup id="cite_ref-dbus_tut_16-26" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_spec_15-8" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> The body contains the data payload that the receiver process interprets—for instance the input or output arguments. All the data is encoded in a well known binary format called the <i>wire format</i> which supports the <a href="/wiki/Serialization" title="Serialization">serialization</a> of various types, such as integers and floating-point numbers, strings, compound types, and so on,<sup id="cite_ref-dbus_spec_15-9" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> also referred to as <a href="/wiki/Marshalling_(computer_science)" title="Marshalling (computer science)">marshaling</a>. </p><p>The D-Bus specification defines the <a href="/wiki/Wire_protocol" title="Wire protocol">wire protocol</a>: how to build the D-Bus messages to be exchanged between processes within a D-Bus connection. However, it does not define the underlying transport method for delivering these messages. </p> <div class="mw-heading mw-heading2"><h2 id="Internals">Internals</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=6" title="Edit section: Internals"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Most existing D-Bus implementations follow the architecture of the reference implementation. This architecture consists of two main components:<sup id="cite_ref-intro_dbus_4-16" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> </p> <ul><li>a point-to-point communications <a href="/wiki/Library_(computing)" title="Library (computing)">library</a> that implements the D-Bus <a href="/wiki/Wire_protocol" title="Wire protocol">wire protocol</a> in order to exchange messages between two processes. In the reference implementation this library is <b><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span></b>. In other implementations <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> may be wrapped by another higher-level library, language binding, or entirely replaced by a different standalone implementation that serves the same purpose.<sup id="cite_ref-what_is_dbus_q1_19-0" class="reference"><a href="#cite_note-what_is_dbus_q1-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup> This library only supports one-to-one communications between two processes.<sup id="cite_ref-dbus_tut_16-27" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></li> <li><figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Dbus-daemon.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Dbus-daemon.svg/220px-Dbus-daemon.svg.png" decoding="async" width="220" height="154" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Dbus-daemon.svg/330px-Dbus-daemon.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Dbus-daemon.svg/440px-Dbus-daemon.svg.png 2x" data-file-width="821" data-file-height="574" /></a><figcaption>A <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> process acting as a D-Bus message bus daemon. Every process connected to the bus keeps one D-Bus connection with it.</figcaption></figure>a special <a href="/wiki/Daemon_(computing)" title="Daemon (computing)">daemon process</a> that plays the bus role and to which the rest of the processes connect using any D-Bus point-to-point communications library. This process is also known as the <i>message bus daemon</i>,<sup id="cite_ref-Love_2005_18-1" class="reference"><a href="#cite_note-Love_2005-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> since it is responsible for routing messages from any process connected to the bus to another. In the reference implementation this role is performed by <b><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span></b>, which itself is built on top of <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span>. Another implementation of the message bus daemon is <b><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-broker</span></b>, which is built on top of <b><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">sd-bus</span></b>.</li></ul> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1273380762/mw-parser-output/.tmulti" /><div class="thumb tmulti tright"><div class="thumbinner multiimageinner" style="width:408px;max-width:408px"><div class="trow"><div class="tsingle" style="width:202px;max-width:202px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:D-Bus_communications_architecture_-_simple.svg" class="mw-file-description"><img alt="Process A and B have a one-to-one D-Bus connection between them over a Unix domain socket" src="//upload.wikimedia.org/wikipedia/commons/thumb/2/23/D-Bus_communications_architecture_-_simple.svg/250px-D-Bus_communications_architecture_-_simple.svg.png" decoding="async" width="200" height="92" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/2/23/D-Bus_communications_architecture_-_simple.svg/330px-D-Bus_communications_architecture_-_simple.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/2/23/D-Bus_communications_architecture_-_simple.svg/500px-D-Bus_communications_architecture_-_simple.svg.png 2x" data-file-width="1018" data-file-height="466" /></a></span></div><div class="thumbcaption">Process A and B have a one-to-one D-Bus connection using <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> over a Unix domain socket. They can use it to exchange messages directly.<sup id="cite_ref-what_is_dbus_q2_20-0" class="reference"><a href="#cite_note-what_is_dbus_q2-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> In this scenario bus names are not required.<sup id="cite_ref-dbus_tut_16-28" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup></div></div><div class="tsingle" style="width:202px;max-width:202px"><div class="thumbimage"><span typeof="mw:File"><a href="/wiki/File:D-Bus_communications_architecture_-_message_bus.svg" class="mw-file-description"><img alt="Process A and B have both a one-to-one D-Bus connection with a dbus-daemon process over a Unix domain socket" src="//upload.wikimedia.org/wikipedia/commons/thumb/6/64/D-Bus_communications_architecture_-_message_bus.svg/200px-D-Bus_communications_architecture_-_message_bus.svg.png" decoding="async" width="200" height="92" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/64/D-Bus_communications_architecture_-_message_bus.svg/300px-D-Bus_communications_architecture_-_message_bus.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/64/D-Bus_communications_architecture_-_message_bus.svg/400px-D-Bus_communications_architecture_-_message_bus.svg.png 2x" data-file-width="1018" data-file-height="466" /></a></span></div><div class="thumbcaption">Process A and B both connected to a <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> using <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> over a Unix domain socket. They can exchange messages sending them to the message bus process, which in turn will deliver the messages to the appropriate process. In this scenario bus names are mandatory to identify the destination process.</div></div></div></div></div> <p>The <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> library (or its equivalent) internally uses a native lower-level IPC mechanism to transport the required D-Bus messages between the two processes in both ends of the D-Bus connection. D-Bus specification does not mandate which particular IPC transport mechanisms should be available to use, as it is the communications library that decides what transport methods it supports. For instance, in Unix-like operating systems such as Linux <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> typically uses <a href="/wiki/Unix_domain_socket" title="Unix domain socket">Unix domain sockets</a> as the underlying transport method, but it also supports <a href="/wiki/Transmission_Control_Protocol" title="Transmission Control Protocol">TCP sockets</a>.<sup id="cite_ref-intro_dbus_4-17" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-29" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p>The communications libraries of both processes must agree on the selected transport method and also on the particular channel used for their communication. This information is defined by what D-Bus calls an <i>address</i>.<sup id="cite_ref-Cocagne_2012_5-17" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-30" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> Unix-domain sockets are <a href="/wiki/Filesystem" class="mw-redirect" title="Filesystem">filesystem</a> objects, and therefore they can be identified by a filename, so a valid address would be <code>unix:path=/tmp/.hiddensocket</code>.<sup id="cite_ref-intro_dbus_4-18" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_spec_15-10" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> Both processes must pass the same address to their respective communications libraries to establish the D-Bus connection between them. An address can also provide additional data to the communications library in the form of comma-separated <code>key=value</code> pairs.<sup id="cite_ref-Cocagne_2012_5-18" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_spec_15-11" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> This way, for example, it can provide authentication information to a specific type of connection that supports it. </p><p>When a message bus daemon like <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> is used to implement a D-Bus bus, all processes that want to connect to the bus must know the <i>bus address</i>, the address by which a process can establish a D-Bus connection to the central message bus process.<sup id="cite_ref-intro_dbus_4-19" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-dbus_tut_16-31" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> In this scenario, the message bus daemon selects the bus address and the remainder processes must pass that value to their corresponding <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">libdbus</span> or equivalent libraries. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> defines a different bus address for every bus instance it provides. These addresses are defined in the daemon's configuration files. </p><p>Two processes can use a D-Bus connection to exchange messages directly between them,<sup id="cite_ref-what_is_dbus_q2_20-1" class="reference"><a href="#cite_note-what_is_dbus_q2-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup> but this is not the way in which D-Bus is normally intended to be used. The usual way is to always use a message bus daemon (i.e. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span>) as a communications central point to which each process should establish its point-to-point D-Bus connection. When a process—client or service—sends a D-Bus message, the message bus process receives it in the first instance and delivers it to the appropriate recipient. The message bus daemon may be seen as a hub or router in charge of getting each message to its destination by repeating it through the D-Bus connection to the recipient process.<sup id="cite_ref-dbus_tut_16-32" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> The recipient process is determined by the destination bus name in the message's header field,<sup id="cite_ref-dbus_spec_15-12" class="reference"><a href="#cite_note-dbus_spec-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup> or by the subscription information to signals maintained by the message bus daemon in the case of signal propagation messages.<sup id="cite_ref-Cocagne_2012_5-19" class="reference"><a href="#cite_note-Cocagne_2012-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> The message bus daemon can also produce its own messages as a response to certain conditions, such as an error message to a process that sent a message to a nonexistent bus name.<sup id="cite_ref-dbus_tut_16-33" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p><p><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> improves the feature set already provided by D-Bus itself with additional functionality. For example, <i>service activation</i> allows automatic starting of services when needed—when the first request to any bus name of such service arrives at the message bus daemon.<sup id="cite_ref-intro_dbus_4-20" class="reference"><a href="#cite_note-intro_dbus-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> This way, service processes neither need to be launched during the <a href="/wiki/Init" title="Init">system initialization</a> or user initialization stage nor need they consume memory or other resources when not being used. This feature was originally implemented using <a href="/wiki/Setuid" title="Setuid">setuid</a> helpers,<sup id="cite_ref-dbus_service_activation_21-0" class="reference"><a href="#cite_note-dbus_service_activation-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> but nowadays it can also be provided by <a href="/wiki/Systemd" title="Systemd">systemd</a>'s service activation framework.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (February 2016)">citation needed</span></a></i>]</sup> Service activation is an important feature that facilitates the management of the process lifecycle of services (for example when a desktop component should start or stop).<sup id="cite_ref-dbus_tut_16-34" class="reference"><a href="#cite_note-dbus_tut-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="History_and_adoption">History and adoption</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=7" title="Edit section: History and adoption"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>D-Bus was started in 2002 by Havoc Pennington, Alex Larsson (<a href="/wiki/Red_Hat" title="Red Hat">Red Hat</a>) and Anders Carlsson.<sup id="cite_ref-Palmieri_2005_7-1" class="reference"><a href="#cite_note-Palmieri_2005-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> The version 1.0—considered <a href="/wiki/Application_Program_Interface" class="mw-redirect" title="Application Program Interface">API</a> stable—was released in November 2006.<sup id="cite_ref-dbus_1.0_22-0" class="reference"><a href="#cite_note-dbus_1.0-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Molkentin_2006_23-0" class="reference"><a href="#cite_note-Molkentin_2006-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> </p> <figure class="mw-halign-right" typeof="mw:File/Thumb"><a href="/wiki/File:Free_and_open-source-software_display_servers_and_UI_toolkits.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Free_and_open-source-software_display_servers_and_UI_toolkits.svg/500px-Free_and_open-source-software_display_servers_and_UI_toolkits.svg.png" decoding="async" width="350" height="160" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Free_and_open-source-software_display_servers_and_UI_toolkits.svg/960px-Free_and_open-source-software_display_servers_and_UI_toolkits.svg.png 1.5x" data-file-width="1573" data-file-height="720" /></a><figcaption>The <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">dbus-daemon</span> plays a significant role in modern Linux <a href="/wiki/Graphical_desktop_environment" class="mw-redirect" title="Graphical desktop environment">graphical desktop environments</a>.</figcaption></figure> <p>Heavily influenced by the <a href="/wiki/Desktop_communication_protocol" title="Desktop communication protocol">DCOP</a> system used by versions 2 and 3 of <a href="/wiki/KDE" title="KDE">KDE</a>, D-Bus has replaced DCOP in the <a href="/wiki/KDE_4" class="mw-redirect" title="KDE 4">KDE 4</a> release.<sup id="cite_ref-Molkentin_2006_23-1" class="reference"><a href="#cite_note-Molkentin_2006-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-KDE_dbus_intro_24-0" class="reference"><a href="#cite_note-KDE_dbus_intro-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup> An implementation of D-Bus supports most <a href="/wiki/POSIX" title="POSIX">POSIX</a> operating systems, and a port for <a href="/wiki/Windows" class="mw-redirect" title="Windows">Windows</a> exists. It is used by <a href="/wiki/Qt_(toolkit)" class="mw-redirect" title="Qt (toolkit)">Qt</a> 4 and later by <a href="/wiki/GNOME" title="GNOME">GNOME</a>. In GNOME it has gradually replaced most parts of the earlier <a href="/wiki/Bonobo_(GNOME)" title="Bonobo (GNOME)">Bonobo</a> mechanism. It is also used by <a href="/wiki/Xfce" title="Xfce">Xfce</a>. </p><p>One of the earlier adopters was the (nowadays deprecated) <a href="/wiki/HAL_(software)" title="HAL (software)">Hardware Abstraction Layer</a>. HAL used D-Bus to export information about hardware that has been added to or removed from the computer.<sup id="cite_ref-Palmieri_2005_7-2" class="reference"><a href="#cite_note-Palmieri_2005-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> </p><p>The usage of D-Bus is steadily expanding beyond the initial scope of desktop environments to cover an increasing amount of system services. For instance, the <a href="/wiki/NetworkManager" title="NetworkManager">NetworkManager</a> network daemon, <a href="/wiki/BlueZ" class="mw-redirect" title="BlueZ">BlueZ</a> bluetooth stack and <a href="/wiki/PulseAudio" title="PulseAudio">PulseAudio</a> sound server use D-Bus to provide part or all of their services. <a href="/wiki/Systemd" title="Systemd">systemd</a> uses the D-Bus wire protocol for communication between <a href="/wiki/Systemd#Core_components_and_libraries" title="Systemd"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r886049734" /><span class="monospaced">systemctl</span></a> and systemd, and is also promoting traditional system daemons to D-Bus services, such as <a href="/wiki/Logind" class="mw-redirect" title="Logind">logind</a>.<sup id="cite_ref-Poettering_2015_q2_25-0" class="reference"><a href="#cite_note-Poettering_2015_q2-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> Another heavy user of D-Bus is <a href="/wiki/Polkit" title="Polkit">Polkit</a>, whose policy authority daemon is implemented as a service connected to the system bus.<sup id="cite_ref-polkit_doc_26-0" class="reference"><a href="#cite_note-polkit_doc-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=8" title="Edit section: Implementations"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <div class="mw-heading mw-heading3"><h3 id="libdbus"><span class="anchor" id="LIBDBUS"></span> libdbus</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=9" title="Edit section: libdbus"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Although there are several implementations of D-Bus, the most widely used is the reference implementation <i>libdbus</i>, developed by the same freedesktop.org project that designed the specification. However, libdbus is a low-level implementation that was never meant to be used directly by application developers, but as a reference guide for other reimplementations of D-Bus (such as those included in standard libraries of desktop environments, or in <a href="/wiki/Programming_language" title="Programming language">programming language</a> bindings). The freedesktop.org project itself recommends applications authors to "use one of the higher level bindings or implementations" instead.<sup id="cite_ref-what_is_dbus_q3_27-0" class="reference"><a href="#cite_note-what_is_dbus_q3-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="GDBus">GDBus</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=10" title="Edit section: GDBus"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>GDBus<sup id="cite_ref-gdbus_8-1" class="reference"><a href="#cite_note-gdbus-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> is an implementation of D-Bus based on <a href="/wiki/GIO_(software)" title="GIO (software)">GIO streams</a> included in <a href="/wiki/GLib" title="GLib">GLib</a>, aiming to be used by <a href="/wiki/GTK%2B" class="mw-redirect" title="GTK+">GTK+</a> and <a href="/wiki/GNOME" title="GNOME">GNOME</a>. GDBus is not a wrapper of libdbus, but a complete and independent reimplementation of the D-Bus specification and protocol.<sup id="cite_ref-gdbus2_28-0" class="reference"><a href="#cite_note-gdbus2-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> <a href="/wiki/MATE_(software)" class="mw-redirect" title="MATE (software)">MATE Desktop</a><sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> and <a href="/wiki/Xfce" title="Xfce">Xfce</a> (version 4.14), which are also based on GTK+ 3, also use GDBus.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2022)">citation needed</span></a></i>]</sup> </p> <div class="mw-heading mw-heading3"><h3 id="sd-bus">sd-bus</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=11" title="Edit section: sd-bus"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>In 2013, the <a href="/wiki/Systemd" title="Systemd">systemd</a> project rewrote libdbus in an effort to simplify the code,<sup id="cite_ref-Poettering_2013_30-0" class="reference"><a href="#cite_note-Poettering_2013-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> but it also resulted in a significant increase of the overall D-Bus performance. In preliminary benchmarks, <a href="/wiki/BMW" title="BMW">BMW</a> found that the systemd's D-Bus library increased performance by 360%.<sup id="cite_ref-Edge_2013_31-0" class="reference"><a href="#cite_note-Edge_2013-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> By version 221 of <a href="/wiki/Systemd" title="Systemd">systemd</a>, released in 2015, the sd-bus <a href="/wiki/Application_programming_interface" class="mw-redirect" title="Application programming interface">API</a> was declared stable.<sup id="cite_ref-systemd_221_32-0" class="reference"><a href="#cite_note-systemd_221-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> </p> <div class="mw-heading mw-heading3"><h3 id="kdbus"><span class="anchor" id="KDBUS"></span> kdbus</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=12" title="Edit section: kdbus"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <figure class="mw-default-size" typeof="mw:File/Thumb"><a href="/wiki/File:Simplified_Structure_of_the_Linux_Kernel.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Simplified_Structure_of_the_Linux_Kernel.svg/250px-Simplified_Structure_of_the_Linux_Kernel.svg.png" decoding="async" width="220" height="124" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/6/65/Simplified_Structure_of_the_Linux_Kernel.svg/330px-Simplified_Structure_of_the_Linux_Kernel.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/6/65/Simplified_Structure_of_the_Linux_Kernel.svg/500px-Simplified_Structure_of_the_Linux_Kernel.svg.png 2x" data-file-width="960" data-file-height="540" /></a><figcaption>kdbus is implemented as a character device driver.<sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> All communication between processes take place over special character device nodes in <code>/dev/kdbus</code> (cf. <a href="/wiki/Devfs" class="mw-redirect" title="Devfs">devfs</a>).</figcaption></figure> <p><i>kdbus</i> was a project that aimed to reimplement D-Bus as a kernel-mediated peer-to-peer <a href="/wiki/Inter-process_communication" title="Inter-process communication">inter-process communication</a> mechanism. Beside performance improvements, kdbus would have advantages arising from other <a href="/wiki/Linux_kernel" title="Linux kernel">Linux kernel</a> features such as <a href="/wiki/Linux_namespaces" title="Linux namespaces">namespaces</a> and auditing,<sup id="cite_ref-Edge_2013_31-1" class="reference"><a href="#cite_note-Edge_2013-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Corbet_2014_35-0" class="reference"><a href="#cite_note-Corbet_2014-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> security from the kernel mediating, closing race conditions, and allowing D-Bus to be used during boot and shutdown (as needed by systemd).<sup id="cite_ref-Kroah-Hartman_2015_36-0" class="reference"><a href="#cite_note-Kroah-Hartman_2015-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> kdbus inclusion in the Linux kernel proved controversial,<sup id="cite_ref-Corbet_2015_37-0" class="reference"><a href="#cite_note-Corbet_2015-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> and was dropped in favor of <a rel="nofollow" class="external text" href="https://github.com/bus1">BUS1</a>, as a more generic <a href="/wiki/Inter-process_communication" title="Inter-process communication">inter-process communication</a>.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup> </p><div class="mw-heading mw-heading3"><h3 id="Language_bindings">Language bindings</h3><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=13" title="Edit section: Language bindings"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <p>Several programming language <a href="/wiki/Language_binding" title="Language binding">bindings</a> for D-Bus have been developed,<sup id="cite_ref-dbus_bindings_39-0" class="reference"><a href="#cite_note-dbus_bindings-39"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup> such as those for <a href="/wiki/Java_(programming_language)" title="Java (programming language)">Java</a>, <a href="/wiki/C_Sharp_(programming_language)" title="C Sharp (programming language)">C#</a>, <a href="/wiki/Ruby_(programming_language)" title="Ruby (programming language)">Ruby</a>, <a href="/wiki/Rust_(programming_language)" title="Rust (programming language)">Rust</a> and <a href="/wiki/Perl_(programming_language)" class="mw-redirect" title="Perl (programming language)">Perl</a>.<sup class="noprint Inline-Template Template-Fact" style="white-space:nowrap;">[<i><a href="/wiki/Wikipedia:Citation_needed" title="Wikipedia:Citation needed"><span title="This claim needs references to reliable sources. (December 2022)">citation needed</span></a></i>]</sup> </p> <div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=14" title="Edit section: See also"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1266661725">.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}</style><ul role="navigation" aria-label="Portals" class="noprint portalbox portalborder portalright"> <li class="portalbox-entry"><span class="portalbox-image"><span class="noviewer" typeof="mw:File"><span><img alt="" src="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/28px-Free_and_open-source_software_logo_%282009%29.svg.png" decoding="async" width="28" height="28" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/42px-Free_and_open-source_software_logo_%282009%29.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/3/31/Free_and_open-source_software_logo_%282009%29.svg/56px-Free_and_open-source_software_logo_%282009%29.svg.png 2x" data-file-width="512" data-file-height="512" /></span></span></span><span class="portalbox-link"><a href="/wiki/Portal:Free_and_open-source_software" title="Portal:Free and open-source software">Free and open-source software portal</a></span></li></ul> <style data-mw-deduplicate="TemplateStyles:r1184024115">.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}</style><div class="div-col" style="column-width: 25em;"> <ul><li><a href="/wiki/Linux_on_the_desktop" class="mw-redirect" title="Linux on the desktop">Linux on the desktop</a></li> <li><a href="/wiki/Common_Language_Infrastructure" title="Common Language Infrastructure">Common Language Infrastructure</a></li> <li><a href="/wiki/Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">Common Object Request Broker Architecture</a></li> <li><a href="/wiki/Component_Object_Model" title="Component Object Model">Component Object Model</a></li> <li><a href="/wiki/Distributed_Component_Object_Model" title="Distributed Component Object Model">Distributed Component Object Model</a></li> <li><a href="/wiki/Foreign_function_interface" title="Foreign function interface">Foreign function interface</a></li> <li><a href="/wiki/Java_remote_method_invocation" title="Java remote method invocation">Java remote method invocation</a></li> <li><a href="/wiki/Remote_procedure_call" title="Remote procedure call">Remote procedure call</a></li> <li><a href="/wiki/XPCOM" title="XPCOM">XPCOM</a></li></ul> </div> <div class="mw-heading mw-heading2"><h2 id="References">References</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=15" title="Edit section: References"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <style data-mw-deduplicate="TemplateStyles:r1239543626">.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}</style><div class="reflist reflist-columns references-column-width" style="column-width: 30em;"> <ol class="references"> <li id="cite_note-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-1">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("//upload.wikimedia.org/wikipedia/commons/6/65/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("//upload.wikimedia.org/wikipedia/commons/d/d6/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("//upload.wikimedia.org/wikipedia/commons/a/aa/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("//upload.wikimedia.org/wikipedia/commons/4/4c/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://cgit.freedesktop.org/dbus/dbus/tree/NEWS">"NEWS file for current branch"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">14 March</span> 2025</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=NEWS+file+for+current+branch&rft_id=https%3A%2F%2Fcgit.freedesktop.org%2Fdbus%2Fdbus%2Ftree%2FNEWS&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-2">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://blog.ometer.com/2007/07/17/gpl--afl/">Havoc's Blog July, 2007</a></span> </li> <li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"> <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFWard2004" class="citation book cs1">Ward, Brian (2004). "14: A brief survey of the Linux desktop". <a rel="nofollow" class="external text" href="https://books.google.com/books?id=fP5WBQAAQBAJ"><i>How Linux Works: What Every Superuser Should Know</i></a> (2 ed.). San Francisco: No Starch Press (published 2014). p. 305. <a href="/wiki/ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <a href="/wiki/Special:BookSources/9781593275679" title="Special:BookSources/9781593275679"><bdi>9781593275679</bdi></a><span class="reference-accessdate">. Retrieved <span class="nowrap">2016-11-07</span></span>. <q>One of the most important developments to come out of the Linux desktop is the Desktop Bus (D-Bus), a message-passing system. D-Bus is important because it serves as an interprocess communication mechanism that allows desktop applications to talk to each other [...].</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=bookitem&rft.atitle=14%3A+A+brief+survey+of+the+Linux+desktop&rft.btitle=How+Linux+Works%3A+What+Every+Superuser+Should+Know&rft.place=San+Francisco&rft.pages=305&rft.edition=2&rft.pub=No+Starch+Press&rft.date=2004&rft.isbn=9781593275679&rft.aulast=Ward&rft.aufirst=Brian&rft_id=https%3A%2F%2Fbooks.google.com%2Fbooks%3Fid%3DfP5WBQAAQBAJ&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-intro_dbus-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-intro_dbus_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-12"><sup><i><b>m</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-13"><sup><i><b>n</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-14"><sup><i><b>o</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-15"><sup><i><b>p</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-16"><sup><i><b>q</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-17"><sup><i><b>r</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-18"><sup><i><b>s</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-19"><sup><i><b>t</b></i></sup></a> <a href="#cite_ref-intro_dbus_4-20"><sup><i><b>u</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFVermeulen2013" class="citation web cs1">Vermeulen, Jeroen (14 Jul 2013). <a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/IntroductionToDBus/">"Introduction to D-Bus"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=Introduction+to+D-Bus&rft.date=2013-07-14&rft.aulast=Vermeulen&rft.aufirst=Jeroen&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FIntroductionToDBus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Cocagne_2012-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Cocagne_2012_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-12"><sup><i><b>m</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-13"><sup><i><b>n</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-14"><sup><i><b>o</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-15"><sup><i><b>p</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-16"><sup><i><b>q</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-17"><sup><i><b>r</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-18"><sup><i><b>s</b></i></sup></a> <a href="#cite_ref-Cocagne_2012_5-19"><sup><i><b>t</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFCocagne2012" class="citation web cs1">Cocagne, Tom (August 2012). <a rel="nofollow" class="external text" href="https://pythonhosted.org/txdbus/dbus_overview.html">"DBus Overview"</a>. <i>pythonhosted.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=pythonhosted.org&rft.atitle=DBus+Overview&rft.date=2012-08&rft.aulast=Cocagne&rft.aufirst=Tom&rft_id=https%3A%2F%2Fpythonhosted.org%2Ftxdbus%2Fdbus_overview.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-intro_dbus_q1-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-intro_dbus_q1_6-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFVermeulen2013" class="citation web cs1">Vermeulen, Jeroen (14 Jul 2013). <a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/IntroductionToDBus/">"Introduction to D-Bus"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 October</span> 2015</span>. <q>D-Bus [...] is designed for use as a unified middleware layer underneath the main free desktop environments.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=Introduction+to+D-Bus&rft.date=2013-07-14&rft.aulast=Vermeulen&rft.aufirst=Jeroen&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FIntroductionToDBus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Palmieri_2005-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Palmieri_2005_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Palmieri_2005_7-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-Palmieri_2005_7-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPalmieri2005" class="citation web cs1">Palmieri, John (January 2005). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20151023072022/http://www.redhat.com/magazine/003jan05/features/dbus/">"Get on D-BUS"</a>. Red Hat Magazine. Archived from <a rel="nofollow" class="external text" href="https://www.redhat.com/magazine/003jan05/features/dbus/">the original</a> on 23 October 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">3 November</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Get+on+D-BUS&rft.pub=Red+Hat+Magazine&rft.date=2005-01&rft.aulast=Palmieri&rft.aufirst=John&rft_id=https%3A%2F%2Fwww.redhat.com%2Fmagazine%2F003jan05%2Ffeatures%2Fdbus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-gdbus-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-gdbus_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-gdbus_8-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.gnome.org/gio/stable/gdbus.html">"gdbus"</a>. <i>GNOME developer</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GNOME+developer&rft.atitle=gdbus&rft_id=https%3A%2F%2Fdeveloper.gnome.org%2Fgio%2Fstable%2Fgdbus.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-qtdbus-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-qtdbus_9-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://doc.qt.io/qt-5/qtdbus-index.html">"QtDBus module"</a>. <i>Qt Project</i><span class="reference-accessdate">. Retrieved <span class="nowrap">1 June</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Qt+Project&rft.atitle=QtDBus+module&rft_id=http%3A%2F%2Fdoc.qt.io%2Fqt-5%2Fqtdbus-index.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus-java-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-dbus-java_10-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-java/">"DBus-Java Documentation"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">4 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=DBus-Java+Documentation&rft_id=http%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fdbus-java%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Poettering_2015-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-Poettering_2015_11-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPoettering2015" class="citation web cs1">Poettering, Lennart (19 June 2015). <a rel="nofollow" class="external text" href="http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html">"The new sd-bus API of systemd"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+new+sd-bus+API+of+systemd&rft.date=2015-06-19&rft.aulast=Poettering&rft.aufirst=Lennart&rft_id=http%3A%2F%2F0pointer.net%2Fblog%2Fthe-new-sd-bus-api-of-systemd.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_tut_q1-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-dbus_tut_q1_12-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPenningtonWheelerWalters" class="citation web cs1">Pennington, Havoc; Wheeler, David; Walters, Colin. <a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-tutorial.html">"D-Bus Tutorial"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>. <q>For the within-desktop-session use case, the GNOME and KDE desktops have significant previous experience with different IPC solutions such as CORBA and DCOP. D-Bus is built on that experience and carefully tailored to meet the needs of these desktop projects in particular.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=D-Bus+Tutorial&rft.aulast=Pennington&rft.aufirst=Havoc&rft.au=Wheeler%2C+David&rft.au=Walters%2C+Colin&rft_id=http%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fdbus-tutorial.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-intro_dbus_q2-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-intro_dbus_q2_13-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFVermeulen2013" class="citation web cs1">Vermeulen, Jeroen (14 Jul 2013). <a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/IntroductionToDBus/">"Introduction to D-Bus"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 October</span> 2015</span>. <q> D-Bus was first built to replace the CORBA-like component model underlying the GNOME desktop environment. Similar to DCOP (which is used by KDE), D-Bus is set to become a standard component of the major free desktop environments for GNU/Linux and other platforms.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=Introduction+to+D-Bus&rft.date=2013-07-14&rft.aulast=Vermeulen&rft.aufirst=Jeroen&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FIntroductionToDBus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text">Answer 7. <link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://dbus.freedesktop.org/doc/dbus-faq.html">"D-Bus FAQ"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">2024-08-06</span></span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=D-Bus+FAQ&rft_id=https%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fdbus-faq.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_spec-15"><span class="mw-cite-backlink">^ <a href="#cite_ref-dbus_spec_15-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-dbus_spec_15-12"><sup><i><b>m</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPenningtonCarlssonLarssonHerzberg" class="citation web cs1">Pennington, Havoc; Carlsson, Anders; Larsson, Alexander; Herzberg, Sven; McVittie, Simon; Zeuthen, David. <a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-specification.html">"D-Bus Specification"</a>. <i>Freedesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">22 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=Freedesktop.org&rft.atitle=D-Bus+Specification&rft.aulast=Pennington&rft.aufirst=Havoc&rft.au=Carlsson%2C+Anders&rft.au=Larsson%2C+Alexander&rft.au=Herzberg%2C+Sven&rft.au=McVittie%2C+Simon&rft.au=Zeuthen%2C+David&rft_id=http%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fdbus-specification.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_tut-16"><span class="mw-cite-backlink">^ <a href="#cite_ref-dbus_tut_16-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-2"><sup><i><b>c</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-3"><sup><i><b>d</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-4"><sup><i><b>e</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-5"><sup><i><b>f</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-6"><sup><i><b>g</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-7"><sup><i><b>h</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-8"><sup><i><b>i</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-9"><sup><i><b>j</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-10"><sup><i><b>k</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-11"><sup><i><b>l</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-12"><sup><i><b>m</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-13"><sup><i><b>n</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-14"><sup><i><b>o</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-15"><sup><i><b>p</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-16"><sup><i><b>q</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-17"><sup><i><b>r</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-18"><sup><i><b>s</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-19"><sup><i><b>t</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-20"><sup><i><b>u</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-21"><sup><i><b>v</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-22"><sup><i><b>w</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-23"><sup><i><b>x</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-24"><sup><i><b>y</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-25"><sup><i><b>z</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-26"><sup><i><b>aa</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-27"><sup><i><b>ab</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-28"><sup><i><b>ac</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-29"><sup><i><b>ad</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-30"><sup><i><b>ae</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-31"><sup><i><b>af</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-32"><sup><i><b>ag</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-33"><sup><i><b>ah</b></i></sup></a> <a href="#cite_ref-dbus_tut_16-34"><sup><i><b>ai</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPenningtonWheelerWalters" class="citation web cs1">Pennington, Havoc; Wheeler, David; Walters, Colin. <a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-tutorial.html">"D-Bus Tutorial"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=D-Bus+Tutorial&rft.aulast=Pennington&rft.aufirst=Havoc&rft.au=Wheeler%2C+David&rft.au=Walters%2C+Colin&rft_id=http%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fdbus-tutorial.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Poettering_2015_q1-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-Poettering_2015_q1_17-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPoettering2015" class="citation web cs1">Poettering, Lennart (19 June 2015). <a rel="nofollow" class="external text" href="http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html">"The new sd-bus API of systemd"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>. <q>we are working on moving things to a true user bus, of which there is only one per user on a system, regardless how many times that user happens to log in</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+new+sd-bus+API+of+systemd&rft.date=2015-06-19&rft.aulast=Poettering&rft.aufirst=Lennart&rft_id=http%3A%2F%2F0pointer.net%2Fblog%2Fthe-new-sd-bus-api-of-systemd.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Love_2005-18"><span class="mw-cite-backlink">^ <a href="#cite_ref-Love_2005_18-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Love_2005_18-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFLove2005" class="citation magazine cs1">Love, Robert (5 January 2005). <a rel="nofollow" class="external text" href="http://www.linuxjournal.com/article/7744">"Get on the D-BUS"</a>. <i><a href="/wiki/Linux_Journal" title="Linux Journal">Linux Journal</a></i><span class="reference-accessdate">. Retrieved <span class="nowrap">14 October</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.jtitle=Linux+Journal&rft.atitle=Get+on+the+D-BUS&rft.date=2005-01-05&rft.aulast=Love&rft.aufirst=Robert&rft_id=http%3A%2F%2Fwww.linuxjournal.com%2Farticle%2F7744&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-what_is_dbus_q1-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-what_is_dbus_q1_19-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/Software/dbus/">"What is D-Bus?"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 October</span> 2015</span>. <q>There are also some reimplementations of the D-Bus protocol for languages such as C#, Java, and Ruby. These do not use the libdbus reference implementation</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=What+is+D-Bus%3F&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FSoftware%2Fdbus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-what_is_dbus_q2-20"><span class="mw-cite-backlink">^ <a href="#cite_ref-what_is_dbus_q2_20-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-what_is_dbus_q2_20-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/Software/dbus/">"What is D-Bus?"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">29 October</span> 2015</span>. <q>is built on top of a general one-to-one message passing framework, which can be used by any two apps to communicate directly (without going through the message bus daemon)</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=What+is+D-Bus%3F&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FSoftware%2Fdbus%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_service_activation-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-dbus_service_activation_21-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://dbus.freedesktop.org/doc/system-activation.txt">"D-BUS System Activation"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">18 February</span> 2016</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=D-BUS+System+Activation&rft_id=https%3A%2F%2Fdbus.freedesktop.org%2Fdoc%2Fsystem-activation.txt&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_1.0-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-dbus_1.0_22-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPalmieri2006" class="citation mailinglist cs1">Palmieri, John (9 Nov 2006). <a rel="nofollow" class="external text" href="http://lists.freedesktop.org/archives/dbus/2006-November/006337.html">"[announce] D-Bus 1.0.0 "Blue Bird" released"</a>. <i>dbus</i> (Mailing list).</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%5Bannounce%5D+D-Bus+1.0.0+%22Blue+Bird%22+released&rft.date=2006-11-09&rft.aulast=Palmieri&rft.aufirst=John&rft_id=http%3A%2F%2Flists.freedesktop.org%2Farchives%2Fdbus%2F2006-November%2F006337.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Molkentin_2006-23"><span class="mw-cite-backlink">^ <a href="#cite_ref-Molkentin_2006_23-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Molkentin_2006_23-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFMolkentin2006" class="citation web cs1">Molkentin, Daniel (12 November 2006). <a rel="nofollow" class="external text" href="https://dot.kde.org/2006/11/12/d-bus-10-blue-bird-released">"D-Bus 1.0 "Blue Bird" Released"</a>. <i>KDE News</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 November</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=KDE+News&rft.atitle=D-Bus+1.0+%22Blue+Bird%22+Released&rft.date=2006-11-12&rft.aulast=Molkentin&rft.aufirst=Daniel&rft_id=https%3A%2F%2Fdot.kde.org%2F2006%2F11%2F12%2Fd-bus-10-blue-bird-released&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-KDE_dbus_intro-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-KDE_dbus_intro_24-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFSeigo" class="citation web cs1">Seigo, Aaron. <a rel="nofollow" class="external text" href="https://techbase.kde.org/Development/Tutorials/D-Bus/Introduction">"Introduction To D-BUS"</a>. <i>KDE TechBase</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 November</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=KDE+TechBase&rft.atitle=Introduction+To+D-BUS&rft.aulast=Seigo&rft.aufirst=Aaron&rft_id=https%3A%2F%2Ftechbase.kde.org%2FDevelopment%2FTutorials%2FD-Bus%2FIntroduction&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Poettering_2015_q2-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-Poettering_2015_q2_25-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPoettering2015" class="citation web cs1">Poettering, Lennart (19 June 2015). <a rel="nofollow" class="external text" href="http://0pointer.net/blog/the-new-sd-bus-api-of-systemd.html">"The new sd-bus API of systemd"</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>. <q>Since systemd's inception it has been the IPC system it exposes its interfaces on.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+new+sd-bus+API+of+systemd&rft.date=2015-06-19&rft.aulast=Poettering&rft.aufirst=Lennart&rft_id=http%3A%2F%2F0pointer.net%2Fblog%2Fthe-new-sd-bus-api-of-systemd.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-polkit_doc-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-polkit_doc_26-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html">"Polkit reference manual"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">3 November</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=Polkit+reference+manual&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fsoftware%2Fpolkit%2Fdocs%2Flatest%2Fpolkit.8.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-what_is_dbus_q3-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-what_is_dbus_q3_27-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/Software/dbus/#index1h1">"What is D-Bus?"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 January</span> 2015</span>. <q>The low-level implementation is not primarily designed for application authors to use. Rather, it is a basis for binding authors and a reference for reimplementations. If you are able to do so it is recommended that you use one of the higher level bindings or implementations.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=What+is+D-Bus%3F&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FSoftware%2Fdbus%2F%23index1h1&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-gdbus2-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-gdbus2_28-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://developer.gnome.org/gio/stable/ch35.html">"Migrating to GDBus"</a>. <i>GNOME Developer</i><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>. <q>dbus-glib uses the libdbus reference implementation, GDBus doesn't. Instead, it relies on GIO streams as transport layer, and has its own implementation for the D-Bus connection setup and authentication.</q></cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=GNOME+Developer&rft.atitle=Migrating+to+GDBus&rft_id=https%3A%2F%2Fdeveloper.gnome.org%2Fgio%2Fstable%2Fch35.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20190729232007/https://wiki.mate-desktop.org/roadmap">"MATE: Roadmap"</a>. Archived from <a rel="nofollow" class="external text" href="http://wiki.mate-desktop.org/roadmap">the original</a> on 29 July 2019<span class="reference-accessdate">. Retrieved <span class="nowrap">31 January</span> 2019</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=MATE%3A+Roadmap&rft_id=http%3A%2F%2Fwiki.mate-desktop.org%2Froadmap&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Poettering_2013-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-Poettering_2013_30-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPoettering2013" class="citation mailinglist cs1"><a href="/wiki/Lennart_Poettering" title="Lennart Poettering">Poettering, Lennart</a> (20 Mar 2013). <a rel="nofollow" class="external text" href="http://lists.freedesktop.org/archives/systemd-devel/2013-March/009797.html">"[HEADSUP] libsystemd-bus + kdbus plans"</a>. <i>systemd-devel</i> (Mailing list).</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%5BHEADSUP%5D+libsystemd-bus+%2B+kdbus+plans&rft.date=2013-03-20&rft.aulast=Poettering&rft.aufirst=Lennart&rft_id=http%3A%2F%2Flists.freedesktop.org%2Farchives%2Fsystemd-devel%2F2013-March%2F009797.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Edge_2013-31"><span class="mw-cite-backlink">^ <a href="#cite_ref-Edge_2013_31-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Edge_2013_31-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFEdge2013" class="citation web cs1">Edge, Jake (30 May 2013). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/551969/">"ALS: Linux inter-process communication and kdbus"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a><span class="reference-accessdate">. Retrieved <span class="nowrap">21 October</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=ALS%3A+Linux+inter-process+communication+and+kdbus&rft.pub=LWN.net&rft.date=2013-05-30&rft.aulast=Edge&rft.aufirst=Jake&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F551969%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-systemd_221-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-systemd_221_32-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFPoettering2015" class="citation mailinglist cs1"><a href="/wiki/Lennart_Poettering" title="Lennart Poettering">Poettering, Lennart</a> (19 Jun 2015). <a rel="nofollow" class="external text" href="http://lists.freedesktop.org/archives/systemd-devel/2015-June/033170.html">"[ANNOUNCE] systemd v221"</a>. <i>systemd-devel</i> (Mailing list).</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%5BANNOUNCE%5D+systemd+v221&rft.date=2015-06-19&rft.aulast=Poettering&rft.aufirst=Lennart&rft_id=http%3A%2F%2Flists.freedesktop.org%2Farchives%2Fsystemd-devel%2F2015-June%2F033170.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/580194/">"The unveiling of kdbus"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a>. 2014-01-13.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+unveiling+of+kdbus&rft.pub=LWN.net&rft.date=2014-01-13&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F580194%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://lwn.net/Articles/619069/">"Documentation/kdbus.txt (from the initial patch set)"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a>. 2014-11-04.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Documentation%2Fkdbus.txt+%28from+the+initial+patch+set%29&rft.pub=LWN.net&rft.date=2014-11-04&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F619069%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Corbet_2014-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-Corbet_2014_35-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFCorbet2014" class="citation web cs1">Corbet, Jonathan (13 January 2014). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/580194/">"The unveiling of kdbus"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a><span class="reference-accessdate">. Retrieved <span class="nowrap">11 April</span> 2014</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+unveiling+of+kdbus&rft.pub=LWN.net&rft.date=2014-01-13&rft.aulast=Corbet&rft.aufirst=Jonathan&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F580194%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Kroah-Hartman_2015-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-Kroah-Hartman_2015_36-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFKroah-Hartman2015" class="citation mailinglist cs1"><a href="/wiki/Greg_Kroah-Hartman" title="Greg Kroah-Hartman">Kroah-Hartman, Greg</a> (13 Apr 2015). <a rel="nofollow" class="external text" href="http://lkml.iu.edu/hypermail/linux/kernel/1504.1/03936.html">"[GIT PULL] kdbus for 4.1-rc1"</a>. <i>linux-kernel</i> (Mailing list).</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=%5BGIT+PULL%5D+kdbus+for+4.1-rc1&rft.date=2015-04-13&rft.aulast=Kroah-Hartman&rft.aufirst=Greg&rft_id=http%3A%2F%2Flkml.iu.edu%2Fhypermail%2Flinux%2Fkernel%2F1504.1%2F03936.html&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-Corbet_2015-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-Corbet_2015_37-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite id="CITEREFCorbet2015" class="citation web cs1">Corbet, Jonathan (22 April 2015). <a rel="nofollow" class="external text" href="https://lwn.net/Articles/641275/">"The kdbuswreck"</a>. <a href="/wiki/LWN.net" title="LWN.net">LWN.net</a><span class="reference-accessdate">. Retrieved <span class="nowrap">29 June</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=The+kdbuswreck&rft.pub=LWN.net&rft.date=2015-04-22&rft.aulast=Corbet&rft.aufirst=Jonathan&rft_id=https%3A%2F%2Flwn.net%2FArticles%2F641275%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.youtube.com/watch?v=s2I_7uCto5Q&t=20m34s">"Keynote: A Fireside Chat with Greg Kroah-Hartman, Linux Foundation Fellow"</a>. <a href="/wiki/YouTube" title="YouTube">YouTube</a>. 18 October 2016. <a rel="nofollow" class="external text" href="https://ghostarchive.org/varchive/youtube/20211221/s2I_7uCto5Q">Archived</a> from the original on 2021-12-21.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=unknown&rft.btitle=Keynote%3A+A+Fireside+Chat+with+Greg+Kroah-Hartman%2C+Linux+Foundation+Fellow&rft.pub=YouTube&rft.date=2016-10-18&rft_id=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Ds2I_7uCto5Q%26t%3D20m34s&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> <li id="cite_note-dbus_bindings-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-dbus_bindings_39-0">^</a></b></span> <span class="reference-text"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1238218222" /><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/Software/DBusBindings/">"D-Bus Bindings"</a>. <i>FreeDesktop.org</i><span class="reference-accessdate">. Retrieved <span class="nowrap">5 January</span> 2015</span>.</cite><span title="ctx_ver=Z39.88-2004&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=unknown&rft.jtitle=FreeDesktop.org&rft.atitle=D-Bus+Bindings&rft_id=http%3A%2F%2Fwww.freedesktop.org%2Fwiki%2FSoftware%2FDBusBindings%2F&rfr_id=info%3Asid%2Fen.wikipedia.org%3AD-Bus" class="Z3988"></span></span> </li> </ol></div> <div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2><span class="mw-editsection"><span class="mw-editsection-bracket">[</span><a href="/w/index.php?title=D-Bus&action=edit&section=16" title="Edit section: External links"><span>edit</span></a><span class="mw-editsection-bracket">]</span></span></div> <ul><li><a rel="nofollow" class="external text" href="http://www.freedesktop.org/Software/dbus">D-Bus</a> home page at Freedesktop.org</li> <li><a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-specification.html">D-Bus specification</a></li> <li><a rel="nofollow" class="external text" href="http://www.freedesktop.org/wiki/IntroductionToDBus">Introduction to D-Bus</a> on the Freedesktop.org wiki</li> <li><a rel="nofollow" class="external text" href="http://dbus.freedesktop.org/doc/dbus-tutorial.html">D-Bus Tutorial</a></li> <li><a rel="nofollow" class="external text" href="https://pythonhosted.org/txdbus/dbus_overview.html">DBus Overview</a></li></ul> <div style="clear:both;" class=""></div> <div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}</style><style data-mw-deduplicate="TemplateStyles:r1236075235">.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}</style></div><div role="navigation" class="navbox" aria-labelledby="Free_and_open-source_software_projects_hosted_by_freedesktop.org180" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="3"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><style data-mw-deduplicate="TemplateStyles:r1239400231">.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}</style><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Freedesktop.org" title="Template:Freedesktop.org"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Freedesktop.org" title="Template talk:Freedesktop.org"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Freedesktop.org" title="Special:EditPage/Template:Freedesktop.org"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Free_and_open-source_software_projects_hosted_by_freedesktop.org180" style="font-size:114%;margin:0 4em"><a href="/wiki/Free_and_open-source_software" title="Free and open-source software">Free and open-source software</a> projects hosted by <a href="/wiki/Freedesktop.org" title="Freedesktop.org">freedesktop.org</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Operating_system" title="Operating system">OS</a> components</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="row" class="navbox-group" style="width:1%">Sound</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/PulseAudio" title="PulseAudio">PulseAudio</a></li> <li><a href="/wiki/PipeWire" title="PipeWire">PipeWire</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Graphics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Compiz" title="Compiz">Compiz</a></li> <li><a href="/wiki/Direct_Rendering_Infrastructure" title="Direct Rendering Infrastructure">DRI</a></li> <li><a href="/wiki/Enchant_(software)" title="Enchant (software)">Enchant</a></li> <li><a href="/wiki/Nouveau_(software)" title="Nouveau (software)">nouveau</a></li> <li><a href="/wiki/Plymouth_(software)" title="Plymouth (software)">Plymouth</a></li> <li><a href="/wiki/Wayland_(display_server_protocol)" class="mw-redirect" title="Wayland (display server protocol)">Wayland</a></li> <li><a href="/wiki/X.Org_Server" title="X.Org Server">X.Org Server</a> <ul><li><a href="/wiki/Glamor_(software)" class="mw-redirect" title="Glamor (software)">Glamor</a></li></ul></li> <li><a href="/wiki/Xephyr" title="Xephyr">Xephyr</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Avahi_(software)" title="Avahi (software)">Avahi</a></li> <li><a class="mw-selflink selflink">D-Bus</a></li> <li><a href="/wiki/Flatpak" title="Flatpak">Flatpak</a></li> <li><a href="/wiki/Kmscon" title="Kmscon">Kmscon</a></li> <li><a href="/wiki/Luit" title="Luit">luit</a></li> <li><a href="/wiki/PackageKit" title="PackageKit">PackageKit</a></li> <li><a href="/wiki/Pkg-config" title="Pkg-config">pkg-config</a></li> <li><a href="/wiki/Systemd" title="Systemd">Systemd</a></li></ul> </div></td></tr></tbody></table><div></div></td><td class="noviewer navbox-image" rowspan="4" style="width:1px;padding:0 0 0 2px"><div><span typeof="mw:File"><a href="/wiki/File:Freedesktop-logo-for-template.svg" class="mw-file-description"><img src="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Freedesktop-logo-for-template.svg/150px-Freedesktop-logo-for-template.svg.png" decoding="async" width="150" height="107" class="mw-file-element" srcset="//upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Freedesktop-logo-for-template.svg/225px-Freedesktop-logo-for-template.svg.png 1.5x, //upload.wikimedia.org/wikipedia/commons/thumb/7/7b/Freedesktop-logo-for-template.svg/300px-Freedesktop-logo-for-template.svg.png 2x" data-file-width="183" data-file-height="131" /></a></span></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Library_(computing)" title="Library (computing)">Libraries</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/AppStream" title="AppStream">AppStream</a></li> <li><a href="/wiki/Cairo_(graphics)" title="Cairo (graphics)">Cairo</a></li> <li><a href="/wiki/FreeType" title="FreeType">FreeType</a></li> <li><a href="/wiki/Fontconfig" title="Fontconfig">Fontconfig</a></li> <li><a href="/wiki/GStreamer" title="GStreamer">GStreamer</a></li> <li><a href="/wiki/Libinput" class="mw-redirect" title="Libinput">libinput</a></li> <li><a href="/wiki/Mesa_(computer_graphics)" title="Mesa (computer graphics)">Mesa 3D</a></li> <li><a href="/wiki/HarfBuzz" title="HarfBuzz">HarfBuzz</a></li> <li><a href="/wiki/Pango" title="Pango">Pango</a></li> <li><a href="/wiki/Poppler_(software)" title="Poppler (software)">Poppler</a></li> <li><a href="/wiki/Swfdec" title="Swfdec">Swfdec</a></li> <li><a href="/wiki/Video_Acceleration_API" title="Video Acceleration API">Video Acceleration API</a></li> <li><a href="/wiki/XCB" title="XCB">XCB</a></li> <li><a href="/wiki/Xft" title="Xft">Xft</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Software_framework" title="Software framework">Frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/CppUnit" title="CppUnit">CppUnit</a></li> <li><a href="/wiki/Open_Collaboration_Services" title="Open Collaboration Services">Open Collaboration Services (OCS)</a></li> <li><a href="/wiki/Telepathy_(software)" title="Telepathy (software)">Telepathy</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Meetings</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Create_Project" title="Create Project">Create Project</a></li> <li><a href="/wiki/Portland_Project" title="Portland Project">Portland Project</a></li></ul> </div></td></tr></tbody></table></div> <div class="navbox-styles"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1236075235" /></div><div role="navigation" class="navbox" aria-labelledby="Inter-process_communication278" style="padding:3px"><table class="nowraplinks mw-collapsible autocollapse navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1129693374" /><link rel="mw-deduplicated-inline-style" href="mw-data:TemplateStyles:r1239400231" /><div class="navbar plainlinks hlist navbar-mini"><ul><li class="nv-view"><a href="/wiki/Template:Inter-process_communication" title="Template:Inter-process communication"><abbr title="View this template">v</abbr></a></li><li class="nv-talk"><a href="/wiki/Template_talk:Inter-process_communication" title="Template talk:Inter-process communication"><abbr title="Discuss this template">t</abbr></a></li><li class="nv-edit"><a href="/wiki/Special:EditPage/Template:Inter-process_communication" title="Special:EditPage/Template:Inter-process communication"><abbr title="Edit this template">e</abbr></a></li></ul></div><div id="Inter-process_communication278" style="font-size:114%;margin:0 4em"><a href="/wiki/Inter-process_communication" title="Inter-process communication">Inter-process communication</a></div></th></tr><tr><td class="navbox-abovebelow" colspan="2"><div><a href="/wiki/Data" title="Data">Data</a> exchange among <a href="/wiki/Thread_(computing)" title="Thread (computing)">threads</a> in <a href="/wiki/Computer_program" title="Computer program">computer programs</a></div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Methods</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Computer_file" title="Computer file">File</a></li> <li><a href="/wiki/Mmap" title="Mmap">Memory-mapped file</a></li> <li><a href="/wiki/Message_passing" title="Message passing">Message passing</a></li> <li><a href="/wiki/Message_queue" title="Message queue">Message queue and mailbox</a></li> <li><a href="/wiki/Named_pipe" title="Named pipe">Named pipe</a></li> <li><a href="/wiki/Anonymous_pipe" title="Anonymous pipe">Anonymous pipe</a></li> <li><a href="/wiki/Pipeline_(Unix)" title="Pipeline (Unix)">Pipe</a></li> <li><a href="/wiki/Semaphore_(programming)" title="Semaphore (programming)">Semaphore</a></li> <li><a href="/wiki/Shared_memory" title="Shared memory">Shared memory</a></li> <li><a href="/wiki/Signal_(IPC)" title="Signal (IPC)">Signal</a></li> <li>Sockets <ul><li><a href="/wiki/Network_socket" title="Network socket">Network</a></li> <li><a href="/wiki/Unix_domain_socket" title="Unix domain socket">Unix</a></li></ul></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Communication_protocol" title="Communication protocol">Protocols</a><br />and <a href="/wiki/Technical_standard" title="Technical standard">standards</a></th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a href="/wiki/Apple_event" title="Apple event">Apple events</a></li> <li><a href="/wiki/Component_Object_Model#COM.2B" title="Component Object Model">COM+</a></li> <li><a href="/wiki/Common_Object_Request_Broker_Architecture" title="Common Object Request Broker Architecture">CORBA</a></li> <li><a class="mw-selflink selflink">D-Bus</a></li> <li><a href="/wiki/Data_Distribution_Service" title="Data Distribution Service">DDS</a></li> <li><a href="/wiki/Distributed_Computing_Environment" title="Distributed Computing Environment">DCE</a></li> <li><a href="/wiki/Internet_Communications_Engine" title="Internet Communications Engine">ICE</a></li> <li><a href="/wiki/OpenBinder" title="OpenBinder">OpenBinder</a></li> <li><a href="/wiki/Sun_RPC" title="Sun RPC">Sun RPC</a></li> <li><a href="/wiki/POSIX" title="POSIX">POSIX</a> (various methods)</li> <li><a href="/wiki/SOAP" title="SOAP">SOAP</a></li> <li><a href="/wiki/REST" title="REST">REST</a></li> <li><a href="/wiki/Apache_Thrift" title="Apache Thrift">Thrift</a></li> <li><a href="/wiki/Transparent_Inter-process_Communication" title="Transparent Inter-process Communication">TIPC</a></li> <li><a href="/wiki/XML-RPC" title="XML-RPC">XML-RPC</a></li></ul> </div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%"><a href="/wiki/Library_(computing)" title="Library (computing)">Software libraries</a><br />and <a href="/wiki/Software_framework" title="Software framework">frameworks</a></th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em"> <ul><li><a class="mw-selflink selflink">D-Bus</a></li> <li><a href="/wiki/Libevent" title="Libevent">libevent</a></li> <li><a href="/wiki/SIMPL" title="SIMPL">SIMPL</a></li> <li><a href="/wiki/LINX_(IPC)" class="mw-redirect" title="LINX (IPC)">LINX</a></li></ul> </div></td></tr></tbody></table></div> <!-- NewPP limit report Parsed by mw‐web.eqiad.main‐8669bc5c8‐ds9j6 Cached time: 20250318160534 Cache expiry: 1151671 Reduced expiry: true Complications: [vary‐revision‐sha1, show‐toc] CPU time usage: 1.397 seconds Real time usage: 1.681 seconds Preprocessor visited node count: 33630/1000000 Post‐expand include size: 136854/2097152 bytes Template argument size: 12110/2097152 bytes Highest expansion depth: 27/100 Expensive parser function count: 15/500 Unstrip recursion depth: 1/20 Unstrip post‐expand size: 180815/5000000 bytes Lua time usage: 0.581/10.000 seconds Lua memory usage: 9786344/52428800 bytes Number of Wikibase entities loaded: 1/400 --> <!-- Transclusion expansion time report (%,ms,calls,template) 100.00% 1534.366 1 -total 31.06% 476.620 123 Template:R 29.21% 448.179 123 Template:R/ref 21.12% 324.046 1 Template:Reflist 19.61% 300.866 2 Template:Infobox 17.09% 262.225 1 Template:Infobox_software 14.49% 222.375 32 Template:Cite_web 9.10% 139.556 123 Template:R/superscript 7.64% 117.219 123 Template:R/where 7.17% 110.038 3 Template:Navbox --> <!-- Saved in parser cache with key enwiki:pcache:2083029:|#|:idhash:canonical and timestamp 20250318160534 and revision id 1280401656. Rendering was triggered because: page-view --> </div><!--esi <esi:include src="/esitest-fa8a495983347898/content" /> --><noscript><img src="https://login.wikimedia.org/wiki/Special:CentralAutoLogin/start?useformat=desktop&type=1x1&usesul3=0" alt="" width="1" height="1" style="border: none; position: absolute;"></noscript> <div class="printfooter" data-nosnippet="">Retrieved from "<a dir="ltr" href="https://en.wikipedia.org/w/index.php?title=D-Bus&oldid=1280401656">https://en.wikipedia.org/w/index.php?title=D-Bus&oldid=1280401656</a>"</div></div> <div id="catlinks" class="catlinks" data-mw="interface"><div id="mw-normal-catlinks" class="mw-normal-catlinks"><a href="/wiki/Help:Category" title="Help:Category">Categories</a>: <ul><li><a href="/wiki/Category:Application_layer_protocols" title="Category:Application layer protocols">Application layer protocols</a></li><li><a href="/wiki/Category:C%2B%2B_libraries" title="Category:C++ libraries">C++ libraries</a></li><li><a href="/wiki/Category:Collabora" title="Category:Collabora">Collabora</a></li><li><a href="/wiki/Category:Free_network-related_software" title="Category:Free network-related software">Free network-related software</a></li><li><a href="/wiki/Category:Freedesktop.org" title="Category:Freedesktop.org">Freedesktop.org</a></li><li><a href="/wiki/Category:Inter-process_communication" title="Category:Inter-process communication">Inter-process communication</a></li><li><a href="/wiki/Category:Remote_procedure_call" title="Category:Remote procedure call">Remote procedure call</a></li><li><a href="/wiki/Category:Software_using_the_Academic_Free_License" title="Category:Software using the Academic Free License">Software using the Academic Free License</a></li></ul></div><div id="mw-hidden-catlinks" class="mw-hidden-catlinks mw-hidden-cats-hidden">Hidden categories: <ul><li><a href="/wiki/Category:Articles_with_short_description" title="Category:Articles with short description">Articles with short description</a></li><li><a href="/wiki/Category:Short_description_is_different_from_Wikidata" title="Category:Short description is different from Wikidata">Short description is different from Wikidata</a></li><li><a href="/wiki/Category:All_articles_with_dead_external_links" title="Category:All articles with dead external links">All articles with dead external links</a></li><li><a href="/wiki/Category:Articles_with_dead_external_links_from_November_2016" title="Category:Articles with dead external links from November 2016">Articles with dead external links from November 2016</a></li><li><a href="/wiki/Category:All_articles_with_unsourced_statements" title="Category:All articles with unsourced statements">All articles with unsourced statements</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_March_2025" title="Category:Articles with unsourced statements from March 2025">Articles with unsourced statements from March 2025</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_February_2016" title="Category:Articles with unsourced statements from February 2016">Articles with unsourced statements from February 2016</a></li><li><a href="/wiki/Category:Articles_with_unsourced_statements_from_December_2022" title="Category:Articles with unsourced statements from December 2022">Articles with unsourced statements from December 2022</a></li></ul></div></div> </div> </main> </div> <div class="mw-footer-container"> <footer id="footer" class="mw-footer" > <ul id="footer-info"> <li id="footer-info-lastmod"> This page was last edited on 14 March 2025, at 12:18<span class="anonymous-show"> (UTC)</span>.</li> <li id="footer-info-copyright">Text is available under the <a href="/wiki/Wikipedia:Text_of_the_Creative_Commons_Attribution-ShareAlike_4.0_International_License" title="Wikipedia:Text of the Creative Commons Attribution-ShareAlike 4.0 International License">Creative Commons Attribution-ShareAlike 4.0 License</a>; additional terms may apply. By using this site, you agree to the <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Terms_of_Use" class="extiw" title="foundation:Special:MyLanguage/Policy:Terms of Use">Terms of Use</a> and <a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy" class="extiw" title="foundation:Special:MyLanguage/Policy:Privacy policy">Privacy Policy</a>. Wikipedia® is a registered trademark of the <a rel="nofollow" class="external text" href="https://wikimediafoundation.org/">Wikimedia Foundation, Inc.</a>, a non-profit organization.</li> </ul> <ul id="footer-places"> <li id="footer-places-privacy"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Privacy_policy">Privacy policy</a></li> <li id="footer-places-about"><a href="/wiki/Wikipedia:About">About Wikipedia</a></li> <li id="footer-places-disclaimers"><a href="/wiki/Wikipedia:General_disclaimer">Disclaimers</a></li> <li id="footer-places-contact"><a href="//en.wikipedia.org/wiki/Wikipedia:Contact_us">Contact Wikipedia</a></li> <li id="footer-places-wm-codeofconduct"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Universal_Code_of_Conduct">Code of Conduct</a></li> <li id="footer-places-developers"><a href="https://developer.wikimedia.org">Developers</a></li> <li id="footer-places-statslink"><a href="https://stats.wikimedia.org/#/en.wikipedia.org">Statistics</a></li> <li id="footer-places-cookiestatement"><a href="https://foundation.wikimedia.org/wiki/Special:MyLanguage/Policy:Cookie_statement">Cookie statement</a></li> <li id="footer-places-mobileview"><a href="//en.m.wikipedia.org/w/index.php?title=D-Bus&mobileaction=toggle_view_mobile" class="noprint stopMobileRedirectToggle">Mobile view</a></li> </ul> <ul id="footer-icons" class="noprint"> <li id="footer-copyrightico"><a href="https://wikimediafoundation.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/static/images/footer/wikimedia-button.svg" width="84" height="29"><img src="/static/images/footer/wikimedia.svg" width="25" height="25" alt="Wikimedia Foundation" lang="en" loading="lazy"></picture></a></li> <li id="footer-poweredbyico"><a href="https://www.mediawiki.org/" class="cdx-button cdx-button--fake-button cdx-button--size-large cdx-button--fake-button--enabled"><picture><source media="(min-width: 500px)" srcset="/w/resources/assets/poweredby_mediawiki.svg" width="88" height="31"><img src="/w/resources/assets/mediawiki_compact.svg" alt="Powered by MediaWiki" lang="en" width="25" height="25" loading="lazy"></picture></a></li> </ul> </footer> </div> </div> </div> <div class="vector-header-container vector-sticky-header-container"> <div id="vector-sticky-header" class="vector-sticky-header"> <div class="vector-sticky-header-start"> <div class="vector-sticky-header-icon-start vector-button-flush-left vector-button-flush-right" aria-hidden="true"> <button class="cdx-button cdx-button--weight-quiet cdx-button--icon-only vector-sticky-header-search-toggle" tabindex="-1" data-event-name="ui.vector-sticky-search-form.icon"><span class="vector-icon mw-ui-icon-search mw-ui-icon-wikimedia-search"></span> <span>Search</span> </button> </div> <div role="search" class="vector-search-box-vue vector-search-box-show-thumbnail vector-search-box"> <div class="vector-typeahead-search-container"> <div class="cdx-typeahead-search cdx-typeahead-search--show-thumbnail"> <form action="/w/index.php" id="vector-sticky-search-form" class="cdx-search-input cdx-search-input--has-end-button"> <div class="cdx-search-input__input-wrapper" data-search-loc="header-moved"> <div class="cdx-text-input cdx-text-input--has-start-icon"> <input class="cdx-text-input__input" type="search" name="search" placeholder="Search Wikipedia"> <span class="cdx-text-input__icon cdx-text-input__start-icon"></span> </div> <input type="hidden" name="title" value="Special:Search"> </div> <button class="cdx-button cdx-search-input__end-button">Search</button> </form> </div> </div> </div> <div class="vector-sticky-header-context-bar"> <nav aria-label="Contents" class="vector-toc-landmark"> <div id="vector-sticky-header-toc" class="vector-dropdown mw-portlet mw-portlet-sticky-header-toc vector-sticky-header-toc vector-button-flush-left" > <input type="checkbox" id="vector-sticky-header-toc-checkbox" role="button" aria-haspopup="true" data-event-name="ui.dropdown-vector-sticky-header-toc" class="vector-dropdown-checkbox " aria-label="Toggle the table of contents" > <label id="vector-sticky-header-toc-label" for="vector-sticky-header-toc-checkbox" class="vector-dropdown-label cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only " aria-hidden="true" ><span class="vector-icon mw-ui-icon-listBullet mw-ui-icon-wikimedia-listBullet"></span> <span class="vector-dropdown-label-text">Toggle the table of contents</span> </label> <div class="vector-dropdown-content"> <div id="vector-sticky-header-toc-unpinned-container" class="vector-unpinned-container"> </div> </div> </div> </nav> <div class="vector-sticky-header-context-bar-primary" aria-hidden="true" ><span class="mw-page-title-main">D-Bus</span></div> </div> </div> <div class="vector-sticky-header-end" aria-hidden="true"> <div class="vector-sticky-header-icons"> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-talk-sticky-header" tabindex="-1" data-event-name="talk-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbles mw-ui-icon-wikimedia-speechBubbles"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-subject-sticky-header" tabindex="-1" data-event-name="subject-sticky-header"><span class="vector-icon mw-ui-icon-article mw-ui-icon-wikimedia-article"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-history-sticky-header" tabindex="-1" data-event-name="history-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-history mw-ui-icon-wikimedia-wikimedia-history"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only mw-watchlink" id="ca-watchstar-sticky-header" tabindex="-1" data-event-name="watch-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-star mw-ui-icon-wikimedia-wikimedia-star"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-edit-sticky-header" tabindex="-1" data-event-name="wikitext-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-wikiText mw-ui-icon-wikimedia-wikimedia-wikiText"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-ve-edit-sticky-header" tabindex="-1" data-event-name="ve-edit-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-edit mw-ui-icon-wikimedia-wikimedia-edit"></span> <span></span> </a> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--icon-only" id="ca-viewsource-sticky-header" tabindex="-1" data-event-name="ve-edit-protected-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-editLock mw-ui-icon-wikimedia-wikimedia-editLock"></span> <span></span> </a> </div> <div class="vector-sticky-header-buttons"> <button class="cdx-button cdx-button--weight-quiet mw-interlanguage-selector" id="p-lang-btn-sticky-header" tabindex="-1" data-event-name="ui.dropdown-p-lang-btn-sticky-header"><span class="vector-icon mw-ui-icon-wikimedia-language mw-ui-icon-wikimedia-wikimedia-language"></span> <span>22 languages</span> </button> <a href="#" class="cdx-button cdx-button--fake-button cdx-button--fake-button--enabled cdx-button--weight-quiet cdx-button--action-progressive" id="ca-addsection-sticky-header" tabindex="-1" data-event-name="addsection-sticky-header"><span class="vector-icon mw-ui-icon-speechBubbleAdd-progressive mw-ui-icon-wikimedia-speechBubbleAdd-progressive"></span> <span>Add topic</span> </a> </div> <div class="vector-sticky-header-icon-end"> <div class="vector-user-links"> </div> </div> </div> </div> </div> <div class="mw-portlet mw-portlet-dock-bottom emptyPortlet" id="p-dock-bottom"> <ul> </ul> </div> <script>(RLQ=window.RLQ||[]).push(function(){mw.config.set({"wgHostname":"mw-web.eqiad.main-78bdfcd464-zjhdb","wgBackendResponseTime":184,"wgPageParseReport":{"limitreport":{"cputime":"1.397","walltime":"1.681","ppvisitednodes":{"value":33630,"limit":1000000},"postexpandincludesize":{"value":136854,"limit":2097152},"templateargumentsize":{"value":12110,"limit":2097152},"expansiondepth":{"value":27,"limit":100},"expensivefunctioncount":{"value":15,"limit":500},"unstrip-depth":{"value":1,"limit":20},"unstrip-size":{"value":180815,"limit":5000000},"entityaccesscount":{"value":1,"limit":400},"timingprofile":["100.00% 1534.366 1 -total"," 31.06% 476.620 123 Template:R"," 29.21% 448.179 123 Template:R/ref"," 21.12% 324.046 1 Template:Reflist"," 19.61% 300.866 2 Template:Infobox"," 17.09% 262.225 1 Template:Infobox_software"," 14.49% 222.375 32 Template:Cite_web"," 9.10% 139.556 123 Template:R/superscript"," 7.64% 117.219 123 Template:R/where"," 7.17% 110.038 3 Template:Navbox"]},"scribunto":{"limitreport-timeusage":{"value":"0.581","limit":"10.000"},"limitreport-memusage":{"value":9786344,"limit":52428800}},"cachereport":{"origin":"mw-web.eqiad.main-8669bc5c8-ds9j6","timestamp":"20250318160534","ttl":1151671,"transientcontent":true}}});});</script> <script type="application/ld+json">{"@context":"https:\/\/schema.org","@type":"Article","name":"D-Bus","url":"https:\/\/en.wikipedia.org\/wiki\/D-Bus","sameAs":"http:\/\/www.wikidata.org\/entity\/Q768923","mainEntity":"http:\/\/www.wikidata.org\/entity\/Q768923","author":{"@type":"Organization","name":"Contributors to Wikimedia projects"},"publisher":{"@type":"Organization","name":"Wikimedia Foundation, Inc.","logo":{"@type":"ImageObject","url":"https:\/\/www.wikimedia.org\/static\/images\/wmf-hor-googpub.png"}},"datePublished":"2005-06-21T02:15:33Z","dateModified":"2025-03-14T12:18:22Z","headline":"protocol for inter-process communication on the Linux desktop"}</script> </body> </html>