I have a printer plugged it into my Ubuntu desktop machine. I want to access it from Windows 7 on my laptop. Is this possible? If yes, how can I do this?
Yup. Quite simple too. IMO this is quicker than using cups' web gui.
Make cups accept connections from other computers.
sudo nano /etc/cups/cupsd.conf
And then replace
Listen *:631. Save and exit (control+x, y, return).
Note: If this computer ever goes out into the wild, where it's not hidden behind a router, it might be worth specifying an IP address instead of wildcarding. If it sits behind a protected router all the time, you don't need to worry about it.
Note 2: If you have a firewall running on your computer (eg ufw, firestarter) be sure to allow connections on port 631 through.
sudo /etc/init.d/cupsys restart
From the Windows computer, start the Add a printer wizard (in Control Panel > Printers), select network printer and when you finally get around to the part where you enter an address, stick something like this in:
You then just install the Windows drivers for it and bish, bash, bong your're done.
If you don't know the name (to replace
whatever_your_printer_is_called), take a look at cups http://localhost:631 and see what the name is for the printer.
Yes, It is possible.
Please look at Network Printing With Ubuntu.