- <item>
- <title>First prototype ready making hardware easier to use in Debian</title>
- <link>http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</link>
- <guid isPermaLink="true">http://people.skolelinux.org/pere/blog/First_prototype_ready_making_hardware_easier_to_use_in_Debian.html</guid>
- <pubDate>Mon, 21 Jan 2013 12:00:00 +0100</pubDate>
- <description><p>Early this month I set out to try to
-<a href="http://people.skolelinux.org/pere/blog/Lets_make_hardware_dongles_easier_to_use_in_Debian.html">improve
-the Debian support for pluggable hardware devices</a>. Now my
-prototype is working, and it is ready for a larger audience. To test
-it, fetch the
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/">source
-from the Debian Edu subversion repository</a>, build and install the
-package. You might have to log out and in again activate the
-autostart script.</p>
-
-<p>The design is simple:</p>
-
-<ul>
-
-<li>Add desktop entry in /usr/share/autostart/ causing a program
-hw-support-handlerd to start when the user log in.</li>
-
-<li>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.</li>
-
-<li>When new hardware is inserted, look up the hardware modalias in
-the APT database, a database
-<a href="http://anonscm.debian.org/viewvc/debian-edu/trunk/src/hw-support-handler/modaliases?view=markup">available
-via HTTP</a> and a database available as part of the package.</li>
-
-<li>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.</li>
-
-<li>If the user click on the 'install package now' button, ask
-aptdaemon via the PackageKit API to install the requrired package.</li>
-
-<li>aptdaemon ask for root password or sudo password, and install the
-package while showing progress information in a window.</li>
-
-</ul>
-
-<p>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.</p>
-
-<p><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-1-notification.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-2-password.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-3-dependencies.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-4-installing.png">
-<br><img src="http://people.skolelinux.org/pere/blog/images/2013-01-21-hw-support-5-installing-details.png" width="70%"></p>
-
-<p>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.</p>
-
-<p><strong>Update 2013-01-21 16:50</strong>: Due to popular demand,
-here is the command required to check out and build the source: Use
-'<tt>svn checkout
-svn://svn.debian.org/debian-edu/trunk/src/hw-support-handler/; cd
-hw-support-handler; debuild</tt>'. If you lack debuild, install the
-devscripts package.</p>
-
-<p><strong>Update 2013-01-23 12:00</strong>: The project is now
-renamed to Isenkram and the source moved from the Debian Edu
-subversion repository to a Debian collab-maint git repository. See
-<a href="http://people.skolelinux.org/pere/blog/Welcome_to_the_world__Isenkram_.html">build
-instructions</a> for details.</p>
-</description>
- </item>
-