CUPS Cloud Print

Found CUPS Cloud Print useful?

Introduction

CUPS Cloud Print is a Google Cloud Print driver for UNIX-like operating systems ( Linux, Mac OS X , BSDs etc ). It allows any application which prints via CUPS to print to Google Cloud Print directly.

Why?

Assuming you have Print-Cloud-Ready printer, Google Cloud Print allows you to print to your printer without installing any printer specific drivers – aside from the obvious advantages of not having to install drivers for every printer you come into contact with, it allows you to use a proprietary printer on platforms you would not normally easily be able to use ( for example, printing from an ARM-based Raspberry Pi to a printer where the manufacturer only provides x86 proprietary drivers ).

Also, because Google Docs ( Google Drive ) presents itself as a printer to Cloud Print, it also means you can ‘print’ directly to Google Docs using CUPS Cloud Print ( some users have leveraged this functionality to scan to Google Docs ).

License and Downloading

CUPS Cloud Print is licensed under the GNU Public License version 3 or above, the source code is freely available as a Github repository.

20140814 Release – 14th August 2014

  • Fix: Issue #71 on Github, always send use_cdd=false param with every request Git logo

20140702 Release – 2nd July 2014

  • New: Split printer class into seperate Printer and PrinterManager classes Git logo
  • New: OS X package support Git logo
  • New: Added SELinux support to RPM packages Git logo
  • New: Added refresh token cron script Git logo
  • Fix: Use python interpreter when python2 interpreter not available. Git logo
  • Fix: Setup script shows printer names in multiple columns, instead of one column. Git logo
  • Fix: Now PEP8 compliant Git logo
  • Fix: Detect _lp as valid cups group in configure script Git logo
  • Change: Moved testing data and scripts into 'testing' subdirectory Git logo
  • Change: Changed protocol to gcp:// instead of cloudprint:// Git logo

20140308 Release – 8th March 2014

  • Fix: Use shorter URI format to workaround issue on older distros having a short max length on printer URIs Git logo

20140307 Release – 7th March 2014

  • Security: Only log access token to log file in debug mode Git logo
  • New: Support printers with same name in same account Git logo
  • New: Log now pipe delimited and contains timestamp Git logo
  • Fix: Set UseCIEColor when converting postscript file to pdf, fixes printing files generated by Adobe Reader Git logo
  • Fix: Set page name to Untitled when page printed with no name Git logo
  • Fix: Open oauth2 config file in read only mode if access denied to write, fixes running under Mac OS X Git logo
  • Fix: No longer run upgrade script on fresh install Git logo
  • Fix: Fix the log file permissions on creation or upgrade, only adjust owners and permissions if needed to change Git logo
  • Fix: Exclude groups that cant be correct for cups group when discovering CUPS group Git logo
  • Fix: Discover CUPS group by examining CUPS log file ownerships, then PPD directory if logs missing Git logo
  • Change: Sanitised the indentation of python files Git logo
  • Change: Removed upgrade message about location of files changing Git logo
  • Change: Moved common functions into utils class, allows better unit testing Git logo
  • Change: Centralised logging setup into utils script Git logo

20140210 Release – 10th February 2014

  • New: Show better error message if printer ppd not found Git logo
  • Fix: Use python logging facility instead of writing to log files directly, fixes No handlers could be found for logger error Git logo
  • Fix: Upgrade script now faster with multiple printers, now only gets list of PPDs once and filters for each printer Git logo
  • Fix: Show better error if renewing OAUTH2 token fails Git logo
  • Fix: Explicitely define dirs in rpm files list, ensures will be removed correctly on uninstall Git logo
  • Fix: Deb package now deletes old pyc files on uninstall/upgrade Git logo
  • Fix: Config file permissions now fixed to allow updating of access token when printing Git logo
  • Fix: Compile python code on rpm install to ensure old files are removed on uninstall Git logo
  • Fix: Compile python code on Gentoo install to ensure old files are removed on uninstall Git logo
  • Fix: Compile python code on arch install to ensure old files are removed on uninstall Git logo
  • Change: Merged submitjob.py script into backend script Git logo
  • Change: Error out immediately if lpadmin command not in path on upgrade Git logo

20140112 Release – 12th January 2014

  • NEW: When invalid OAuth2 code used, show the error message Git logo
  • NEW: Can now delete associated printers when deleting an account Git logo
  • NEW: Added test script for post-packaging testing Git logo
  • CHANGE: Moved files from /usr/lib/ to /usr/share Git logo

20131013 Release – 13th October 2013

  • CHANGE: Use imagemagick for rotating PDFs instead of pdfjam due to issues with CentOS and Fedora Git logo

20131009 Release – 8th October 2013

  • FIX: Override default for when applications assume wrong default values ( eg duplex ) Git logo
  • FIX: No longer error on adding printers with duplicate capability names, Git logo
  • FIX: Landscape printing should now work correctly on all printers Git logo
  • FIX: Ignore duplicate parameters Git logo
  • FIX: Detect duplex option Git logo
  • FIX: Adding printers with prefix no longer errors Git logo
  • CHANGE: pdfjam dependency now required Git logo
  • CHANGE: List cloud printers script now shows display name instead of printer name Git logo

20130914 Release – 14th September 2013

  • NEW: Use display name if available for generating values for ppd Git logo
  • NEW: Added version param to scripts Git logo
  • NEW: Added test cases and list of capabilities for testing internal name function Git logo
  • FIX: Prevent duplicate options and capabilities being generated Git logo
  • FIX: Post name of capability instead of internal hash, should fix issues with capabilities failing to work correctly Git logo
  • FIX: Fixed displaying of errors from Google side ( eg when print proxy is down ) Git logo
  • FIX: Allow overriding print params per print job Git logo
  • CHANGE: Removed gcp_ prefix for capabilities ( unless conflicts with reserved words ) Git logo

20130718 Release – 18th July 2013

  • NEW: PDF now supplied to CCP via CUPS, increases printing speed. Git logo
  • NEW: Default to A4 paper size in countries that use A4 paper. Git logo
  • FIX: Use utf8 output for ppd, use internal option and capability hashes for names to prevent errors - should fix a lot of errors related to non-ASCII chars in capabilities. Git logo
  • FIX: Removed redundant ppdc dependencies. Git logo
  • FIX: Removed old PPD files, as no longer used. Git logo
  • FIX: Optimise PDF generated for printing. Git logo
  • FIX: Only ask once per account for prefix. Git logo
  • FIX: Fixed final warnings in PPD. Git logo
  • FIX: Custom printer name should now work. Git logo
  • FIX: CUPS Backend etc now use source install by default. Git logo
  • FIX: Add translations into cups ppd. Git logo

20130608 Release – 8th June 2013

  • FIX: Parameters with long names should no longer error Git logo

20130604 Release – 3rd June 2013

  • FIX: Fixed syntax error on adding individual printers. Git logo

20130603 Release – 3rd June 2013

  • NEW: Added reportissues.py script to assist in debugging issues Git logo
  • FIX: Use option name instead of displayname if displayname is missing Git logo
  • CHANGE: On answering no for adding all printers, ask to add individual printers Git logo
  • CHANGE: Ask whether or not to use prefix rather than assuming user knows to enter prefix directly Git logo

20130526 Release – 26th May 2013

  • FIX: Strip out colon chars from capability and options in ppd. Git logo

20130519 Release – 19th May 2013

  • FIX: No longer error on capabilities with missing display name. Git logo

20130510 Release – 10th May 2013

  • Fix: Use lp group instead of trying to discover group name dynamically Git logo
  • Fix: Only update config file permissions when config options changed, not when tokens refreshed. Git logo
  • Fix: Deb package installs cloudprint files with correct permissions. Git logo

20130504 Release – 4th May 2013

  • New: Script to delete user accounts ( deleteaccount.py ) Git logo
  • New: Capabilities for printer supplied by Google Cloud Print ( eg Colour, Print tray, etc ) now appear as options in dialogs. Git logo
  • Fix: RPM package can now be built as a non-root user. Git logo
  • Change: PPD file now generated dynamically Git logo

20130203 Release – 3rd February 2013

  • Priority Fix: Ensure printing is always sent over HTTPS, fixes an issue where Google has began returning errors on HTTP API requests Git logo
  • New: Extra debug data now logged if JSON decoding fails Git logo
  • New: Added gentoo/freebsd support Git logo
  • Change: Detect CUPS user group automatically rather than assume group name is always lp Git logo

20130101 Release – 1st January 2013

  • New: Python 2.6 now properly supported Git logo
  • New: Began adding py.test unit tests Git logo

20121208 Release – 8th December 2012

  • New: Added FedEx office support Git logo

20121202 Release – 2nd December 2012

  • Fix: Show all printers, including ones marked as dormant Git logo
  • Fix: Issue #16 – Arch package, cupsddk dependency is discontinued. Git logo
  • Fix: Depend on system-config-printer-libs instead of python-cups in RPM Git logo
  • Change: Backwards compatiblity changes for older versions of python Git logo

20120908 Release – 8th September 2012

  • Fix: Issue #13 – Invalid CUPS printer name generated Git logo

20120823 Release – 23rd August 2012

  • Fix: Fixed error when trying to print to printers with an account name containing an ‘@’ Git logo

20120818 Release – 18th August 2012

  • New: Multiple Google user account support, you can now add printers from multiple Google Cloud Print accounts Git logo
  • New: Depreciated Google ClientLogin replaced with OAuth2 implementation – Google Account password no longer stored locally – when upgrading you will need to remove and re-add your Google Account and printers Git logo
  • Fix: No longer blindly overwrite printers when adding a new printer with same name as an existing printer Git logo

20120812 Release – 12th August 2012

  • New: PPD of cloud printers now replaced when upgrading CUPS Cloud Print Git logo
  • New: PPD now has an IEEE 1284 device id Git logo
  • New: Device and options now logged when printing Git logo
  • New: Cloud Print printers now listed as ‘Discovered Network Printers’ when adding printers Git logo
  • New: Added Colour Model option to CUPS PPD, send Colour option to Google when printing to colour printers Git logo
  • Fix: Querying available options no longer hangs Git logo
  • Fix: PDF files should now print correctly Git logo
  • Fix: More Python3 fixes Git logo
  • Fix: Fixed error when installing printer with non ASCII characters Git logo
  • Fix: Check that files exist before attempting to delete them Git logo

20120513 Release – 13th May 2012

  • Security: cloudprint.conf now only accessible by root and cups Git logo
  • New: Added Arch Linux support Git logo
  • Fix: Require python 2.7 Git logo
  • Fix: Log permissions now fixed when recreated by logrotate Git logo
  • Fix: Fixes to dependencies to require ghostscript Git logo
  • Fix: Backend script no longer fails if cannot write to log file Git logo

20120422 Release – 22nd April 2012

  • New: When setting up printers, prompt for an optional prefix for printer names Git logo
  • New: Added debian and redhat support, package build stubs now in repository Git logo
  • Change: Renamed Gentoo ebuild to be consistent with new RPM and Deb packages Git logo

20120123 Release – 23rd January 2012

  • Fix: Require python2 instead of any version of Python Git logo
  • Fix: Only try to convert to PDF if file isnt already a PDF Git logo
  • Fix: Cast to string on joining string as part of request, fixes an issue with some files printing Git logo

20111110 Release – 11th November 2011

  • New: Added utility to list printers Git logo
  • New: Added setup script Git logo
  • New: Added application specific password support Git logo
  • Fix: Print jobs now titled with job name from CUPS instead of hardcoded Git logo
  • Fix: PPD now presents as a colour printer Git logo
  • Fix: Now compatible with BSD install Git logo
  • Fix: No longer send PDF data twice, should half printing time Git logo
  • Fix: Make install should now install all *.py files Git logo
  • Fix: Errors now reporting properly to CUPS Git logo
  • Fix: Check for pstopdf if ps2pdf doesnt exist Git logo

20111011 Release – 11th October 2011

  • Initial Release Git logo

I generally use Gentoo , CentOS and Ubuntu, but I’ve tried to create packages to suite 99% of Linux distributions. All packages are set as noarch ( or the distro’s equivalent ), so should work on any CPU architecture ( x86, x86_64, ARM, MIPS etc ).

If there is a (Free) OS which you require packages for, please comment below and I’ll investigate creating packages for it.

Please select your Operating System for installation instructions:

Ubuntu 10.04+ , Kubuntu 10.04+ , Xubuntu 10.04+ , Mint 10+ etc - PPA Based Installation

Run in a terminal:

sudo add-apt-repository ppa:simon-cadman/niftyrepo
sudo apt-get update
sudo apt-get install cupscloudprint
sudo /usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

Debian Squeeze+ , MEPIS 11+ etc - .deb file based installation

If your OS supports PPA repositories, it is preferable to install using PPAs, you will then automatically receive updates when new versions are released.

If you need to install using a deb file, run in a terminal ( as root, or using sudo ):

wget https://niftyrepo.niftiestsoftware.com/cups-cloud-print/packages/cupscloudprint_20140814-1_all.deb 
dpkg -i cupscloudprint_20140814-1_all.deb  
/usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

CentOS 6+ , Fedora 19+ , Oracle 6+ , RHEL 6+ , Scientific Linux 6+ etc - Yum Based

Note: RHEL based distributions require the EPEL repository installed ( see here or here for examples of how to install the repository ).

Create a file in /etc/yum.repos.d/niftyrepo.repo with this text inside ( as root, or using sudo ):

[niftyrepo]
name=niftyrepo
baseurl=https://niftyrepo.niftiestsoftware.com/rpm/
gpgcheck=1
gpgkey=https://niftyrepo.niftiestsoftware.com/rpm/RPM-GPG-KEY-niftiestsoftware

Then run in a terminal ( as root, or using sudo ):

yum update
yum install cupscloudprint
/usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

OpenSUSE 11.1+ , SUSE EL 11+ etc - Zypper Based

Create a file in /etc/zypp/repos.d/niftyrepo.repo with this text inside ( as root, or using sudo ):

[niftyrepo]
name=cupscloudprint
baseurl=https://niftyrepo.niftiestsoftware.com/rpm/
gpgcheck=1
gpgkey=https://niftyrepo.niftiestsoftware.com/rpm/RPM-GPG-KEY-niftiestsoftware

Then run in a terminal ( as root, or using sudo ):

rpm --import https://niftyrepo.niftiestsoftware.com/rpm/RPM-GPG-KEY-niftiestsoftware
zypper update
zypper install cupscloudprint
/usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

.rpm file based installation

If your OS supports Yum repositories, it is preferable to install using a Yum repo, you will then automatically receive updates when new versions are released.

Run in a terminal ( as root, or using sudo ):

rpm --import https://niftyrepo.niftiestsoftware.com/rpm/RPM-GPG-KEY-niftiestsoftware
rpm -i https://niftyrepo.niftiestsoftware.com/cups-cloud-print/packages/cupscloudprint-20140814-1.noarch.rpm 
/usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

Gentoo, Sabayon, Funtoo etc - Portage Ebuild

The preferred way to install CUPS Cloud Print on Gentoo is using my layman repository - simply run in a terminal (as root with layman installed):

layman -o https://raw.github.com/simoncadman/niftyrepo-layman/master/repositories.xml -f -a niftyrepo
emerge -va cupscloudprint
/usr/share/cloudprint-cups/setupcloudprint.py

Then follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing.

You can alternatively download the latest ebuild manually to a local overlay and emerge as normal.

Arch, Chakra etc - Arch Pacman

Add to /etc/pacman.conf:

[niftyrepo]
Server = https://niftyrepo.niftiestsoftware.com/arch
SigLevel = Required TrustAll

Then run in a terminal ( as root, or using sudo ), answering 'Y' when asked to the import PGP key ( 2048R/C5541D9D ):

pacman -Syu cupscloudprint
/usr/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you’re done.

You can alternatively download the latest arch PKG file and install as normal.

Other (Source install) - Source Install

Run in a terminal ( as root, or using sudo ):

git clone git://github.com/simoncadman/CUPS-Cloud-Print.git
cd CUPS-Cloud-Print/
git checkout tags/20140814
./configure
make install
/usr/local/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done.

When upgrading, you should always run:

/usr/local/share/cloudprint-cups/upgrade.py

Mac OS X 10.7+ - Darwin Based

Download and run the latest package from here, then run in a terminal:

sudo /usr/local/share/cloudprint-cups/setupcloudprint.py

Follow the instructions about authorizing CUPS Cloud Print to use your Google Account for printing, and you're done.

FreeBSD, PC-BSD etc - FreeBSD based

CUPS Cloud Print is now in FreeBSD ports! See here for installation instructions.
Instructions for running source install
Run in a terminal ( as root, or using sudo ):
git clone git://github.com/simoncadman/CUPS-Cloud-Print.git
cd CUPS-Cloud-Print/
git checkout tags/20140702
./configure
gmake install
/usr/local/share/cloudprint-cups/setupcloudprint.py
Follow the instructions about authorising CUPS Cloud Print to use your Google Account for printing, and you're done. When upgrading, you should always run:
/usr/local/share/cloudprint-cups/upgrade.py

After installing CUPS Cloud Print ( see Installation ), you should first run the setup script, as root ( if you install from source the path will be /usr/local/share/cloudprint-cups ):

/usr/share/cloudprint-cups/setupcloudprint.py

This will create a CUPS printer for each Google Cloud Print printer on your account, and ( if it is the first time you have installed CUPS Cloud Print ) prompt you to allow CUPS Cloud Print to print using your account.

If you notice any bugs or would like to request a feature, please create an issue on the project’s Github issues page .

Which platforms can CUPS Cloud Print run on?

The supported operating systems are listed on the nstallation instructions section. It should work on any platform which those operating systems run on ( Raspberry Pi, embedded hardware such as routers, etc ).

I also generally prefer to only support Free operating systems for my software.

How do I remove google accounts from CUPS Cloud Print?

The deleteaccount.py script will remove accounts from CUPS Cloud Print:

sudo /usr/share/cloudprint-cups/deleteaccount.py

I've shared a CUPS Cloud Print printer over Samba for a Windows client, which printer driver should I use?

The "Samsung CLP-660 Series PS" printer driver works under Windows 7, but it may not work 100%, as it is unsupported. I believe basic printing does work though.

Google has added new options for my printer, but CUPS is not showing them as options, how to I force CUPS Cloud Print to refresh the printer capabilities?

Running the upgrade script refreshes the available printer options:

sudo /usr/share/cloudprint-cups/upgrade.py

224 thoughts on “CUPS Cloud Print”

  1. Hi Simon
    try to find a solution to use your software through a proxy server…
    Do you have any idea?
    Thanks

  2. Hi Pierre-Yves,

    I have an open Github issue to investigate proxy issues ( here ), but I haven’t looked at it in a while – the last time I checked using a transparent proxy worked fine ( eg where all HTTPS traffic is transparently sent via the proxy ), but there was no simple way to configure CUPS backends with a proxy.

    Simon

  3. Hi Pierre-Yves,

    According to the Google Cloud Print API documentation only a few filetypes are supported directly across all printers ( pdf, jpeg and png ), however it does mention that filetypes that an individual printer supports directly can be accepted by Google Cloud Print. I’ll look at making changes to CUPS Cloud Print to allow printing of extra filetypes without conversion that the printer claims to support.

    Thanks

    Simon

  4. I really needed this….. I am setting up some mint machines to use in charity run support program for expelled k12 students. This program hopes to minimize the academic impact of missing school for these challenged students. Since the school system has decreed Google Docs as the basic IT for all student and facility, these old XP machines have been given new life with the newly installed Mint with remote printing capability.
    thanks again…….

  5. Hi,

    I posted this on the bugs/request page, but in looking around the site it looks like I should have posted it here.

    I installed Cups Cloud Print on 1 computer at the office last night. It found and installed all of the cloud printers I have. I had it set to find all printers automatically. I have Epson WP-4530 printers at home, at the office, and at our church. It found all of those plus others. Each is individually named in Google Cloud Print. I tried installing this on a second computer at the office today. Since in the first install I had many printers in I didn’t want I selected to do the manual install. It did install the Epson WP-4530, but didn’t specify which of the three it installed. When trying to print, it says it printed successfully, but It isn’t coming to the printer here in the office. I don’t know where it is going. I tried uninstalling and purging cupscloudprint, then reinstalling. Even with automatic install selected, it is still not finding the individual printers, but just gives me the one Epson selection which seems to not be related any of the three in Google cloud Print. I ran the script to delete the account and associated printers, and then did a new install of that account. It still doesn’t give me the individual list of the three Epson printers as they are in my Google account. I’m beginning to think that it isn’t seeing all of them. Maybe the cupscloudprint will only work on one computer. Any help would be appreciated. Thank you.

  6. Hello,

    Using Brother printer MFC-J870DW cloud ready printer. Printer works fine using Acer 720 chromebook and when printing google docs etc. Also have Ubuntu 12.04 on Acer and operates on internet perfectly.

    However cannot print using Ubuntu at this time. Message in Ubuntu is: “failed to connect to server” “printing service not available – start the service or connect to another server”

    In the terminal, using: sudo system-config-printer, I get the message “Failed to load module unity-gtk-module”

    Questions:

    Although I think the problem is between Unity and Google cloud, in Ubuntu, where should the print driver for this Brother printer be located in the terminal?

    Secondly, from the comments, Ubuntu 10.04 package will work with Ubuntu 12.04. Is this a valid assumption?

    Regards
    Bill

  7. Hi Simon

    I get the following when trying to install to a Linux Mint 16

    W: Failed to fetch http://ppa.launchpad.net/simon-cadman/niftyrepo/ubuntu/dists/saucy/main/source/Sources 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/simon-cadman/niftyrepo/ubuntu/dists/saucy/main/binary-amd64/Packages 404 Not Found

    W: Failed to fetch http://ppa.launchpad.net/simon-cadman/niftyrepo/ubuntu/dists/saucy/main/binary-i386/Packages 404 Not Found

    E: Some index files failed to download. They have been ignored, or old ones used instead.

    These repositories are not found despite a few attempts at trying to reinstall

    Advice welcome

    Cheers

    Joe Rice

  8. Hi Joe,

    It looks like Mint 16 is based on Ubuntu Saucy ( 13.10 ), which is no longer supported, and so I can’t add PPA repositories for that version of Ubuntu or Mint.

    You should probably upgrade to a later OS version at some point to make sure you get security patches etc, but for now you can fix that error by replacing ‘saucy’ with ‘trusty’ in /etc/apt/sources.list.d/simon-cadman-niftyrepo-saucy.list , and then running ‘sudo apt-get update’.

    Hope this helps

    Simon

  9. Hi Bill,

    That error sounds like CUPS isn’t running, can you try running ‘sudo service cups restart’ in a terminal? It should restart the CUPS service, or at least hopefully give an error to explain why CUPS isn’t running ( the logs in /var/log/cups/ may also help ).

    The “Failed to load module unity-gtk-module” message may be because you are missing some packages ( this thread looks to be a similar issue ).

    Answers to your questions:

    1. CUPS Cloud Print is installed in /usr/share/cloudprint-cups/ , and it drops some driver programs in /usr/lib/cups/, you shouldn’t need to install any other printer drivers for CUPS Cloud Print to work with a cloud-ready printer.
    2. Yes, the Ubuntu packages should work on any version of Ubuntu after 10.04 ( it may even work on older versions, but I haven’t tested it recently ).

    Hope this helps

    Simon

  10. Hi Zombielinux,

    I’ve just released a new package ( cupscloudprint-20140814.1 ) which depends on python2-pycups instead of pycups, this seems to fix the problem. You should automatically pull in the new package from the niftyrepo repository next time you update.

    Thanks

    Simon

  11. Hi Simon,

    First of all, thank you for the great piece of software.

    Since upgrading to Yosemite on two machines, I’ve got this error popping up on both:

    Error adding: __Google_ (1280, u’server-error-internal-error’)
    Error adding: Generic_16BW-4 (1280, u’server-error-internal-error’)
    Error adding: Generic_16BW-4 (1280, u’server-error-internal-error’)
    Error adding: Samsung_SCX-4100_Series (1280, u’server-error-internal-error’)

    It is still some progress, because on the developer previews I couldn’t even install the package. I just thought I could bring this issue up, so hopefully it gets fixed in a next release.

  12. Simon,
    Great package, it seems to work really well with A4 printers like the Brother HL-2150N I have installed on a windows XP machine. However, I am struggling with label printers. I have a Star TSP 700 II. It is installed on a windows XP machine and prints well directly from that machine to a custom label size (52x30cm). However, when this printer is added to CUPS via cloudprint, CUPS never picks the “media size” up correctly (defined under “default options”, even though it picks up the “page_size” as the custom label size defined in windows XP.

    How do I tell cups what the “media size” is? It keeps printing out 4 labels at a time. I presume that cups-cloudprint is using the drivers installed on the XP host machine? It seems strange that it can print fine locally, but not from cups….

    Any thoughts appreciated.

  13. Hi Cahir,

    Thanks, I haven’t personally tried CUPS Cloud Print with label printers – I guess the label printer is connected to the XP host machine, and somehow setup with Google Cloud Print on there ( I assume using Google Chrome or Chromium to share toe printer ), so it could be CUPS Cloud Print, Google Chrome or Chromium, or the drivers, or even Google Cloud Print itself not passing along the correct media size.

    Have you tried printing directly from Google Cloud Print and seeing if that works ( https://www.google.com/cloudprint/#printers – ‘Print’ button on left, upload a test file manually and select the media size in the options )? That may help narrow down where the problem is.

    Thanks

    Simon

  14. Simon, Thanks for your reply and suggestions. You are correct – the label printer is an ethernet printer which is installed on Windows XP, where the default label size is specified. CUPS seems to pick up this label size from XP via cloudprint. This printer will print PDF labels just fine when sent locally from the XP machine.

    I printed directly from Google Cloudprint. The label came out fine, but there were an additional 2 blank labels. I suspect that this is because CUPs has the “media size” setting to A4 or letter. I can’t get anything smaller. If I installed this printer to cups directly, I would select the star drivers for cups, which would allow me to specify the media size. But I can’t seem to use these drivers when using cups-cloudprint, I can only use the cloudprint connection. Is there any way to specify that cups uses the star drivers?

    I also printed from the command line use lpr. The label printed, but again had an additional one blank label. So who knows?

  15. Hi Cahir,

    CUPS Cloud Print essentially is the ‘driver’ that CUPS uses the print with Google Cloudprint – it populates the parameters ( including media size ) from what Google Cloud Print provides, if you can send me the output ( via email to src@niftiestsoftware.com would be good ) of this command I can see if its something I can fix or work around in CUPS Cloud Print:

    sudo /usr/share/cloudprint-cups/reportissues.py

    Thanks

    Simon

  16. What’s going on here? CUPS trys to print, encounters an error and then disables the Queue.

    CloudPrint;MDL:gcp://mschiller%40gmail.com/__google__docs”

    {u’status': u”, u’isTosAccepted': False, u’updateTime': u’1370287324050′, u’gcpVersion': u’1.0′, u’description': u’Save your document as a PDF in Google Drive’, u’name': u’Save to Google Docs’, u’tags': [u’^recent’, u’__google__drive_enabled’, u’save’, u’docs’, u’pdf’, u’google’], u’defaultDisplayName': u’Save to Google Drive’, u’accessTime': u’1316132041869′, u’connectionStatus': u’ONLINE’, u’id': u’__google__docs’, u’ownerName': u’Cloud Print’, u’capsHash': u”, u’displayName': u’Save to Google Drive’, u’ownerId': u’cloudprinting@gmail.com’, u’type': u’DRIVE’, u’createTime': u’1311368403894′, u’proxy': u’google-wide’}
    [{u’type': u’ParameterDef’, u’psf:DataType': u’xsd:string’, u’psk:DisplayName': u’Google Drive File Name’, u’name': u’__goog__drive_file_name’}]

    Traceback (most recent call last):
    File “/usr/share/cloudprint-cups/reportissues.py”, line 62, in
    stdout=subprocess.PIPE)
    File “/usr/lib64/python2.6/subprocess.py”, line 642, in __init__
    errread, errwrite)
    File “/usr/lib64/python2.6/subprocess.py”, line 1234, in _execute_child
    raise child_exception
    OSError: [Errno 13] Permission denied

  17. Hi Matthew,

    That sounds like the permissions/ownerships for the dynamicppd.py script are wrong ( in /usr/share/cloudprint-cups ), the script should be owned by the ‘root’ user and be executable by the owner. I’d also advise checking the permissions of /usr/share/cloudprint-cups/backend.py if the permissions of dynamicppd.py have somehow been changed.

    Hope this helps

    Simon

    EDIT: Sorry, should be owned by root, not lp user

  18. I have an old MACBook running OS 10.6 and a new Brother HL-L2340 printer. The printer prints blank pages (works fine from my phone and my HP Chromebook 14). Will CUPS solve this problem? If so, how do I install CUPS?

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>