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 =)
.. is some kind of wine-driven printer emulation layer, that would let you use windows printer driver sin Linux. Why? Because I have a printer that I have had for 4 years now, and is still nowhere near a Linux solution. Is this idea even possible? I think it would be great if it were, since I could finally use my printer!
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
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
UNIX apps don't send GDI commands - they usually send postscript commands.
So unless someone wants to write a postscript to GDI filter, that approach won't work.
Oh, and things that need to communicate directly with your hardware (like this printer driver) may not be able to run in wine anyway.
Even on Debian, it was pretty much point-and-click for me...fire up a web browser, point it at http://localhost:631, click on "Manage Printers", click "Add Printer," enter a superuser name and password, and follow the steps from then on.
It really is that simple, unless you've got a distro that has a weird installation of CUPS.
Heck, on Mandrake boxes, one can often have the printer autodetected, and the installer can often (in my experience) choose the correct driver.
Stating on Slashdot that I like cheese since 1997.
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?
... and then we find out that most of their software WILL NOT RUN under XP (yes even by using compatibility mode) and that they will have had to have gotten a new scanner and printer because they wont work either.
I set up a windows xp box for someone the other day. It was QUITE an upgrade from their old 133 mhz computer -- they were excited that all their programs will run SUPER FAST and that their printers/scanners/etc will be OH SO nice...
Now I'm sure that windows xp has changed QUITE a few things but come on... they have used winxp for a bit now to see if they can put up with it.. they now want me to install windows 98 on there... quite an upgrade (if you ask me)...
Now before you say "Put them on Linux!" -- get real.. would you put your mother-in-law on linux --> knowing you dont want to put up with her "Whats this? BASH? Is this a joke??"... feh on them all..
In my experience, Lexmark has wonderful Linux support for its products. $79 at Best Buy got me a very high quality 1200dpi inkjet printer (the Lexmark Z23) with both Windows and Linux support. The Linux side actually works better than its Windows counterpart, oddly enough. It runs as a daemon process, does PostScript exactly the way it should, and the fact that its a USB printer doesn't complicate the situation either. It all just plain works, out of the box. Even has a nice graphical config utility
Kudos to Lexmark for doing it right!
Bowie J. Poag
Well, Linux is the type of operating system where you are EXPECTED to go under the hood (as the mechanics would say..*grin*). It's part of the challenge. Initially I had problems with printing on my Slackware 7.1 box. So I installed a script called apsfilter (which came along with the distribution and is available at freshmeat.net or tucows). This little beauty did everything needed to be done for my printer setup, including editing the /etc/printcap file. In my four years of running Linux, I have yet to find anything that there wasn't software regularly available on the net, and print tools such as apsfilter is just one example
My two bits
Clive DaSilva Email: clive.dasilva@gmail.com Ubuntu 18.10 Kernel 4.18
I've recently rediscovered cups. For my printing needs, mixed unix and some windows it beats everything else hands down. It provides easy web based administration or if you're fimilar with the bsd or sysv (big bonus for me since i primarly use solaris) style command line tools it has those as well. But the number one thing that makes me choose cups overy anything else is its support for using PPD drivers. Need a driver for that freaky printer, Xerox DocuCenter 332ST in our case? Download the PPD stick it in /usr/share/cups/model and off you go. Now i can use all the features of the printer. Not just simply print to it. Eg. now i can colate, staple, duplex print etc. Couple this with kups or xpp which are "print setup" like programs that let you adjust your print settings and its almost as easy as on a mac. So aside from support for "winprinters" how is turbo print different from cups?
This is, in my opinion, one of the areas that will continue to limit the ability of Linux to be used on the desktop. The printing process is simple and flexible for a hacker, if it is a supported printer, but fails the mom test miserably.
What is really needed is an organization with some clout to get behind an API that can be integrated into applications, with a standard, integrated menu selected printer control. Just like the Macs have had for 17 years and Windoze has had for 10? years. There have been a couple of attempts in this direction, which seem to have mostly fizzled. That is why heavyweight clout will be required to make such a thing work.
CUPS is an improvement and a little easier to use for the printer driver installation and setup. But this does not address the user interface. This is something that perhaps Redhat, on the Gnome side, and perhaps some other organization on the KDE side, should have handled years ago. I think this is far more important than having a Gnome/KDE office suite.
The fundamentals should be the first priority, and in an office, printing is absolutely fundamental and critical. A big enough busines can perhaps afford to hire a Linux guru to set up printing, but that should not be required and will remain a roadblock. In fairness, Windoze printer installation and setup is often no picnic either, but that is no excuse for Linux being so lame in this area.
You obviously have not tried Windows 2000/XP etc.
The simple fact is almost every printer out there works with these OS's, out of the box. That is important.
Plug-n-play means you get a dialog box, and half the time the driver is already loaded with windows, otherwise you can use the supplied diskette.
Users are comfortable and familiar with this system, and it work 90% of the time nowadays. I havn't had a problem recently on a whole range of systems and printers.
Now, getting printing going under Linux is NO WHERE near that easy. Vendor supplied disks don't have drivers, and linux simply has a smaller driver base than windows overall.
That your rather silly post got modded up indicates that most people reading slashdot don't actually have to support computer installations or havn't actually used linux to print. The fact is for things like printers which require large driver bases, Windows with its monopoly power has linux beat.
So please, get a clue before posting.
"My side" wrt Linux is a place where things really ARE modular and logical. Where, if you have an extraordinary knowledge of systems and computer science as a whole, you can enjoy your time in it. Where, if something isn't working, you can change and recompile it within hours.
Your "our side" seems to be that awful "I want Linux to be a better Windows than Windows!" garbage. Here's some advice: Linux is not Windows, and Linux will never be Windows. It will never be worse than Windows; it will never be better than Windows -- IT WILL NEVER BE COMPARABLE TO WINDOWS. If you want something like Windows, use Windows. If you want something kind of like Windows but different, use Windows. If you want something better than Windows -- sorry to say it -- you're going to have to live with Windows. LINUX IS NOT WINDOWS.
And why on Earth would you be trying to "win over" someone to "your side"?! Can you even THINK of anything more dishonest? Linux is not Britney Spears; it is not a Happy Meal. If people use it, it's because they want a free Unix-like operating systems, they've done their research, and they WANT to use it. It's not because they've been tricked into something (sorry -- "won over"), so that when they finally do try out Linux, they're horribly disappointed at how un-Windows-like it is, and hold some kind of great resentment towards it.
Look around the web. How many "Linux sucks" posts and websites do you find? A LOT. Is it because Linux actually sucks? Not likely. It's because some "helpful" friend tried to "win them over". They probably said something like "if you're tired of Windows crashing all the time, try this other operating system called Linux". They try Linux, expecting it to be better than Windows, and SURPRISE SURPRISE find out that it "sucks". If you use Linux expecting it to be Windows, guess it, it sucks donkey balls. Not just any donkey balls either -- big ones. LINUX IS NOT WINDOWS. DON'T PRETEND IT IS. AND FOR THE LOVE OF GOD, FOR THE GOOD OF HUMANITY AND COMPUTER USERS EVERYWHERE, DO NOT "WIN OVER" SOMEONE EVER AGAIN.
Loaded up printerdrake in my Mandrake 8.1 installation.
2 minutes later, I run upstairs to find see the printer goin to work on a perfect test page!
Mandrake rules, kids. No need to spend 20 dollars on anything else.
Berto
All thats lacking for linux printing is the knowledge of whats avaliable, check out linuxprinting.org As a summary if you use Redhat use printtool, suse have there own setup in yast, Mandrake probably have something too, for debian or most other distributions use aps though as with most setups you need ghostscript(for postscript conversion) and a printer spooler such as lpd or lprng. Never used it but CUPS is supposed to be easy to use and of course you could just buy a postscript printer. I don't see why this commercial program is needed, use whats out there and free as in beer and speech!
Also, make sure there are no spaces after the 'No's. The first time I tried configuring this, I had a space after the word and the braindead parser couldn't recognize the option because of it(not sure if they've fixed it in the newer versions or not)...so I swore for a couple hours before actually checking my syslog as to why the damned thing kept ignoring the option :)
The GUI should let you purge completed jobs, IMNSHO. For a basically single-user system, it's best to just disable those two options, unless you are into checking your /var/spool/cups directory on a regular basis (I have better things to do with my time)
My perception is that most people have problems not with printing, but with their printer. People buy printers that only work with oddball command languages or expect the host CPU to do absolutely everything and send them raster lines. Whem I am asked about these marginal printers at LUG meetings and installfests, I advise people to get postscript or pcl/hpgl printers. These are standard printer languages. I have never seen a printing situation that postcript couldn't handle.
But people still buy these cheapo printers and when they find out that Linux mostly supports elegant, standard printer interfaces they jump directly into "Linux sucks" rants.
One way to convince these people to buy "real" printers is to point out that a printer with some specialized driver might not be supported in the future. Suppose the manufacturer made a driver for printer yzx-ii for Windows 3.11. They discontinued the printer in 1994 but they still released a driver for Win95. They updated their driver for Win98, but they never did bother porting it to WinNT. Now they don't support Windows 2000 or XP, and you can't expect them to keep writing drivers for printers they last sold eight years ago.
Now look at the alternative case. Instead of yzx-ii you layed out a little more cash for a postscript printer. This printer is going to work with any past, present, or future operating system until the hardware falls to pieces. The buyer of a postscript (or pcl) printer never has to worry about printer drivers. He's got a postscript printer! It's just like HTML, TeX, and so on: the standard is out there, you can't kill it, and it will be supported for eternity.
My printer is an Apple LaserWriter II NTR, which I found in the trash. It has a postscript processor, so I can use it with Linux and like operatings systems, Windows [3,95,NT,XP], OS/2, and vintage of MacOS, and so forth. This printer was introduced in 1992 and it still works great, without software problems of any kind. I'll never need a new "driver" for it because I already have the postscript printer description file and I don't believe the hardware is changing! If I had paid money for this printer, I would consider it a wonderful purchase.
(end of rant)
" You obviously have not tried Windows 2000/XP etc. "
Or maybe he's just used NT/95/98 more. What is the Win2k/XP installed base? 10%?
"The simple fact is almost every printer out there works with these OS's, out of the box. That is important."
I've run into just as many printers that don't work right under Win2k as under Linux.
"Plug-n-play means you get a dialog box, and half the time the driver is already loaded with windows, otherwise you can use the supplied diskette. "
At which point you either use the drivers built into Windows and give up 2/3 of the printer's feature set or you use the drivers that came on the cd only to find that they are badly broken.
"linux simply has a smaller driver base than windows overall."
Not really, remember that a single driver on Linux may work with dozens of different printers. The actual number of printers supported is probably pretty similar.
"That your rather silly post got modded up indicates that most people reading slashdot don't actually have to support computer installations or havn't actually used linux to print."
Frankly I think you either arn't all that experienced yourself or your convienently forgetting about the times Win2k has failed to work right with a printer.
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?
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?)
Open Source advocates assume that Open software will always be better, in every sense, than Closed, because so many people are examining the source code. It's true that objective source code scrutiny does make better source code. But there's more to good software than absence of code errors. You need testing. Regression testing, usability testing, stress testing... MS can pay for all this because of their huge revenue stream. Development models that attempt to compete with Microsoft's closed model forget this at their peril.
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.