Yi-Fan Lee

D-Bus 是 freedesktop.org 旗下的專案之一,主要的功能是作為 IPC (Inter-Process Communication),讓多個程式彼此進行資料交流。與其他 IPC 不同,D-Bus 像是一個獨立的 Service;這個設計讓程式可以不必使用多個 thread 等方式交換訊息,可以讓相關程式的設計更為簡潔

D-Bus 本身分為兩大部分:其中一個是屬於系統的 Daemon,又稱為 system bus;其生命週期與系統等長,主要是用來處理系統相關的運作,像是新硬體的加入等。另一個是屬於使用者的 Daemon,稱為 user bus 或是 session bus;其生命始於使用者登入,結束於使用者登出。當初 user bus 是供使用者桌面環境處理使用者輸入

D-Bus 本身支援 socket,除了本身機器之外,也可以透過 TCP 與其他機器上的 service 互動。但是因為 D-Bus 本身不支援加解密,跨機器互動最好要想考慮到資訊的安全等

以下章節將對 D-Bus 有更詳細的說明