D-Bus
D-Bus est une des premières spécifications Freedesktop. D-Bus fonctionne donc avec la plupart des applications Gnome et KDE en envoyant des messages
D-Bus est actuellement un démon permettant la communication inter-processus. Il y a 2 démons :
- le démon système : il est lancé avec les privilèges du système et il ne peut y en avoir qu'un qui fonctionne même sur un système multi-utilisateur.
- le démon de session : chaque session utilisateur a son propre démon qui fonctionne et n'interfère pas avec la session d'un autre utilisateur.
Un exemple : HAL (Hardware Abstraction Layer) qui remonte les événements au système tel que le branchement d'une clef usb par exemple, par le biais du démon système.
Utilisation
L'outil graphique d-feet permet de visualiser et d'envoyer des messages D-Bus.
Exemple d'utilisation en ligne de commande :
- Changer la luminosité de l'écran à 50% :
$ dbus-send --session --dest="org.freedesktop.PowerManagement" \ /org/freedesktop/PowerManagement/Backlight org.freedesktop.PowerManagement.Backlight.SetBrightness uint32:50
- Récupérer la luminosité de l'écran :
$ dbus-send --session --print-reply --dest="org.freedesktop.PowerManagement" \ /org/freedesktop/PowerManagement/Backlight org.freedesktop.PowerManagement.Backlight.GetBrightness
- Observer les signaux passant sur le bus :
$ dbus-monitor --session "type='signal',interface='org.freedesktop.PowerManagement.Backlight'"
- Mettre l'ordinateur en veille :
$ dbus-send --session --print-reply --dest="org.freedesktop.PowerManagement" \ /org/freedesktop/PowerManagement org.freedesktop.PowerManagement.Suspend
Références
- https://www.linuxjournal.com/article/7744 (en) – Présentation de DBus plutôt orientée pour les développeurs
- dbus-explorer (fr) – autre outil graphique (qui pourra aussi aider les développeurs)
- Découvertes et expérimentation avec D-Bus (fr) – Un article/Tutoriel sur D-Bus.
Contributeurs : Id2ndR, Masterfoon