For a log time I’ve been network printing in my house to a small laser printer connected to my Linux Server. This year I decided to move my server to the basement of the house, but didn’t want to relocate the printer from the office. The solution was to pickup a cheap Raspberry Pi 2 and set it up with the same settings as my primary server. Yes this is a waste of a perfectly functional Pi, but you have to make sacrifices sometime.
Step 1: Install Raspbian
Won’t go into too much detail for this. The Raspberri Pi Foundation has instructions for setting up a Pi for the first time. I used the Jessie Lite image because a gui wasn’t needed for this setup. The only extra steps I took was to run raspi-config to expand the file system, change the user’s password, change the locale to en-US.UTF-8, change the time zone to US east coast, change the keyboard layout to US, and enable SSH. https://www.raspberrypi.org/documentation/installation/installing-images/README.md
Step 2: Install CUPS
How-To Geek has a really great set-by-set tutorial for installing CUPS on a Raspberri Pi including all the extra steps for configuring your printer.
http://www.howtogeek.com/169679/how-to-add-a-printer-to-your-raspberry-pi-or-other-linux-computer/
After all of that printing from a Linux computer or Mac was easy.
Step 3: Install Samba
Finally, the process of installing is pretty easy.
- sudo apt-get install samba
- sudo nano /etc/samba/smb.conf
- Find the section of the config that starts with “[printers]
- Set “browsable” & “guest ok” to “yes”
- Save the config
- sudo reboot
Now from a Windows computer you can browse to and the printer that is connected to the Raspberry Pi. There is one caveat: you must manually install the drivers on the Windows computer for the printer. Samba has a feature where you can load the drivers into the hidden “print$” share on the server, but outside of a Active Directory configuration I’ve been unable to setup management of that share from a Windows computer to the Pi.
Have fun.