桌面環境提供可移動硬件設備的即插即用,是桌面環境能夠普及應用的條件之一,作為普通用戶,很是希望在對系統設備管理不是很熟悉的情況下,桌面系統能夠自動的管理自己的一些硬件。插入一個usb設備,馬上在桌面上能看到“發現新硬件”並且通過鼠標就能使用,無疑會增加系統的可操作性。
據我所知,桌面環境實現硬件即插即用實在非標准組織FreeDesktop的倡導下,逐步完善成熟的,桌面環境實現硬件即插即用除了系統底層,和以下兩個軟件密不可分,一個是hal,一個是dbus,在FreeDesktop上wiki上,有這兩個軟件的詳細說明。
hal這個軟件包的主要功能是對硬件信息進行打包,根據hal所提供的一些硬件配置文件,對系統中的硬件進行重新封裝,形成一個“設備對象”,對上層軟件系統提供了一套統一的接口,進而實現硬件設備的控制,例如自動加載,設備卸載以及一些設備訪問的控制。
dbus是一種消息傳遞機制,在桌面系統中,dbus可以作為一種橋梁,來實現應用程序之間,應用程序和系統服務之間,以及系統服務之間的消息傳遞通道。在kde4的實現中,已經開始用dbus來替代kde3中的消息傳遞機制了。dbus的作用是顯而易見的。同理,dbus也可以作為hal和kde應用程序之間消息傳遞的作用。
FreeBSD+kde能夠實現桌面環境硬件設備的即插即用,離不開以上兩項技術的支持,而且最為關鍵的是FreeBSD已經port了這兩個軟件,在這個基礎上,kde 3.5.6可以實現dbus的內建支持,而FreeBSD的kde 3.5.6確實已經加入了dbus的支持。