An installation nightmare story
[Posted April 16, 2003 by corbet]
The installation nightmare story was a fairly common feature of the
late-90's press. Some reporter who had never tried to install any sort of
operating system before would write about his or her horrifying week trying
to get Linux running on some system or other. The conclusion, invariably,
was that Linux wasn't ready for the masses.
You don't often see that sort of story anymore; the mainstream
distributions have become ridiculously easy to install. And, if you don't
want to
worry about installation, plenty of companies will happily sell you a
system with Linux already on it.
But that doesn't mean that all the problems have now been solved...
Your editor recently needed to replace a failing inkjet printer. Some time
spent wandering the detailed information at LinuxPrinting.org turned up a
reasonably inexpensive model which, according to the information there,
"works perfectly." That is music to a Linux user's ears, of course. So, a
quick trip and some minor credit card damage later, the printer sat on the
table, ready to start burning through expensive ink cartridges.
I'll not inflict upon you the details of what it took to make this printer
work on an almost-current Red Hat Linux system. In general terms, it
required building new versions of CUPS and gimp-print from source, editing
the PPD file by hand, and several other hacks. It took a couple days of
effort. Now, your editor has been making printers work on Unix (and other)
systems for a good twenty years. Printers have always been a pain.
But this was worse than many.
It should be pointed out that, in a lot of ways, things are better than
they have ever been. It is possible to put an inexpensive printer onto a
Linux box, get top-quality output in all of the modes that the printer
supports, and make it available over the network. Only a few years
ago, doing this required hacking on filter scripts and learning more about
strange ghostscript options than one would ever want to know. Now, most of
the hard work has been done; it's mostly a matter of getting the right
software running in the right place. The people working on Linux printing
have done an impressive amount of great work.
But it's not yet enough. Users should not have to rip out their print
system by the roots and rebuild it from source just to plug in an
off-the-shelf printer. They should not have to navigate a complex array of
software with names like foomatic, gimp-print, ghostscript, etc. and figure
out how it all goes together. They should not even have to upgrade to a
bleeding-edge distribution to make their printer work.
Windows users don't have to go through that sort of process. Of course,
they have the advantage that their new printer comes with a CD containing
the software needed to make that printer work. Linux users do not (yet!)
receive any such courtesy. So we have to come up with a different way.
Some of the work has been done. The PPD files used by modern free printing
systems contain much of the information needed to present an interface to
the user. What's missing is a description of how to drive the printer. We
need a means of describing printers in data, so that support for any
printer is just a text file away. This was done for terminals a good
twenty years ago; getting vi to work on a terminal was just a
matter of setting an environment variable. Printers are harder to describe
than ASCII terminals, but we've solved a lot of hard problems over the
years.
Imagine a world where any Linux user can go to the store and buy a nice
looking printer, along with plenty of spare flesh-tone, DMCA-protected ink
cartridges. The system, once it notices that a new printer has been
plugged in, goes out on the net and grabs the right description files. And
the printer just works. That would be a system that is ready for
desktop and home users. And it's something that we should be able to
achieve.
(
Log in to post comments)