Making Linux Printing as Easy as in Windows
Jonny5 writes: "In preparation for the transition from windows to a Linux based workstation, the main focus is that of peripheral compatibility. Sure Linux is rock solid stable, and has an almost totally customizable GUI, but dammit, if my hardware won't work, what's the point? ...After hearing about TurboPrint, and their claim to provide 'Printer set-up and configuration is as simple as on Windows or MacOS,' I had to rise to the challenge. LinuxLookup.com has done a full review of TurboPrint For Linux."
I use KPrint (part of KDE infrastructure) with CUPS... I dont think I could ask for much more, though admittedly I think you still have to set the thing up via the CUPS web interface.
Still, it's better than using lpr/lpq and wondering what bit of the pipeline ate your document =)
LOL - Windows isn't about making things easy to use or well- designed from a user perspective.
Always aim higher than an existing Windows solution!
A C
When users of an open source operating system are all but forced to rely on commercial products just to install a simple printer driver, there's something amiss. Does anybody know of an open source project to provide similar support?
Have you ever tried to set up a shared printer on a windows box attached to a LocalTalk network (Mac)? This is NOT easy :-(
Granted that is not the most popular case, but you've got to admit that MS didn't make that option too obvious. Those bastards. My HP 2000NT is still printing 2 pages of PS crap at the end of each printing session ONLY from the windows box (with latest drivers and 4 days watch in hand with MS/HP tech support.)
PPA -- the girl next door.
-- I feel better now. Thanks for asking.
What's wrong with this picture?
Printer set-up and configuration is as simple as on Windows or MacOS
TurboPrint for Linux comes as a tarball containing 'install' and 'uninstall' shell scripts, installation instructions, and all the binary software.
Yes, it's a command-line installer!
The default printing would be in black and white, and when I want to print in colour, I can just change the print command used by the program from 'lpr' to something like 'lpt -Ptp0'.
Yes, you have to give command line options to set printing modes every time you print with a different mode!
And yet this gets an 18 out of 20 in the review. It's amazing to me that this late in the game, there are still so many Linux-heads who just don't get it. This is not just inferior to Mac and Windows -- it's a giant quantum leap backward from where Mac has been for seventeen years and Windows for six. Real end users don't memorize command languages.
Tim
I use cups and it does all I need to do and more.
It's almost completely manageable via a web interface (the only thing I know of that isn't is setting the default printer). It integrates very nicely with samba. It uses gimpprint drivers to create nice output on newer printers.
The reviews indicates that it can use cups, but I don't yet understand what this gives me that cups doesn't do already.
Slashdot? Oh, I just read it for the articles.
And why do you think that is ? also, why do you think Linux (and most Unices) are more secure on a network than Windows ?
I agree that the Linux kernel is better designed (although to be honest I know next to nothing about the newer Windows kernels, and some supposedly knowledgeable people told me they were actually pretty good). But the biggest reason why Linux is more stable and more secure is because you, the computer-savvy user, took time to configure everything right and install servers right.
Now, if you want to make a Linux-based system that your grandma can use, you'll have to mask the concept of users vs. root with some suid installation utils, you'll have to allow everybody and their dogs to install any piece of software and insmod any driver from any vendor, you might have to slap in the equivalent of a registry to alleviate the current mess of etc files in a typical Linux fs, ...etc...
If you do all that, if you make Linux user-friendly like Windows is (supposedly, I can't even begin to comprehend its organization), then I guarantee you the resulting system will be less stable and less secure than a standard Linux distro.
The real reason why Windows is shitty is because it's designed to be used by computer idiots. I believe that if computer users were required to learn basic computer sanity, and Windows didn't have the convenience/security/stability tradeoffs it has today to make up for computer idiocy, Windows would kick any OS' butt any day. And "basic computer sanity" doesn't mean the user has to learn how to install daemons, it means "don't run executables from Joe_Sixpack@hotmail.com", just like "don't stick candy bars in the toaster" in real life : if people had that basic good sense, there would be no auto execution in Outlook, because people would find that crazy.
The next problem after printing is ironed out is the lack of a single, easy to use tool to add, temporarily disable, manage and remove fonts in any Linux setup, that makes one set of fonts (both ttf and Type 1) in a single directory available to all applications system wide, in the way that Adobe Type Manager does.
We then need CMYK capability in The Gimp. After these are in place, it will be possible to assemble a desktop publishing suite that will have mass appeal, because anyone will be able to design and publish to QuarkXpress/Photoshop/Illustrator quality, and print the results, all in a rock solid, free alternative to Windoze and OSX, without any pain.
ATH0 Bitcoin: 1DnwFLXczVZV8kLJbMYoheUrpqHesjxrSi
and this will unfortunatly probably never happen. Linux people (myself included) are generally gung ho about having multiple apis for everything. while this is good in some ways, it's awful in others. we have X, with no kind of gui standard. theres pdq (what i use), lpr (lousy imho), cups (gonna give it a spin in a bit), and this. for sound, there was oss, which i used for ever, programmed for, and everything, and now alsa, which absolutly rocks (featurewise). and these are for common, user side things. people continue to speculate what linux needs to 'win the desktop,' and the list is generally something like : apps, ms office, games.
while these would help, it'd be more helpful to people writing those if they had a standard api to write for, rather than trying to accomodate all of them. but as soon as you say 'one standard' you get the general 'one world, one os' reply. its unfortunate, really, despite how helpful it really would be.
theres nothing wrong with progress, but some coherence would provide worlds of help to developers.
just my 2 cents
I used to maintain printer drivers for Windows and OS/2, and the implementation of the print subsystem on those operating systems is one of the very few areas where I've thought the design was more elegant than any UNIX solution I've seen. I suspect this is due to the modular nature of UNIX, which in this case turns out to be a weakness.
In a nutshell, the OS/2 and Windows kernels export an interface that you write functions to when you're writing a driver. This interface covers page rendering as well as printer set-up and configuration. That means anyone who wants to render a page need only call those functions and doesn't need to worry about what printer he's sending to. Integration of feature selection into your application program is also much simpler and takes advantage of the code written by the printer driver programmer.
The down side to all this of course, that since the GUI subsystems of OS/2 and Windows ran in kernel space, a poorly written printer driver can easily crash your entire system.
Only recently have efforts been made to address the rendering side of the problem with the Xprt extension to XF86 and the toolbox-level gnome-print library (I assume the KDE people have something similar as well.) While these efforts are good, a printer manufacturer is not likely to put the effort into supporting all of them. This means that we will continue to write our own rendering code to render into PostScript.
Ghostscript seems to have become the de-facto printer driver for Linux and the only real complaints I have about it are that it's much harder to integrate printer features into your program when Ghostscript is in use. I ended up trying to get around these problems by writing an incomplete PPD parser for the printers I was working with. This parser generated information files about the printer features and a lpr replacement program would present these features to the user. We did a pretty good job of making a GUI installer and front-end for printer feature selection, but it only supported our printers.
Technically it wouldn't be a very difficult problem to address these issues and make everything seamless for the programmer and the users. Politically it's rather more difficult though. This is one area where you're going to need a single standard if you want the printer manufacturers to write drivers for you. There needs to be one render interface, ideally at the X level so the toolkits can make use of it and one feature communication interface so that various programs can query for printer features. Queueing and spooling is already pretty well addressed.
I'm trying to teach myself to set people on fire with my mind... Is it hot in here?
You can install Ghostscript on the Windows machine to automate that process, so that you can print to any Windows printer as if it were Postscript-capable.
The real problem and reason why printing in Linux, esp. from the GUI, is a pain in the behind is that no distribution has a working system-wide font configuration mechanism where X and gs can painlessly access the same fonts (Recently I stated that Debian does, but it still has problems with font names with spaces in them, rendering it practically useless because many common truetype fonts have spaces in them) and the lack of a working printing toolkit. I don't know about libgnomeprint, but Qt/KDE's printing is horribly, horribly broken.
This leads to the dilemma that GUI application developers not only have to write routines to display their data on screen, but also ones to bring everything to Postscript. Web browsers are a prime example where the screen display is complex enough so that there's no more resources left to reinvent the wheel in Postscript, leading to Mozilla's broken printing.
The final problem is the lack of Unicode support in the ancient Postscript/Type 1 font standard. The introduction of the Euro made this painfully obvious for European Linux users.
Before we look at the hardware, we need a reliable printing library that surpasses Postscript's stone-age encoding, rendering out every single character. I believe libgnomeprint wants to do that, but I haven't been tracking it. We need a printing system that does not rely on printer drivers that are compiled into the PS rasterizer (lpr, ugh!) or has other quirks (cups is a step forward with its modularity and two behind with its own rasterizing program, effectively introducing a separate app for PS->screen and PS->printer). The hardware support is already here, but what use is a fast car if you can't get the door open? (Don't you just love metaphors?)
It doesn't really get much better if the "linux-heads" try to put a GUI front-end on things. Widget layouts are often poorly thought out and often covey contradictory or ambiguous choices for configuration. These sad attempts at usability are even praised more highly than the supposedly "easy" command line stuff. The real problem is that the linux hackers designing interfaces in the linux community get sugar-coated reviews of their stuff by other linux hackers who are far too eager to say something is usable out of their ignorance of user interface design and out of their belief that anything under GPL is inherently superior to anything proprietary, interface or otherwise. As a personal experience, I once talked to a person who created a linux installer for a very prominent linux distribution and I mentioned a few of the dozens of confusing or ambiguous or inconsistent things I found in its interface. He couldn't understand what the problem was: he thought I thought that it "wasn't pretty enough". And yet die-hard linux zealots who remember vi commands before they remember their wife's anniversary claim that this interface is perfectly easy and that this installer is perfectly ready for the desktop.
The few people with interface design knowledge who point out these problems are usually called "whiners", and are told to shut up and code their own improvements.
Putting it bluntly, the linux development community is doing more to kill linux on the desktop than Bill Gates ever could. Microsoft realizes this, and that's they have never considered linux on the desktop a threat.