Early this month I set out to try to +improve +the Debian support for pluggable hardware devices. Now my +prototype is working, and it is ready for a larger audience. To test +it, fetch the +source +from the Debian Edu subversion repository, build and install the +package. You might have to log out and in again activate the +autostart script.
+ +The design is simple:
+ +-
+
+
- Add desktop entry in /usr/share/autostart/ causing a program +hw-support-handlerd to start when the user log in. + +
- This program listen for kernel events about new hardware (directly +from the kernel like udev does), not using HAL dbus events as I +initially did. + +
- When new hardware is inserted, look up the hardware modalias in +the APT database, a database +available +via HTTP and a database available as part of the package. + +
- If a package is mapped to the hardware in question, the package +isn't installed yet and this is the first time the hardware was +plugged in, show a desktop notification suggesting to install the +package or packages. + +
- If the user click on the 'install package now' button, ask +aptdaemon via the PackageKit API to install the requrired package. + +
- aptdaemon ask for root password or sudo password, and install the +package while showing progress information in a window. + +
I still need to come up with a better name for the system. Here +are some screen shots showing the prototype in action. First the +notification, then the password request, and finally the request to +approve all the dependencies. Sorry for the Norwegian Bokmål GUI.
+ +
+
+
+
+
The prototype still need to be improved with longer timeouts, but +is already useful. The database of hardware to package mappings also +need more work. It is currently compatible with the Ubuntu way of +storing such information in the package control file, but could be +changed to use other formats instead or in addition to the current +method. I've dropped the use of discover for this mapping, as the +modalias approach is more flexible and easier to use on Linux as long +as the Linux kernel expose its modalias strings directly.
+