985:) 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. The recipient process is determined by the destination bus name in the message's header field, or by the subscription information to signals maintained by the message bus daemon in the case of signal propagation messages. 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.
900:
1028:
884:
1289:
1206:
764:: 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. 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
774:: 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. 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.
139:
2783:
499:. 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. 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. An example of a unique connection name is
365:
377:
733:
583:
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.
834:
559:
1136:, 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
778:
Every D-Bus message consists of a header and a body. 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.). The body
645:
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—otherwise, the selected
535:
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
720:
between processes instead of "raw bytes". 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
649:
The D-Bus specification also defines several standard interfaces that objects may want to implement in addition to its own interfaces. 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
582:
of the object. Any client connected to the bus can interact with an object by using its methods, making requests or commanding the object to perform actions. 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
925:
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
1140:
bindings). The freedesktop.org project itself recommends applications authors to "use one of the higher level bindings or implementations" instead. The predominance of libdbus as the most used D-Bus implementation caused the terms "D-Bus" and "libdbus" to be often used interchangeably, leading to
432:
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
401:
that gathers all the communications between a group of processes over a single shared virtual channel. Processes connected to a bus do not know how it is internally implemented, but D-Bus specification guarantees that all processes connected to the bus can communicate with each other through it.
617:
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
526:
Bus names can be used as a simple way to implement single-instance applications (second instances detect that the bus name is already taken). 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.
1759:
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
1440:
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
2269:
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
511:
the bus name. 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.
1789:
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
699:
bus name. 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
625:
specifies members—methods and signals—that can be used with an object. 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
506:
A process can ask for additional bus names for its connection, 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
954:. 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
1236:
and auditing, security from the kernel mediating, closing race conditions, and allowing D-Bus to be used during boot and shutdown (as needed by systemd). kdbus inclusion in the Linux kernel proved controversial, and was dropped in favor of
969:, the address by which a process can establish a D-Bus connection to the central message bus process. In this scenario, the message bus daemon selects the bus address and the remainder processes must pass that value to their corresponding
602:. However, it is not enforced—but also not discouraged—to form hierarchies within object paths. The particular naming convention for the objects of a service is entirely up to the developers of such service, but many developers choose to
913:
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
618:
desired service, but also the bus name under which the service process is connected to the bus. This in turn allows that several processes connected to the bus can export different objects with identical object paths unambiguously.
828:
may be wrapped by another higher-level library, language binding, or entirely replaced by a different standalone implementation that serves the same purpose. This library only supports one-to-one communications between two
687:: 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.
980:
Two processes can use a D-Bus connection to exchange messages directly between them, 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.
388:
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.
995:
allows automatic starting of services when needed—when the first request to any bus name of such service arrives at the message bus daemon. This way, service processes neither need to be launched during the
941:
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
1008:'s service activation framework. 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).
2298:
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.
519:, is to provide a way to refer to a service using a prearranged bus name. For instance, the service that reports the current time and date in the system bus lies in the process whose connection owns the
638:
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
798:: 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.
779:
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
304:
of the specification. This library should not be confused with D-Bus itself, as other implementations of the D-Bus specification also exist, such as GDBus (GNOME), QtDBus (
2092:
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)
428:
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
1185:
project rewrote libdbus in an effort to simplify the code, but it also resulted in a significant increase of the overall D-Bus performance. In preliminary benchmarks,
448:
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.
848:
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
1089:
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
2946:
716:
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
2061:
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
852:, 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
2002:
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
598:. 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
3234:
348:
respectively). The components of these desktop environments are normally distributed in many processes, each one providing only a few—usually one—
1000:
or user initialization stage nor need they consume memory or other resources when not being used. This feature was originally implemented using
806:
Most existing D-Bus implementations follow the architecture of the reference implementation. This architecture consists of two main components:
704:. These operations are used for example to provide information about the status of the bus, or to manage the request and release of additional
594:, a string of numbers, letters and underscores separated and prefixed by the slash character, called that because of their resemblance to
1209:
kdbus is implemented as a character device driver. All communication between processes take place over special character device nodes in
926:
the communications library that decides what transport methods it supports. For instance, in Unix-like operating systems such as Linux
3079:
2939:
2617:
1313:
977:
defines a different bus address for every bus instance it provides. These addresses are defined in the daemon's configuration files.
1620:
436:
D-Bus provides additional or simplifies existing functionality to the applications, including information-sharing, modularity and
3135:
3214:
1165:. GDBus is not a wrapper of libdbus, but a complete and independent reimplementation of the D-Bus specification and protocol.
413:, available to all users and processes of the system, that provides access to system services (i.e. services provided by the
691:
The D-Bus specification defines a number of administrative bus operations (called "bus services") to be performed using the
646:
member is undefined or erroneous. An emitted signal, on the other hand, must always indicate to which interface it belongs.
3224:
3199:
2932:
1294:
958:
pairs. This way, for example, it can provide authentication information to a specific type of connection that supports it.
736:
Example of one-to-one request-response message exchange to invoke a method over D-Bus. Here the client process invokes the
787:
of various types, such as integers and floating-point numbers, strings, compound types, and so on, also referred to as
1323:
398:
893:
over a Unix domain socket. They can use it to exchange messages directly. In this scenario bus names are not required.
3094:
2700:
1427:
1194:
841:
process acting as a D-Bus message bus daemon. Every process connected to the bus keeps one D-Bus connection with it.
2595:
2310:
185:
2680:
1027:
433:
user. The latter restriction may change in the future if all user sessions are combined into a single user bus.
3229:
3099:
1308:
1262:
1044:
788:
726:
345:
178:
88:
2626:
2610:
2340:
1333:
1036:
1021:
935:
2391:
1802:
405:
Linux desktop environments take advantage of the D-Bus facilities by instantiating multiple buses, notably:
1086:. HAL used D-Bus to export information about hardware that has been added to or removed from the computer.
543:. That does not mean that D-Bus is somehow limited to OOP languages—in fact, the most used implementation (
485:
114:
1872:
Pennington, Havoc; Carlsson, Anders; Larsson, Alexander; Herzberg, Sven; McVittie, Simon; Zeuthen, David.
1132:
Although there are several implementations of D-Bus, the most widely used is the reference implementation
495:
When a process sets up a connection to a bus, the bus assigns to the connection a special bus name called
2955:
2887:
1274:
1270:
1266:
1258:
1242:
1225:
627:
484:. A bus name consists of two or more dot-separated strings of letters, digits, dashes, and underscores—a
321:
259:
193:
66:
667:: provides an introspection mechanism by which a client process can, at run-time, get a description (in
2228:
2130:
1602:
D-Bus is designed for use as a unified middleware layer underneath the main free desktop environments.
1328:
418:
216:
3074:
991:
improves the feature set already provided by D-Bus itself with additional functionality. For example,
3089:
818:
in order to exchange messages between two processes. In the reference implementation this library is
634:. Despite their similarity, interface names and bus names should not be mistaken. A D-Bus object can
562:
Browsing the existing bus names, objects, interfaces, methods and signals in a D-Bus bus using D-Feet
2178:
3219:
3204:
2829:
2603:
548:
301:
152:
899:
3021:
2527:
3056:
2854:
1363:
1318:
1106:
678:
552:
2475:
2204:
1990:
1725:
965:
is used to implement a D-Bus bus, all processes that want to connect to the bus must know the
2152:
1338:
883:
756:
The bus supports two modes of interchanging messages between a client and a service process:
722:
220:
1384:
1228:
mechanism. Beside performance improvements, kdbus would have advantages arising from other
2892:
2519:
1303:
1205:
1137:
725:
mechanism than to a classic IPC mechanism, with its own type definition system and its own
540:
437:
353:
297:
201:
2574:
1873:
1624:
8:
3150:
2791:
2695:
2104:
1119:, whose policy authority daemon is implemented as a service connected to the system bus.
1111:
and systemd, and is also promoting traditional system daemons to D-Bus services, such as
950:
objects, and therefore they can be identified by a filename, so a valid address would be
811:
337:
282:
263:
1189:
found that the systemd's D-Bus library increased performance by 360%. By version 221 of
138:
3209:
3155:
3061:
3044:
2968:
2874:
2844:
2690:
2685:
2471:
2387:
2336:
931:
845:
651:
452:
325:
196:
2710:
2590:
2585:
2253:
1968:
1747:
1560:
1423:
771:
2625:
2541:
1649:
480:
Every connection to a bus is identified in the context of D-Bus by what is called a
2972:
2913:
2804:
2733:
2638:
2282:
1254:
1233:
761:
414:
275:
211:
159:
2216:
Since systemd's inception it has been the IPC system it exposes its interfaces on.
578:
that the object can emit. Methods and signals are collectively referred to as the
3016:
2996:
2630:
1827:
1773:
1586:
1495:
1417:
1166:
537:
267:
2782:
2579:
1224:
was a project that aimed to reimplement D-Bus as a kernel-mediated peer-to-peer
3039:
3011:
2908:
1150:
1090:
1083:
1072:
460:
164:
123:
2924:
1404:
3193:
3130:
3026:
3001:
2986:
2023:
1699:
815:
795:
784:
305:
266:
running concurrently on the same machine. D-Bus was developed as part of the
2076:
2045:
1422:(2 ed.). San Francisco: No Starch Press (published 2014). p. 305.
20:
3031:
2705:
2568:
2520:"Keynote: A Fireside Chat with Greg Kroah-Hartman, Linux Foundation Fellow"
2018:
1229:
1064:
456:
395:
232:
1674:
732:
671:
format) of the interfaces, methods and signals that the object implements.
455:
to integrate different components of a user application. For instance, an
364:
3069:
607:
464:
356:
or by other components of the desktop environment to perform their tasks.
721:
to reject any ill-formed message. In this regard, D-Bus is closer to an
3178:
3104:
3006:
2814:
2763:
2758:
2654:
2314:
1098:
947:
376:
32:
440:. For example, information on an incoming voice-call received through
2819:
2799:
603:
595:
441:
3168:
2834:
2824:
2809:
2659:
2494:
2446:
2427:
2409:
2362:
590:
as many D-Bus objects as it wants. Each object is identified by an
402:
D-Bus incurs at least a 2.5x performance loss over one-to-one IPC.
3140:
3109:
2882:
2768:
2743:
2523:
2498:
2450:
2431:
2413:
2366:
1190:
1182:
1102:
1101:
sound server use D-Bus to provide part or all of their services.
1060:
1017:
1005:
309:
37:
1173:(version 4.14), which are also based on GTK+ 3, also use GDBus.
459:
can communicate through the session bus to share data between a
2849:
2748:
2717:
2675:
1416:
Ward, Brian (2004). "14: A brief survey of the Linux desktop".
1116:
1112:
1071:. In GNOME it has gradually replaced most parts of the earlier
1001:
677:: allows a D-Bus object to expose the underlying native object
833:
3173:
3114:
2839:
1871:
1343:
1214:
1162:
1158:
1094:
1068:
1056:
1052:
1016:
D-Bus was started in 2002 by Havoc
Pennington, Alex Larsson (
630:
interfaces notation. An example of a valid interface name is
503:(the characters after the colon have no particular meaning).
445:
341:
329:
286:
279:
271:
174:
515:
The idea behind these additional bus names, commonly called
3125:
3120:
2991:
2964:
2753:
1170:
1154:
1076:
997:
1803:"Desktop Environment - an overview | ScienceDirect Topics"
1238:
1082:
One of the earlier adopters was the (nowadays deprecated)
2864:
2859:
1186:
1048:
934:
as the underlying transport method, but it also supports
889:
Process A and B have a one-to-one D-Bus connection using
668:
558:
333:
290:
661:: provides a way to test if a D-Bus connection is alive.
2097:
1105:
uses the D-Bus wire protocol for communication between
2428:"Documentation/kdbus.txt (from the initial patch set)"
862:. Another implementation of the message bus daemon is
2131:"[announce] D-Bus 1.0.0 "Blue Bird" released"
681:
or attributes, or simulate them if it does not exist.
586:
A process connected to a D-Bus bus can request it to
262:
mechanism that allows communication between multiple
19:"DBus" redirects here. For the Tibetan province, see
1966:
1745:
1284:
566:
In D-Bus, a process offers its services by exposing
1967:Pennington, Havoc; Wheeler, David; Walters, Colin.
1746:Pennington, Havoc; Wheeler, David; Walters, Colin.
2464:
2363:"ALS: Linux inter-process communication and kdbus"
2196:
2071:
2069:
1982:
1055:release. An implementation of D-Bus supports most
1020:) and Anders Carlsson. The version 1.0—considered
324:(IPC) mechanism initially designed to replace the
2146:
2144:
1419:How Linux Works: What Every Superuser Should Know
1257:for D-Bus have been developed, such as those for
1004:helpers, but nowadays it can also be provided by
3191:
2341:"[HEADSUP] libsystemd-bus + kdbus plans"
2954:
2329:
2246:
2066:
2038:
1717:
1614:
1612:
1610:
1554:
1552:
1550:
1548:
1546:
1544:
1542:
1540:
1538:
1536:
352:. These services may be used by regular client
2170:
2141:
1534:
1532:
1530:
1528:
1526:
1524:
1522:
1520:
1518:
1516:
2940:
2611:
2534:
2470:
1867:
1865:
1863:
1765:
1489:
1487:
1485:
1483:
1481:
1479:
1477:
1475:
1473:
1471:
1469:
1149:GDBus is an implementation of D-Bus based on
523:bus name, regardless of which process it is.
296:The freedesktop.org project also developed a
2356:
2354:
2012:
2010:
1962:
1960:
1958:
1956:
1954:
1952:
1950:
1948:
1946:
1944:
1942:
1940:
1938:
1936:
1934:
1932:
1930:
1928:
1926:
1924:
1922:
1920:
1918:
1916:
1914:
1861:
1859:
1857:
1855:
1853:
1851:
1849:
1847:
1845:
1843:
1607:
1578:
1467:
1465:
1463:
1461:
1459:
1457:
1455:
1453:
1451:
1449:
2486:
2438:
2380:
1912:
1910:
1908:
1906:
1904:
1902:
1900:
1898:
1896:
1894:
1739:
1513:
2947:
2933:
2618:
2604:
2386:
2335:
2221:
2202:
1988:
1723:
137:
2351:
2150:
2007:
1840:
1771:
1692:
1584:
1493:
1446:
1314:Common Object Request Broker Architecture
1035:plays a significant role in modern Linux
3235:Software using the Academic Free License
2128:
2122:
1891:
1618:
1204:
1026:
832:
731:
557:
1644:
1642:
1558:
1011:
711:
3192:
2492:
2476:"[GIT PULL] kdbus for 4.1-rc1"
2444:
2275:
2151:Molkentin, Daniel (12 November 2006).
1667:
1024:stable—was released in November 2006.
744:object from the service process named
470:
300:software library called libdbus, as a
72:1.14.10 / September 1, 2023
2928:
2599:
308:/KDE), dbus-java and sd-bus (part of
2445:Corbet, Jonathan (13 January 2014).
2360:
2203:Poettering, Lennart (19 June 2015).
2016:
1989:Poettering, Lennart (19 June 2015).
1724:Poettering, Lennart (19 June 2015).
1639:
1415:
1295:Free and open-source software portal
1248:
905:Process A and B both connected to a
794:The D-Bus specification defines the
488:. An example of a valid bus name is
278:to standardize services provided by
1047:system used by versions 2 and 3 of
665:org.freedesktop.DBus.Introspectable
600:/org/kde/kspread/sheets/3/cells/4/5
328:communications systems used by the
94:1.15.8 / August 21, 2023
13:
2493:Corbet, Jonathan (22 April 2015).
1623:. Red Hat Magazine. Archived from
1324:Distributed Component Object Model
1122:
1059:operating systems, and a port for
858:, which itself is built on top of
768:information if there was an error.
685:org.freedesktop.DBus.ObjectManager
14:
3246:
2888:Open Collaboration Services (OCS)
2562:
2392:"[ANNOUNCE] systemd v221"
2176:
1772:Vermeulen, Jeroen (14 Jul 2013).
1585:Vermeulen, Jeroen (14 Jul 2013).
1494:Vermeulen, Jeroen (14 Jul 2013).
1115:. Another heavy user of D-Bus is
1051:, D-Bus has replaced DCOP in the
654:. These standard interfaces are:
610:of the project as a prefix (e.g.
2781:
2530:from the original on 2021-12-21.
2153:"D-Bus 1.0 "Blue Bird" Released"
1287:
898:
882:
810:a point-to-point communications
375:
363:
2512:
2420:
2402:
2303:
2205:"The new sd-bus API of systemd"
2017:Love, Robert (5 January 2005).
1991:"The new sd-bus API of systemd"
1819:
1795:
1726:"The new sd-bus API of systemd"
1619:Palmieri, John (January 2005).
961:When a message bus daemon like
675:org.freedesktop.DBus.Properties
530:
1409:
1398:
1385:"NEWS file for current branch"
1377:
1356:
1309:Common Language Infrastructure
1075:mechanism. It is also used by
1037:graphical desktop environments
632:org.freedesktop.Introspectable
490:org.freedesktop.NetworkManager
1:
3215:Free network-related software
2627:Free and open-source software
2129:Palmieri, John (9 Nov 2006).
1350:
1334:Java remote method invocation
1253:Several programming language
382:The same processes with D-Bus
2571:home page at Freedesktop.org
1559:Cocagne, Tom (August 2012).
952:unix:path=/tmp/.hiddensocket
801:
475:
451:D-Bus can also be used as a
7:
3225:Inter-process communication
3200:Application layer protocols
2956:Inter-process communication
2582:on the Freedesktop.org wiki
1280:
1243:inter-process communication
1226:inter-process communication
868:, which is built on top of
824:. In other implementations
695:object that resides in the
322:inter-process communication
315:
260:message-oriented middleware
49:; 17 years ago
10:
3251:
2361:Edge, Jake (30 May 2013).
1329:Foreign function interface
1127:
1084:Hardware Abstraction Layer
1043:Heavily influenced by the
946:. Unix-domain sockets are
814:that implements the D-Bus
18:
3149:
3055:
3002:Message queue and mailbox
2979:
2962:
2901:
2873:
2790:
2779:
2726:
2668:
2647:
2637:
2229:"Polkit reference manual"
2105:"D-BUS System Activation"
1700:"DBus-Java Documentation"
1176:
973:or equivalent libraries.
749:
659:org.freedesktop.DBus.Peer
631:
599:
574:that can be invoked, and
521:org.freedesktop.timedate1
500:
489:
227:
210:
184:
170:
158:
148:
113:
109:
87:
65:
61:
43:
31:
2447:"The unveiling of kdbus"
2410:"The unveiling of kdbus"
1364:"D-Bus 1.14.x changelog"
1200:
1144:
606:them using the reserved
302:reference implementation
2179:"Introduction To D-BUS"
1774:"Introduction to D-Bus"
1587:"Introduction to D-Bus"
1496:"Introduction to D-Bus"
1405:Havoc's Blog July, 2007
1157:, aiming to be used by
417:and also by any system
370:Processes without D-Bus
96:; 13 months ago
74:; 13 months ago
2855:Video Acceleration API
1319:Component Object Model
1218:
1063:exists. It is used by
1040:
842:
753:
563:
553:procedural programming
497:unique connection name
270:project, initiated by
3230:Remote procedure call
2580:Introduction to D-Bus
1874:"D-Bus Specification"
1807:www.sciencedirect.com
1339:Remote procedure call
1208:
1197:was declared stable.
1030:
998:system initialization
836:
735:
693:/org/freedesktop/DBus
596:Unix filesystem paths
570:. These objects have
561:
541:programming languages
2283:"Migrating to GDBus"
1304:Linux on the desktop
1241:, as a more generic
1138:programming language
1097:bluetooth stack and
1012:History and adoption
742:/org/example/object1
712:Communications model
702:org.freedesktop.DBus
697:org.freedesktop.DBus
438:privilege separation
338:desktop environments
298:free and open-source
283:desktop environments
202:Linux on the desktop
2629:projects hosted by
2575:D-Bus specification
2526:. 18 October 2016.
2472:Kroah-Hartman, Greg
2388:Poettering, Lennart
2337:Poettering, Lennart
932:Unix domain sockets
783:which supports the
486:reverse domain name
471:D-Bus specification
28:
3151:Software libraries
2992:Memory-mapped file
2019:"Get on the D-BUS"
1627:on 23 October 2015
1219:
1041:
993:service activation
850:message bus daemon
843:
754:
564:
326:software component
47:November 2006
26:
3187:
3186:
3117:(various methods)
2973:computer programs
2922:
2921:
2777:
2776:
1249:Language bindings
1232:features such as
772:Publish/subscribe
650:clients, such as
394:D-Bus provides a
249:
248:
3242:
2949:
2942:
2935:
2926:
2925:
2914:Portland Project
2785:
2645:
2644:
2620:
2613:
2606:
2597:
2596:
2557:
2556:
2554:
2552:
2542:"D-Bus Bindings"
2538:
2532:
2531:
2516:
2510:
2509:
2507:
2505:
2495:"The kdbuswreck"
2490:
2484:
2483:
2468:
2462:
2461:
2459:
2457:
2442:
2436:
2435:
2424:
2418:
2417:
2406:
2400:
2399:
2384:
2378:
2377:
2375:
2373:
2358:
2349:
2348:
2333:
2327:
2326:
2324:
2322:
2313:. Archived from
2307:
2301:
2300:
2295:
2293:
2279:
2273:
2272:
2270:implementations.
2266:
2264:
2254:"What is D-Bus?"
2250:
2244:
2243:
2241:
2239:
2225:
2219:
2218:
2213:
2211:
2200:
2194:
2193:
2191:
2189:
2174:
2168:
2167:
2165:
2163:
2148:
2139:
2138:
2126:
2120:
2119:
2117:
2115:
2101:
2095:
2094:
2089:
2087:
2077:"What is D-Bus?"
2073:
2064:
2063:
2058:
2056:
2046:"What is D-Bus?"
2042:
2036:
2035:
2033:
2031:
2014:
2005:
2004:
1999:
1997:
1986:
1980:
1979:
1977:
1975:
1969:"D-Bus Tutorial"
1964:
1889:
1888:
1886:
1884:
1869:
1838:
1837:
1835:
1834:
1823:
1817:
1816:
1814:
1813:
1799:
1793:
1792:
1786:
1784:
1769:
1763:
1762:
1756:
1754:
1748:"D-Bus Tutorial"
1743:
1737:
1736:
1734:
1732:
1721:
1715:
1714:
1712:
1710:
1696:
1690:
1689:
1687:
1685:
1671:
1665:
1664:
1662:
1660:
1646:
1637:
1636:
1634:
1632:
1616:
1605:
1604:
1599:
1597:
1582:
1576:
1575:
1573:
1571:
1565:pythonhosted.org
1556:
1511:
1510:
1508:
1506:
1491:
1444:
1443:
1437:
1436:
1413:
1407:
1402:
1396:
1395:
1393:
1391:
1381:
1375:
1374:
1372:
1370:
1360:
1297:
1292:
1291:
1290:
1212:
1109:
1093:network daemon,
1034:
990:
984:
976:
972:
964:
957:
953:
929:
924:
912:
908:
902:
892:
886:
872:
866:
861:
856:
840:
827:
822:
762:request-response
751:
747:
743:
739:
703:
698:
694:
686:
676:
666:
660:
633:
613:
601:
547:) is written in
546:
522:
517:well-known names
502:
491:
415:operating system
379:
367:
276:Havoc Pennington
245:
242:
240:
238:
236:
234:
160:Operating system
141:
136:
133:
131:
129:
127:
125:
104:
102:
97:
82:
80:
75:
57:
55:
50:
29:
25:
16:Linux middleware
3250:
3249:
3245:
3244:
3243:
3241:
3240:
3239:
3220:Freedesktop.org
3190:
3189:
3188:
3183:
3153:
3145:
3059:
3051:
2997:Message passing
2975:
2967:exchange among
2958:
2953:
2923:
2918:
2897:
2869:
2786:
2773:
2722:
2664:
2633:
2631:freedesktop.org
2624:
2565:
2560:
2550:
2548:
2546:FreeDesktop.org
2540:
2539:
2535:
2518:
2517:
2513:
2503:
2501:
2491:
2487:
2482:(Mailing list).
2474:(13 Apr 2015).
2469:
2465:
2455:
2453:
2443:
2439:
2426:
2425:
2421:
2408:
2407:
2403:
2398:(Mailing list).
2390:(19 Jun 2015).
2385:
2381:
2371:
2369:
2359:
2352:
2347:(Mailing list).
2339:(20 Mar 2013).
2334:
2330:
2320:
2318:
2317:on 29 July 2019
2311:"MATE: Roadmap"
2309:
2308:
2304:
2291:
2289:
2287:GNOME Developer
2281:
2280:
2276:
2262:
2260:
2258:FreeDesktop.org
2252:
2251:
2247:
2237:
2235:
2233:FreeDesktop.org
2227:
2226:
2222:
2209:
2207:
2201:
2197:
2187:
2185:
2175:
2171:
2161:
2159:
2149:
2142:
2137:(Mailing list).
2127:
2123:
2113:
2111:
2109:FreeDesktop.org
2103:
2102:
2098:
2085:
2083:
2081:FreeDesktop.org
2075:
2074:
2067:
2054:
2052:
2050:FreeDesktop.org
2044:
2043:
2039:
2029:
2027:
2015:
2008:
1995:
1993:
1987:
1983:
1973:
1971:
1965:
1892:
1882:
1880:
1878:Freedesktop.org
1870:
1841:
1832:
1830:
1826:
1824:
1820:
1811:
1809:
1801:
1800:
1796:
1782:
1780:
1778:FreeDesktop.org
1770:
1766:
1752:
1750:
1744:
1740:
1730:
1728:
1722:
1718:
1708:
1706:
1704:FreeDesktop.org
1698:
1697:
1693:
1683:
1681:
1675:"QtDBus module"
1673:
1672:
1668:
1658:
1656:
1654:GNOME developer
1648:
1647:
1640:
1630:
1628:
1617:
1608:
1595:
1593:
1591:FreeDesktop.org
1583:
1579:
1569:
1567:
1561:"DBus Overview"
1557:
1514:
1504:
1502:
1500:FreeDesktop.org
1492:
1447:
1434:
1432:
1430:
1414:
1410:
1403:
1399:
1389:
1387:
1383:
1382:
1378:
1368:
1366:
1362:
1361:
1357:
1353:
1348:
1293:
1288:
1286:
1283:
1251:
1210:
1203:
1179:
1147:
1130:
1125:
1123:Implementations
1107:
1067:4 and later by
1032:
1014:
988:
982:
974:
970:
962:
955:
951:
930:typically uses
927:
922:
919:
918:
917:
916:
915:
910:
906:
903:
895:
894:
890:
887:
870:
864:
859:
854:
838:
825:
820:
804:
746:org.example.foo
745:
741:
737:
714:
701:
696:
692:
684:
674:
664:
658:
611:
544:
538:object oriented
533:
520:
478:
473:
392:
391:
390:
389:
385:
384:
383:
380:
372:
371:
368:
318:
268:freedesktop.org
231:
206:
177:
144:
122:
105:
100:
98:
95:
89:Preview release
83:
78:
76:
73:
53:
51:
48:
44:Initial release
24:
17:
12:
11:
5:
3248:
3238:
3237:
3232:
3227:
3222:
3217:
3212:
3207:
3202:
3185:
3184:
3182:
3181:
3176:
3171:
3166:
3160:
3158:
3147:
3146:
3144:
3143:
3138:
3133:
3128:
3123:
3118:
3112:
3107:
3102:
3097:
3092:
3087:
3082:
3077:
3072:
3066:
3064:
3053:
3052:
3050:
3049:
3048:
3047:
3042:
3034:
3029:
3024:
3019:
3014:
3012:Anonymous pipe
3009:
3004:
2999:
2994:
2989:
2983:
2981:
2977:
2976:
2963:
2960:
2959:
2952:
2951:
2944:
2937:
2929:
2920:
2919:
2917:
2916:
2911:
2909:Create Project
2905:
2903:
2899:
2898:
2896:
2895:
2890:
2885:
2879:
2877:
2871:
2870:
2868:
2867:
2862:
2857:
2852:
2847:
2842:
2837:
2832:
2827:
2822:
2817:
2812:
2807:
2802:
2796:
2794:
2788:
2787:
2780:
2778:
2775:
2774:
2772:
2771:
2766:
2761:
2756:
2751:
2746:
2741:
2736:
2730:
2728:
2724:
2723:
2721:
2720:
2715:
2714:
2713:
2703:
2698:
2693:
2688:
2683:
2678:
2672:
2670:
2666:
2665:
2663:
2662:
2657:
2651:
2649:
2642:
2635:
2634:
2623:
2622:
2615:
2608:
2600:
2594:
2593:
2588:
2586:D-Bus Tutorial
2583:
2577:
2572:
2564:
2563:External links
2561:
2559:
2558:
2533:
2511:
2485:
2463:
2437:
2419:
2401:
2379:
2350:
2328:
2302:
2274:
2245:
2220:
2195:
2177:Seigo, Aaron.
2169:
2140:
2121:
2096:
2065:
2037:
2006:
1981:
1890:
1839:
1818:
1794:
1764:
1738:
1716:
1691:
1666:
1638:
1621:"Get on D-BUS"
1606:
1577:
1512:
1445:
1428:
1408:
1397:
1376:
1354:
1352:
1349:
1347:
1346:
1341:
1336:
1331:
1326:
1321:
1316:
1311:
1306:
1300:
1299:
1298:
1282:
1279:
1250:
1247:
1202:
1199:
1178:
1175:
1146:
1143:
1129:
1126:
1124:
1121:
1091:NetworkManager
1013:
1010:
904:
897:
896:
888:
881:
880:
879:
878:
877:
876:
875:
846:daemon process
830:
803:
800:
776:
775:
769:
740:method of the
713:
710:
689:
688:
682:
672:
662:
532:
529:
477:
474:
472:
469:
461:word processor
430:
429:
422:
387:
386:
381:
374:
373:
369:
362:
361:
360:
359:
358:
317:
314:
247:
246:
229:
225:
224:
214:
208:
207:
205:
204:
199:
190:
188:
182:
181:
172:
168:
167:
165:Cross-platform
162:
156:
155:
150:
146:
145:
143:
142:
119:
117:
111:
110:
107:
106:
93:
91:
85:
84:
71:
69:
67:Stable release
63:
62:
59:
58:
45:
41:
40:
35:
15:
9:
6:
4:
3:
2:
3247:
3236:
3233:
3231:
3228:
3226:
3223:
3221:
3218:
3216:
3213:
3211:
3208:
3206:
3205:C++ libraries
3203:
3201:
3198:
3197:
3195:
3180:
3177:
3175:
3172:
3170:
3167:
3165:
3162:
3161:
3159:
3157:
3152:
3148:
3142:
3139:
3137:
3134:
3132:
3129:
3127:
3124:
3122:
3119:
3116:
3113:
3111:
3108:
3106:
3103:
3101:
3098:
3096:
3093:
3091:
3088:
3086:
3083:
3081:
3078:
3076:
3073:
3071:
3068:
3067:
3065:
3063:
3058:
3054:
3046:
3043:
3041:
3038:
3037:
3035:
3033:
3030:
3028:
3027:Shared memory
3025:
3023:
3020:
3018:
3015:
3013:
3010:
3008:
3005:
3003:
3000:
2998:
2995:
2993:
2990:
2988:
2985:
2984:
2982:
2978:
2974:
2970:
2966:
2961:
2957:
2950:
2945:
2943:
2938:
2936:
2931:
2930:
2927:
2915:
2912:
2910:
2907:
2906:
2904:
2900:
2894:
2891:
2889:
2886:
2884:
2881:
2880:
2878:
2876:
2872:
2866:
2863:
2861:
2858:
2856:
2853:
2851:
2848:
2846:
2843:
2841:
2838:
2836:
2833:
2831:
2828:
2826:
2823:
2821:
2818:
2816:
2813:
2811:
2808:
2806:
2803:
2801:
2798:
2797:
2795:
2793:
2789:
2784:
2770:
2767:
2765:
2762:
2760:
2757:
2755:
2752:
2750:
2747:
2745:
2742:
2740:
2737:
2735:
2732:
2731:
2729:
2725:
2719:
2716:
2712:
2709:
2708:
2707:
2704:
2702:
2699:
2697:
2694:
2692:
2689:
2687:
2684:
2682:
2679:
2677:
2674:
2673:
2671:
2667:
2661:
2658:
2656:
2653:
2652:
2650:
2646:
2643:
2640:
2636:
2632:
2628:
2621:
2616:
2614:
2609:
2607:
2602:
2601:
2598:
2592:
2591:DBus Overview
2589:
2587:
2584:
2581:
2578:
2576:
2573:
2570:
2567:
2566:
2547:
2543:
2537:
2529:
2525:
2521:
2515:
2500:
2496:
2489:
2481:
2477:
2473:
2467:
2452:
2448:
2441:
2434:. 2014-11-04.
2433:
2429:
2423:
2416:. 2014-01-13.
2415:
2411:
2405:
2397:
2396:systemd-devel
2393:
2389:
2383:
2368:
2364:
2357:
2355:
2346:
2345:systemd-devel
2342:
2338:
2332:
2316:
2312:
2306:
2299:
2288:
2284:
2278:
2271:
2259:
2255:
2249:
2234:
2230:
2224:
2217:
2206:
2199:
2184:
2180:
2173:
2158:
2154:
2147:
2145:
2136:
2132:
2125:
2110:
2106:
2100:
2093:
2082:
2078:
2072:
2070:
2062:
2051:
2047:
2041:
2026:
2025:
2024:Linux Journal
2020:
2013:
2011:
2003:
1992:
1985:
1970:
1963:
1961:
1959:
1957:
1955:
1953:
1951:
1949:
1947:
1945:
1943:
1941:
1939:
1937:
1935:
1933:
1931:
1929:
1927:
1925:
1923:
1921:
1919:
1917:
1915:
1913:
1911:
1909:
1907:
1905:
1903:
1901:
1899:
1897:
1895:
1879:
1875:
1868:
1866:
1864:
1862:
1860:
1858:
1856:
1854:
1852:
1850:
1848:
1846:
1844:
1829:
1822:
1808:
1804:
1798:
1791:
1779:
1775:
1768:
1761:
1749:
1742:
1727:
1720:
1705:
1701:
1695:
1680:
1676:
1670:
1655:
1651:
1645:
1643:
1626:
1622:
1615:
1613:
1611:
1603:
1592:
1588:
1581:
1566:
1562:
1555:
1553:
1551:
1549:
1547:
1545:
1543:
1541:
1539:
1537:
1535:
1533:
1531:
1529:
1527:
1525:
1523:
1521:
1519:
1517:
1501:
1497:
1490:
1488:
1486:
1484:
1482:
1480:
1478:
1476:
1474:
1472:
1470:
1468:
1466:
1464:
1462:
1460:
1458:
1456:
1454:
1452:
1450:
1442:
1431:
1429:9781593275679
1425:
1421:
1420:
1412:
1406:
1401:
1386:
1380:
1365:
1359:
1355:
1345:
1342:
1340:
1337:
1335:
1332:
1330:
1327:
1325:
1322:
1320:
1317:
1315:
1312:
1310:
1307:
1305:
1302:
1301:
1296:
1285:
1278:
1276:
1272:
1268:
1264:
1260:
1256:
1246:
1244:
1240:
1235:
1231:
1227:
1223:
1216:
1207:
1198:
1196:
1193:, the sd-bus
1192:
1188:
1184:
1181:In 2013, the
1174:
1172:
1168:
1164:
1160:
1156:
1152:
1142:
1139:
1135:
1120:
1118:
1114:
1110:
1104:
1100:
1096:
1092:
1087:
1085:
1080:
1078:
1074:
1070:
1066:
1062:
1058:
1054:
1050:
1046:
1038:
1029:
1025:
1023:
1019:
1009:
1007:
1003:
999:
994:
986:
978:
968:
959:
949:
945:
939:
937:
933:
901:
885:
873:
867:
857:
851:
847:
835:
831:
823:
817:
816:wire protocol
813:
809:
808:
807:
799:
797:
796:wire protocol
792:
790:
786:
785:serialization
782:
773:
770:
767:
763:
759:
758:
757:
752:) in the bus.
734:
730:
728:
724:
719:
709:
707:
683:
680:
673:
670:
663:
657:
656:
655:
653:
652:introspection
647:
643:
641:
637:
629:
628:Java language
624:
619:
615:
609:
605:
597:
593:
589:
584:
581:
577:
573:
569:
560:
556:
554:
550:
542:
539:
528:
524:
518:
513:
510:
504:
498:
493:
487:
483:
468:
466:
462:
458:
454:
449:
447:
443:
439:
434:
427:
423:
420:
416:
412:
408:
407:
406:
403:
400:
397:
378:
366:
357:
355:
351:
347:
343:
339:
335:
331:
327:
323:
313:
311:
307:
303:
299:
294:
292:
288:
284:
281:
277:
273:
269:
265:
261:
257:
253:
244:
230:
226:
222:
218:
215:
213:
209:
203:
200:
198:
195:
192:
191:
189:
187:
183:
180:
176:
173:
169:
166:
163:
161:
157:
154:
151:
147:
140:
135:
121:
120:
118:
116:
112:
108:
92:
90:
86:
70:
68:
64:
60:
46:
42:
39:
36:
34:
30:
22:
3163:
3084:
3070:Apple events
2738:
2706:X.Org Server
2549:. Retrieved
2545:
2536:
2514:
2502:. Retrieved
2488:
2480:linux-kernel
2479:
2466:
2454:. Retrieved
2440:
2422:
2404:
2395:
2382:
2370:. Retrieved
2344:
2331:
2319:. Retrieved
2315:the original
2305:
2297:
2290:. Retrieved
2286:
2277:
2268:
2261:. Retrieved
2257:
2248:
2236:. Retrieved
2232:
2223:
2215:
2208:. Retrieved
2198:
2186:. Retrieved
2183:KDE TechBase
2182:
2172:
2160:. Retrieved
2156:
2134:
2124:
2112:. Retrieved
2108:
2099:
2091:
2084:. Retrieved
2080:
2060:
2053:. Retrieved
2049:
2040:
2028:. Retrieved
2022:
2001:
1994:. Retrieved
1984:
1972:. Retrieved
1881:. Retrieved
1877:
1831:. Retrieved
1821:
1810:. Retrieved
1806:
1797:
1788:
1781:. Retrieved
1777:
1767:
1758:
1751:. Retrieved
1741:
1729:. Retrieved
1719:
1707:. Retrieved
1703:
1694:
1682:. Retrieved
1678:
1669:
1657:. Retrieved
1653:
1629:. Retrieved
1625:the original
1601:
1594:. Retrieved
1590:
1580:
1568:. Retrieved
1564:
1503:. Retrieved
1499:
1439:
1433:. Retrieved
1418:
1411:
1400:
1388:. Retrieved
1379:
1367:. Retrieved
1358:
1252:
1230:Linux kernel
1221:
1220:
1180:
1167:MATE Desktop
1153:included in
1148:
1133:
1131:
1088:
1081:
1042:
1015:
992:
987:
979:
966:
960:
943:
940:
920:
869:
863:
853:
849:
819:
805:
793:
780:
777:
765:
755:
717:
715:
705:
690:
648:
644:
639:
635:
622:
620:
616:
591:
587:
585:
579:
575:
571:
567:
565:
534:
531:Object model
525:
516:
514:
508:
505:
496:
494:
481:
479:
457:office suite
450:
435:
431:
425:
410:
404:
396:software-bus
393:
354:applications
349:
320:D-Bus is an
319:
295:
255:
254:(short for "
251:
250:
235:.freedesktop
126:.freedesktop
33:Developer(s)
2114:18 February
1828:"D-Bus FAQ"
1760:particular.
1390:30 December
1369:30 December
1151:GIO streams
1141:confusion.
1033:dbus-daemon
989:dbus-daemon
983:dbus-daemon
975:dbus-daemon
967:bus address
963:dbus-daemon
936:TCP sockets
907:dbus-daemon
865:dbus-broker
855:dbus-daemon
839:dbus-daemon
781:wire format
760:One-to-one
708:bus names.
608:domain name
592:object path
465:spreadsheet
426:session bus
399:abstraction
256:Desktop Bus
171:Predecessor
27:Desktop Bus
3194:Categories
3156:frameworks
3105:OpenBinder
3007:Named pipe
2875:Frameworks
2815:Fontconfig
2764:pkg-config
2759:PackageKit
2655:PulseAudio
2641:components
2372:21 October
2321:31 January
2292:21 October
2238:3 November
2210:21 October
2188:3 November
2162:3 November
2086:29 October
2055:29 October
2030:14 October
1996:21 October
1974:21 October
1883:22 October
1833:2024-08-06
1825:Answer 7.
1812:2023-08-24
1790:platforms.
1753:21 October
1731:21 October
1679:Qt Project
1631:3 November
1570:22 October
1505:22 October
1435:2016-11-07
1351:References
1234:namespaces
1211:/dev/kdbus
1099:PulseAudio
948:filesystem
844:a special
829:processes.
789:marshaling
727:marshaling
706:well-known
679:properties
555:language.
411:system bus
274:developer
149:Written in
115:Repository
101:2023-08-21
79:2023-09-01
3210:Collabora
3062:standards
3057:Protocols
3022:Semaphore
2893:Telepathy
2820:GStreamer
2800:AppStream
2792:Libraries
2551:5 January
2263:5 January
1783:3 October
1709:4 January
1659:4 January
1596:3 October
1108:systemctl
956:key=value
802:Internals
766:exception
636:implement
623:interface
604:namespace
476:Bus model
453:framework
442:Bluetooth
409:a single
264:processes
241:/Software
223: 2.1
3169:libevent
3036:Sockets
2902:Meetings
2835:HarfBuzz
2825:libinput
2810:FreeType
2696:Plymouth
2669:Graphics
2660:PipeWire
2528:Archived
2456:11 April
2157:KDE News
1281:See also
1255:bindings
914:process.
738:SetFoo()
718:messages
612:/org/kde
536:by some
482:bus name
350:services
316:Overview
285:such as
258:") is a
3141:XML-RPC
3110:Sun RPC
3040:Network
2980:Methods
2969:threads
2883:CppUnit
2845:Poppler
2830:Mesa 3D
2769:Systemd
2744:Flatpak
2701:Wayland
2691:nouveau
2686:Enchant
2524:YouTube
2504:29 June
2499:LWN.net
2451:LWN.net
2432:LWN.net
2414:LWN.net
2367:LWN.net
1650:"gdbus"
1191:systemd
1183:systemd
1134:libdbus
1128:libdbus
1103:systemd
1061:Windows
1018:Red Hat
1006:systemd
971:libdbus
944:address
928:libdbus
923:libdbus
911:libdbus
891:libdbus
860:libdbus
826:libdbus
821:libdbus
812:library
580:members
576:signals
572:methods
568:objects
545:libdbus
501::1.1553
419:daemons
310:systemd
228:Website
212:License
99: (
77: (
54:2006-11
52: (
38:Red Hat
3131:Thrift
3032:Signal
2850:Swfdec
2749:Kmscon
2718:Xephyr
2711:Glamor
2676:Compiz
1684:1 June
1426:
1177:sd-bus
1117:Polkit
1113:logind
1073:Bonobo
1002:setuid
909:using
871:sd-bus
588:export
463:and a
336:Linux
217:GPLv2+
197:daemon
124:gitlab
3174:SIMPL
3164:D-Bus
3115:POSIX
3085:D-Bus
3080:CORBA
2840:Pango
2805:Cairo
2739:D-Bus
2734:Avahi
2727:Other
2648:Sound
2569:D-Bus
1344:XPCOM
1222:kdbus
1215:devfs
1213:(cf.
1201:kdbus
1163:GNOME
1145:GDBus
1095:BlueZ
1069:GNOME
1057:POSIX
1053:KDE 4
750::1.14
446:Skype
342:CORBA
330:GNOME
287:GNOME
280:Linux
272:GNOME
252:D-Bus
243:/dbus
239:/wiki
175:CORBA
132:/dbus
130:/dbus
3179:LINX
3154:and
3136:TIPC
3126:REST
3121:SOAP
3075:COM+
3060:and
3045:Unix
3017:Pipe
2987:File
2965:Data
2754:luit
2553:2015
2506:2015
2458:2014
2374:2015
2323:2019
2294:2015
2265:2015
2240:2015
2212:2015
2190:2015
2164:2015
2135:dbus
2116:2016
2088:2015
2057:2015
2032:2014
1998:2015
1976:2015
1885:2015
1785:2015
1755:2015
1733:2015
1711:2015
1686:2015
1661:2015
1633:2015
1598:2015
1572:2015
1507:2015
1424:ISBN
1392:2023
1371:2023
1275:Perl
1273:and
1271:Rust
1267:Ruby
1259:Java
1239:BUS1
1171:Xfce
1169:and
1161:and
1159:GTK+
1155:GLib
1077:Xfce
1045:DCOP
1031:The
921:The
748:(or
640:type
551:, a
509:owns
346:DCOP
344:and
332:and
289:and
237:.org
186:Type
179:DCOP
134:.git
128:.org
21:Dbus
3100:ICE
3095:DCE
3090:DDS
2971:in
2865:Xft
2860:XCB
2681:DRI
1195:API
1187:BMW
1049:KDE
1022:API
723:RPC
669:XML
621:An
614:).
444:or
334:KDE
312:).
291:KDE
233:www
221:AFL
219:or
194:IPC
3196::
2639:OS
2544:.
2522:.
2497:.
2478:.
2449:.
2430:.
2412:.
2394:.
2365:.
2353:^
2343:.
2296:.
2285:.
2267:.
2256:.
2231:.
2214:.
2181:.
2155:.
2143:^
2133:.
2107:.
2090:.
2079:.
2068:^
2059:.
2048:.
2021:.
2009:^
2000:.
1893:^
1876:.
1842:^
1805:.
1787:.
1776:.
1757:.
1702:.
1677:.
1652:.
1641:^
1609:^
1600:.
1589:.
1563:.
1515:^
1498:.
1448:^
1438:.
1277:.
1269:,
1265:,
1263:C#
1261:,
1245:.
1217:).
1079:.
1065:Qt
938:.
837:A
791:.
729:.
642:.
492:.
467:.
424:a
306:Qt
293:.
2948:e
2941:t
2934:v
2619:e
2612:t
2605:v
2555:.
2508:.
2460:.
2376:.
2325:.
2242:.
2192:.
2166:.
2118:.
2034:.
1978:.
1887:.
1836:.
1815:.
1735:.
1713:.
1688:.
1663:.
1635:.
1574:.
1509:.
1441:.
1394:.
1373:.
1039:.
874:.
549:C
421:)
340:(
153:C
103:)
81:)
56:)
23:.
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.