Installing Lexmark Z611 Drivers on Ubuntu Jaunty

Ok, getting my extremely cheap lexmark printers to work on Ubuntu 9.04 (Jaunty Jackalope) was so frustrating that my wife said, "this Ubuntu thing you're on, I absolutely hate it!".

I guess I can't fault her on it, I've been dual booting to XP for 5 days while this issue wasn't resolved (she just fingered the wrong culprit...it wasn't Ubuntu it was the stupid lexmark drivers).

Anyway, at the bottom is a short list of place I searched before getting this fixed.

First, download the driver's tarballs or get it directly from this article.

I'm going to assume you just downloaded the files to your destkop so let's put them in a folder where file extraction won't be too messy:

$ mkdir /tmp/lexmark/
$ cp ~/Desktop/CJLZ600LE-CUPS-1.0-1.TAR.gz /tmp/lexmark/
$ cd /tmp/lexmark/

Ok, now extract the files from the archive and create a new archive based on the resultant shell script (which you just extracted):

$ tar -xvzf CJLZ600LE-CUPS-1.0-1.TAR.gz
$ tail -n +143 z600cups-1.0-1.gz.sh > install.tar.gz

This was my first experience with the 'tail' command...essentially what we are doing here is outputting the lines within the script starting from line 143 and reading to the end.
Now extract the files from the new archive you created (install.tar.gz):

$ tar -xvzf install.tar.gz
$ ls *rpm

What we are most interested in seeing are the two rpm files that were newly extracted. If you have 'alien', a package converter, use it here to install the drivers (otherwise run sudo apt-get install alien to get it):

$ sudo alien -i z600cups-1.0-1.i386.rpm
$ sudo alien -i z600llpddk-2.0-1.i386.rpm

Restart the cups daemon and then check the printer backend (you should get no output on the second command):

$ sudo /etc/init.d/cups restart
$ /usr/lib/cups/backend/z600

If for some reason you do get some output on the second command, for instance, "error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory"...you should check to see if the library exists (create a symbolic link in /usr/lib/ if it exists and install it if it doesn't):

$ ls /usr/lib/*so.5
$ ls /usr/local/lib*so.5

If the files don't exist anywhere in those two locations then install the library:

$ sudo apt-get install libstdc++5

Rerun the printer backend:

$ /usr/lib/cups/backend/z600

Setup your printer and enjoy.

Misc.

some info on the ubuntu forums
sort of the same info on linux4all...sorry, it is in Spanish
this too is in Spanish, but you can use Google™ translate to read it