lp on bonfire (Printing Test Day)

October 30th, 2013

test-day-100Next Tuesday (5th of November — should be easy to remember) is the Printing Test Day for Fedora 20. Let’s all try to break printing at the same time in strange and unusual ways!

If you have access to a printer that day, take a look at the Test Day page for instructions on the sorts of things to try. This time we’ll be using the Testday App for submitting results rather than making people have to edit the wiki page.

Read the rest of this entry

CUPS: adding support for system journal

October 25th, 2013

I’ve added a patch to CUPS in Fedora rawhide which uses the system journal for logging. I did this after watching Lennart’s devconf talk, which reminded me how awesome the systemd Journal is.

The changes are very simple at the moment: any log message relating to a particular job has a field “CUPS_JOB_ID” to say which one. Additionally, page log messages include the page number as “CUPS_PAGE_NUMBER”. This support is in rawhide, starting with cups-1.7.0-1.fc21.

To enable it, adjust /etc/cups/cups-files.conf and set “ErrorLog journal”. You can also set AccessLog and PageLog to “journal”.

Read the rest of this entry

Did someone say… “Alpha”?

October 11th, 2013

installdvdFedora 20 Alpha has been released, and I’d been putting off installing it because I know how troublesome an alpha release can be. This one, though, is the best alpha release of Fedora I can remember!

It actually seems incrementally better than Fedora 19, rather than the traditional break-everything-and-fix-it-again-later alpha releases we’ve seen in the past.

Great job!

Some benefits of printerd

May 23rd, 2012

Recently I talked about a new print spooler under development, printerd. In that post I mentioned briefly how printerd is structured, but did not go very deeply into why or what the project is for.

Firstly, printerd is experimental and is very far from being a functional print spooler. It doesn’t yet run any filters, for instance, and has no backends of its own to transport jobs to devices. So far it is just a test of what a Linux print spooler would look like if it were written today.

There are several problems printerd aims to solve. Some of the solutions come automatically from implementing it as a polkit-enabled D-Bus system service.  I mentioned one of them in the original post about printer: the fact of having an asynchronous client API. All D-Bus services can be used asynchronously thanks to the D-Bus client library. This approach means the print dialog will be able to use printerd without blocking (and without having to start another thread to use it).

Read the rest of this entry

Announcing printerd

May 10th, 2012

For the last few weeks I’ve been working on an experimental new print spooler called printerd. It was designed in collaboration with Richard Hughes and it aims to be a modern print spooler for Linux.

It is a polkit-enabled D-Bus system service, written using the GLib object system. Although modelled on concepts from IPP (Internet Printing Protocol), printerd is not in itself an IPP server. Its only interface is D-Bus, although the aim is to be able to implement an IPP server on top of the D-Bus API as a separate process. Having a D-Bus interface means that applications wanting to print automatically get to use printerd asynchronously.

As a design decision, the range of input formats accepted by printerd will be very limited: essentially only PDF. The existing CUPS drivers and backends will be compatible with printerd.

There isn’t much written yet aside from the basic framework and a very simple command line tool.

Feel free to take a look around: http://github.com/hughsie/printerd

Read the rest of this entry