X-Git-Url: http://pere.pagekite.me/gitweb/homepage.git/blobdiff_plain/d3fbd9444b0cfd17804efa2992f361e6d31fbd0f..a12e90a81cb1ae182e5713cc180abad737b6cfef:/blog/archive/2013/01/index.html diff --git a/blog/archive/2013/01/index.html b/blog/archive/2013/01/index.html index 0901bb4f12..ba62d8fa13 100644 --- a/blog/archive/2013/01/index.html +++ b/blog/archive/2013/01/index.html @@ -21,6 +21,111 @@

Entries from January 2013.

+
+
+ Lets make hardware dongles easier to use in Debian +
+
+ 9th January 2013 +
+
+

One thing that annoys me with Debian and Linux distributions in +general, is that there is a great package management system with the +ability to automatically install software packages by downloading them +from the distribution mirrors, but no way to get it to automatically +install the packages I need to use the hardware I plug into my +machine. Even if the package to use it is easily available from the +Linux distribution. When I plug in a LEGO Mindstorms NXT, it could +suggest to automatically install the python-nxt, nbc and t2n packages +I need to talk to it. When I plug in a Yubikey, it could propose the +yubikey-personalization package. The information required to do this +is available, but no-one have pulled all the pieces together.

+ +

Many years ago, I proposed to +use +the discover subsystem to implement this. The idea is fairly +simple: + +

+ +

I am not sure what the best way to implement this is, but my +initial idea was to use dbus events to discover new hardware, the +discover database to find packages and +PackageKit to install +packages.

+ +

Yesterday, I found time to try to implement this idea, and the +draft package is now checked into +the +Debian Edu subversion repository. In the process, I updated the +discover-data +package to map the USB ids of LEGO Mindstorms and Yubikey devices to +the relevant packages in Debian, and uploaded a new version +2.2013.01.09 to unstable. I also discovered that the current +discover +package in Debian no longer discovered any USB devices, because +/proc/bus/usb/devices is no longer present. I ported it to use +libusb as a fall back option to get it working. The fixed package +version 2.1.2-6 is now in experimental (didn't upload it to unstable +because of the freeze).

+ +

With this prototype in place, I can insert my Yubikey, and get this +desktop notification to show up (only once, the first time it is +inserted):

+ +

+ +

For this prototype to be really useful, some way to automatically +install the proposed packages by pressing the "Please install +program(s)" button should to be implemented.

+ +

If this idea seem useful to you, and you want to help make it +happen, please help me update the discover-data database with mappings +from hardware to Debian packages. Check if 'discover-pkginstall -l' +list the package you would like to have installed when a given +hardware device is inserted into your computer, and report bugs using +reportbug if it isn't. Or, if you know of a better way to provide +such mapping, please let me know.

+ +

This prototype need more work, and there are several questions that +should be considered before it is ready for production use. Is dbus +the correct way to detect new hardware? At the moment I look for HAL +dbus events on the system bus, because that is the events I could see +on my Debian Squeeze KDE desktop. Are there better events to use? +How should the user be notified? Is the desktop notification +mechanism the best option, or should the background daemon raise a +popup instead? How should packages be installed? When should they +not be installed?

+ +

If you want to help getting such feature implemented in Debian, +please send me an email. :)

+ +
+
+ + + Tags: debian, english. + + +
+
+
+
New IRC channel for LEGO designers using Debian @@ -177,7 +282,7 @@ siste måneden.

  • 2013
  • @@ -327,7 +432,7 @@ siste mÃ¥neden.

  • bsa (2)
  • -
  • debian (59)
  • +
  • debian (60)
  • debian edu (118)
  • @@ -337,7 +442,7 @@ siste mÃ¥neden.

  • drivstoffpriser (4)
  • -
  • english (166)
  • +
  • english (167)
  • fiksgatami (21)