HOWTO: Lexmark X1270 Printing on Ubuntu 9.10 (Karmic Koala)
It took me a while to get this to work so I decided to put this guide together. Most of this information is already in this thread but somewhat scattered, so I decided to make a step-by-step guide for Karmic. While I did put this together I would like to give many thanks and most of the credit to all the others who posted before me in this thread since, after all, it's this thread that helped me get this to work in the first place. I obviously cannot name everyone, so I thank you all here. Within the steps below are only the thanks for things requiring changes to this guide after it was posted.
NOTE: THIS ONLY WORKS FOR PRINTING, NOT SCANNING OR FAXING.
Part A. Download and install the dependencies of the driver
Step A-1. Get libstdc++5
For 64-bit systems, you'll need to install both the 32-bit and 64-bit versions of libstdc++5...
Please see this link (thanks giocarra) on how to do this: http://www.digitalenigma.net/directory.php?include=archives&msgid=2009111000
For 32-bit systems, you can get libstdc++5 a little more easily as follows...
Download and install libstdc++5 from http://packages.debian.org/etch/libstdc++5.
This package depends on gcc-3.3-base which can be downloaded from http://packages.debian.org/etch/gcc-3.3-base.
On those pages, select your architecture to download the correct .deb file, and install them (libstdc++5 won't install unless gcc-3.3-base is installed).
Step A-2. Get alien
Next, install alien. This is in the repositories so you can get it from the terminal by typing
Part B. Download and install the driver
sudo apt-get install alien
Step B-1. Download and extract the archived driver
Download and extract the archived driver for the Lexmark Z600 (this is the driver that works with Lexmark X1270 for printing). It's a driver for Red Hat, but don't worry, that's what alien is for (later).
The official download page is here, but I use the wget command below to make things easier. Also, note the tail command; this is important so don't try to simply extract it from the GUI. For this whole step (Step B-1), just enter the following commands in a terminal:
Step B-2. Convert the RPM files into something more useful for Ubuntu
tar -xvzf CJLZ600LE-CUPS-1.0-1.TAR.gz
tail -n +143 z600cups-1.0-1.gz.sh > install.tar.gz
tar -xvzf install.tar.gz
Before starting this step, your terminal should still be in the lexmark folder we created. If not (maybe you closed the terminal, that's alright), run this command to go back there:
The files this step creates need to be owned by root (by sending the commands as root). Originally, I did this using sudo -s (allows you to run a bunch of commands as root) and exit (to exit this mode). In general, though, it's not recommended to use "sudo -s" unless you're sure you know what your doing.
I've decided to update this by using individual sudo commands to eliminate the possibility of someone forgetting to exit.
This is the recommended method:
You can now go to Step B-3.
sudo alien -t z600cups-1.0-1.i386.rpm
sudo alien -t z600llpddk-2.0-1.i386.rpm
sudo tar xvzf z600llpddk-2.0.tgz -C /
sudo tar xvzf z600cups-1.0.tgz -C /
sudo gunzip Lexmark-Z600-lxz600cj-cups.ppd.gz
For reference purposes, or for advanced users, here's the alternative "sudo -s" method since I already have it written.
Step B-3. Restart CUPS and check the driver backend
alien -t z600cups-1.0-1.i386.rpm
alien -t z600llpddk-2.0-1.i386.rpm
tar xvzf z600llpddk-2.0.tgz -C /
tar xvzf z600cups-1.0.tgz -C /
Now, check the backend of the Lexmark Z600 driver:
sudo /etc/init.d/cups restart
You should receive output like this:
If you don't receive any output, it's ok, just move on to the next step (Step B-4) to fix it.
direct z600:/dev/usb/lp0 "Lexmark Lexmark
1200 Series" "Lexmark Printer
If you DID receive the output, then SKIP THE NEXT STEP (Step B-4) and move on to Part C.
Step B-4. Fix the driver backend
So, you got no output after running ./z600 in the last step? No worries.
Open up fstab
and add this line at the end, without the quotes,
sudo gedit /etc/fstab
then save and exit the gedit Text Editor.
"usbfs /proc/bus/usb usbfs devgid=14,devmode=0660 0 0"
Once you've added the entry above in fstab, don't forget to mount it (thanks Mr.Banana) by entering the command
Now, run z600 again (no need to cd again if you're already there, but it's here just in case you started this step from a new terminal):
Hopefully, now you got the output and you can go to Part C. If you're still not getting any output, you might want to try Part C anyway and see if it works. There have been cases of everything working without getting the output here (thanks yourlonglostpal).
Part C. Add the printer
At this point, you need to make sure your printer is properly connected to your computer. Also, turn it on if it isn't already.
Then go to System > Administration > Printing to open Printer configuration. In there, click on New (then select Printer if you're using the dropdown). Now it will search for printers and open up a wizard.
Select your device and click "Forward".
Select the "Provide PPD file" option. Of course, now it wants to know what PPD file to use. Browse to /usr/share/cups/model/ and select Lexmark-Z600-lxz600cj-cups.ppd, then click "Forward".
Enter the names you want and click "Apply".
And now you're done! Enjoy printing As a side note, once everything is working you can delete the lexmark folder that we created on the desktop.
If there are any problems in this guide, let me know and I will do my best to fix them. I hope this guide is helpful. I know it's kinda long but my goal is to be really clear on how to make this work, because I know how confusing it is to get this working.