Aaaarrrggghhh CUPS
Posted: Thu Nov 22, 2012 4:28 am
Just venting a little, move on if that's not your thing. Or you don't know what CUPS is.
I bought my first printer in the very late 90's. Samsung monochrome laser, when they were first starting to break into the US print market so they were pricing aggressively. Spent $400 on it and it was a *steal*. It has served me well for over a decade, and it's still only on its second toner cartridge. Unfortunately it's getting tired, it's had lots of little issues, between the paper jams and the toner leaks, etc.
So, with discounts everywhere I bought a new printer. Samsung monochrome laser, network-capable, better than the old one in every measureable way. $80. Electronics is one of the closer things we still have to a free market, and look what happens. Maybe people might figure something from that.... Anyway.
Pull old printer, put new printer in its place. Do cabling surgery (I will NEVER own a device that uses a parallel cable again!), put the new printer on the network, etc. Test page prints, I can get to the printer's own web management interface. OK. But getting my machines (one Debian server, one Ubuntu desktop) to PRINT to it? Not so much. Because I have to deal with CUPS.
Supposedly CUPS is simple, intuitive and you can do everything through a handy-dandy web interface. No.
It WOULD not work. The steps that all the instructions say you should do, and they should "just work"... my ass. Between not being able to find the printer, to "invalid uri" when trying to set it up myself (I know where it is, CUPS, let me just tell you), etc etc.
So being a sysadmin, I start mucking around. Supposedly CUPS is snmp-capable, but I initially could see no sign of it. So I go looking. And find some directories, /usr/lib/cups/backend and /usr/lib/cups/backend-available. The tools I need are in 'backend-available', not 'backend'. I can run then from 'backend-available' but CUPS won't use them. So when I hard link everything in 'backend-available' to 'backend', EVERYTHING suddenly "just works".
So how the FUCK did CUPS decide which backend support tools would be in the 'they're supposedly available but I'm going to disavow all knowledge of them and not use them' directory, and which would be in the 'things I reluctantly admit to knowing about' directory? And how do you tell CUPS to switch a given tool from one to the other? Certainly not through the web interface. If I hadn't done my own digging, and thought to move (or link) the programs I needed from one directory to the other, I'd still be beating my head against a wall.
I bought my first printer in the very late 90's. Samsung monochrome laser, when they were first starting to break into the US print market so they were pricing aggressively. Spent $400 on it and it was a *steal*. It has served me well for over a decade, and it's still only on its second toner cartridge. Unfortunately it's getting tired, it's had lots of little issues, between the paper jams and the toner leaks, etc.
So, with discounts everywhere I bought a new printer. Samsung monochrome laser, network-capable, better than the old one in every measureable way. $80. Electronics is one of the closer things we still have to a free market, and look what happens. Maybe people might figure something from that.... Anyway.
Pull old printer, put new printer in its place. Do cabling surgery (I will NEVER own a device that uses a parallel cable again!), put the new printer on the network, etc. Test page prints, I can get to the printer's own web management interface. OK. But getting my machines (one Debian server, one Ubuntu desktop) to PRINT to it? Not so much. Because I have to deal with CUPS.
Supposedly CUPS is simple, intuitive and you can do everything through a handy-dandy web interface. No.
It WOULD not work. The steps that all the instructions say you should do, and they should "just work"... my ass. Between not being able to find the printer, to "invalid uri" when trying to set it up myself (I know where it is, CUPS, let me just tell you), etc etc.
So being a sysadmin, I start mucking around. Supposedly CUPS is snmp-capable, but I initially could see no sign of it. So I go looking. And find some directories, /usr/lib/cups/backend and /usr/lib/cups/backend-available. The tools I need are in 'backend-available', not 'backend'. I can run then from 'backend-available' but CUPS won't use them. So when I hard link everything in 'backend-available' to 'backend', EVERYTHING suddenly "just works".
So how the FUCK did CUPS decide which backend support tools would be in the 'they're supposedly available but I'm going to disavow all knowledge of them and not use them' directory, and which would be in the 'things I reluctantly admit to knowing about' directory? And how do you tell CUPS to switch a given tool from one to the other? Certainly not through the web interface. If I hadn't done my own digging, and thought to move (or link) the programs I needed from one directory to the other, I'd still be beating my head against a wall.