So I recently have been setting up a new Fedora 14 Linux machine at home, which used to run Windows as my primary desktop. I figured that I would keep the printer connected physically to this machine, even though it would no longer be the primary desktop. That meant I had to figure out how to get printing working first with Linux, and then printer sharing.
Getting printing working in Linux was fairly easy. In fact, the printer had already appeared in the list of printers without really doing any work. I recalled from a previous attempt a while back that there are some neat specific tools for HP printing in Linux, and I found them again at the HPLIP project. A quick install of that software in Fedora and I, at least, had that up and running.
Sharing the printer via Samba and CUPS is where it got a little tricky. I had ended up fighting a bunch with the specific configuration of Samba, finding lots of conflicting tutorials with different information that didn’t make sense. I tried a few things, and kept getting permissions errors.
I finally realized that, at least for printing, smb is running/executing as the user “nobody”. I also noticed that there happened to be a samba-specific folder in /var/spool. I put two and two together and figured that SELinux would be happiest with Samba talking to that folder. So, here’s, ultimately, the set-up I ended up with for smb.conf:
[global] workgroup = YOURWORKGROUP server string = Samba Server Version %v security = share [printers] printing = cups printcap name = cups browseable = yes printable = yes public = yes create mode = 0700 use client driver = yes path = /var/spool/samba
Adding the printer from Windows proved to be a snap:
- Browse to the computer name (//yourlinuxmachinename)
- Double click the printer to connect to it
- Find the driver it needs
Hopefully this will help some of you if you find yourselves fumbling around trying to make this sort of thing work.