Google’s Cloud Print service allows phones, tablets, and computers to print to printers without first installing traditional drivers. You can read more information here.
Basically, Cloud Print requires you to run a “proxy”, a small server on a computer that is connected to your printer. You can then make this printer available, either to yourself or to others with a Google account. This then enables them to print to your printer from any Google Cloud Print enabled device. Here’s a pretty picture.
This is particularly interesting to me as I own an Android-powered phone and two Android-powered tablets and currently have the use of a ChromeOS-powered Samsung Chromebook.
Google envisions a world in which Cloud Print capable printers will be deployed. In fact, the HP ePrint capable printers are already Cloud Print enabled. However, for legacy printers like mine, you will need to run the proxy software on a local computer that can connect to the local legacy printer. There are instructions for doing this on Windows and OS X. On Ubuntu and probably on other Linux distros as well, it’s not very complicated at all.
On a Linux box, you enter “about:flags” into the URL bar and hit enter. On the flags screen, click “Enable” under “Cloud Print Proxy” and then restart Chrome.
Once you have restarted Chrome, you can now visit the Wrench icon in the upper right-hand corner (“Customize and Control Google”) and click on Preferences.
This will in turn allow you to click on the settings labeled “Under the Hood”. Once in “Under the Hood”, scroll all the way to the end and you will see the Cloud Print options:
And that’s it; you can now manage your Google Cloud printers and you should be able to print to them. However, this seems pretty fragile; it’s dependent on your “print server” always running a local instance of the Chrome Browser with Cloud Print enabled.
To create a more “server-oriented” solution, Jason (Armooo) came up with this nifty bit of code: https://github.com/armooo/cloudprint. Basically, it’s a command-line cloud print daemon, written in Python that can run on a headless Linux machine. Setting it up is straightforward, assuming a fairly recent version of Python on the server. It also requires you to already have cups properly set-up and configured for the printers that you want to share.
sudo apt-get install python-pip sudo pip install cloudprint sudo pip install daemon sudo cloudprint -d
This installs the Python pip tool if you don’t have it; then installs cloudprint and the Python daemon package, which allows you to run cloudprint as a daemon. When you start the program, it will prompt you for your Google username and password. Once running, it will add any cups printers to the Google Cloud Print service. You manage those printers by visiting http://www.google.com/cloudprint/manage.html. Log in with your Google account user name and password, of course.
This is really interesting – I look forward to never having to deal with client-side printer drivers ever again. Google Cloud Print is a promising first step.