Google Cloud Print (GCP) is a quite useful Google service, allowing you to print in a GCP compliant printer from everywhere and from every device of yours, be it a desktop, a tablet or a smartphone. There are quote a lot of printers out there supporting GCP out of the box, but here I will explain how to turn every Linux supported printer in a fully functional GCP printer. As a bonus you’ll have a cheap Linux based print server in your local network, which is alone a nice thing to have. All this thank to the amazing Raspberry PI ARM GNU/Linux mini PC.
Install and configure CUPS on the Raspberry PI
First of all install cups, the most famous Unix print server:
sudo apt-get install cups
Now you’ll have to edit the cups server configuration, to allow configuration of printers from your local network.
Edit /etc/cups/cupsd.conf and find the line:
Delete localhost:, so that the line becomes:
Now search the Location directives <Location />, <Location /admin> and <Location /admin/conf>, and in all of them add the line
Allow from 192.168.1.*
Here I’m assuming that your local network is 192.168.1.*, please change this according to your local network configuration. This make CUPS accept connection from your local network, allowing you to configure printers from an handy web interface.
As a last step add pi user to lpadmin group:
sudo adduser pi lpadmin
Assuming that your Raspberry PI has address 192.168.1.100, access cups web interface at the address:
Login with the credentials of user pi.In Raspbian the default credentials are pi/raspberry, but you changed the default password, right?
Now you can connect your printer to the Raspberry PI, then you can click on Printers and add the printer in CUPS, choosing the right model and the recommended driver/ppd.
Install and configure Google Cloudprint Service
First of all you’ll need to install some dependencies:
sudo apt-get install python-daemon python-cups
Then you can download the latest version of cloudprint and couldprint-service deb packages from this page. Put the packages on the Raspberry PI (or download the packages directly from the PI using wget), then install the packages with:
sudo dpkg -i cloudprint*.deb
Then all you have to do is to configure your Google account (the account you’ll use to access Google Cloud Print from your devices) by doing:
sudo service cloudprintd login
It will ask you your Google account and your password. Then you can start the service with:
sudo service cloudprintd start
The service should be launched automatically at boot from now on, so you’ll not need to start it every time manually.
That’s it, now you could try to print from your PC, Tablet or Smartphone with Google Cloud Print (see GCP page for instruction on how to print) and then wait for your beloved printer to enter in action!
Printing from another Linux box in the network
Other than having a Google Cloud Print enabled printer now you have also a cheap CUPS print server in your local network. You can print from other hosts in the network very easily!
On other hosts add the remote printer using ipp (use the same address you see in browser when editing the printer on the CUPS web interface, but with ipp instead of http).