cli-based printer configuration tool, I need some testers please?

Willem van der Walt wvdwalt at
Tue Mar 25 04:21:17 EDT 2014

I wrote, or rather started to write such a tool using the cups library 
through python.
This will end up in the kies package I wrote, but for now, I am looking 
for a few people that might be prepared to just test the software so far.
See below for more detail:
Kind regards, Willem
When one does not run a GUI, there are two ways to create/add a new print
queue to a modern Linux system.  The true command-line method mainly uses
lpadmin and IMHO some black magic for everything to work correctly.
The other method is by using the web interface to cups.  It is accessed by
going to a special web server running on port 631, e.g. lynx
This does work for adding a printer, but I find it to be a bit clunky.
There is however no place to set a default printer, anyway not when using
lynx, I think because of the lack of JavaScript support.  Even when only one
print queue is defined, it is not seen as the default unless one sets it to
the default.  This was what prompted me to look into writing something using
the cups library.

There are two programs, kies_set_default_printer and kies_add_printer.
Both are python scripts using the cups library to perform its functions.
The python-cups module needs to be installed.  It is available as a package
in most distributions.
On all the Ubuntu-based machines where I have tested the scripts, this
module was already installed.
A small program, catchkey, is required to catch the keys you press.  It is
provided with the kies package, but can be supplied separately with the two
print scripts.

Kies_set_default printer displays the queue name and allows for browsing the
queue list using the up and down arrow keys.  Pressing enter on a queue name
sets it as the default.
The message: "is the default" is displayed next to the default queue name.
By pressing the d key, the queue is removed.
Pressing q exits the program.

Kies_add_printer displays a list of devices with the info and location all
on a line.  This list can also be navigated using the up and down arrows. 
Pressing q at this point will also exit the program without adding a
For local printers, the device need to be plugged in and switched on for the
software to show up an identifiable printer.
By pressing enter on one of these lines takes one to a list of printer make
and model entries for the driver.
The make is extracted from the info available on the device list, but I
could not get the model to be also automatically selected.
Pressing slash asks for a search string to help one quickly locate the
correct driver.  the n key is search next.  This is required because some of
the printer makes as provided, has a long list of drivers. HP has more than
3000.  Once on the correct driver, press enter to select it.
One is then prompted to edit the queue name.  A suggested queue name is
constructed from the printer information data extracted from the provided
device info.
If you are happy with that name, just press enter to accept, or edit it to
your liking.
The print queue will now be created, enabled and set to accept print jobs.

More information about the Speakup mailing list