]> pere.pagekite.me Git - homepage.git/commitdiff
New blog post.
authorPetter Reinholdtsen <pere@hungry.com>
Mon, 21 Jan 2013 10:47:58 +0000 (10:47 +0000)
committerPetter Reinholdtsen <pere@hungry.com>
Mon, 21 Jan 2013 10:47:58 +0000 (10:47 +0000)
blog/data/2013-01-21-hw-autoinstall.txt [new file with mode: 0644]

diff --git a/blog/data/2013-01-21-hw-autoinstall.txt b/blog/data/2013-01-21-hw-autoinstall.txt
new file mode 100644 (file)
index 0000000..6983fb0
--- /dev/null
@@ -0,0 +1,60 @@
+Title: First prototype ready making hardware easier to use in Debian
+Tags: english, debian
+Date: 2013-01-21 12:00
+
+<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).</li>
+
+<li>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.</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 Kernel expose its modalias strings directly.</p>