Canon Pixma G1000 and 2000 do not have official drivers for Linux. So we need to install drivers from Gutenprint, or buy drivers from Turboprint. Turbiprint has excellent drivers which provide almost equivalent functionality as Windows. I said almost because they do not proivide a scanner utility or drivers. [Update: Scanning now works on Linux with sane drivers. Check my post.]

I’ll be installing gutenprint (available free) on Ubuntu Xenial.
Before proceeding, switch off your printer, and delete any existing non-functional drivers for G2000.
First add the following lines to your /etc/apt/sources.list if you dont have it:

deb xenial-proposed main restricted universe multiverse 
deb-src xenial-proposed main restricted universe multiverse 

Install required dependencies:

sudo apt-get build-dep cups-common gimp-gutenprint libgutenprint-dev

On official xenial release and a virgin sources.list, if you’re facing issues getting cups-common source to install, change your sources.list to the following:

###### Ubuntu Main Repos
deb xenial main restricted universe multiverse 
deb-src xenial main restricted universe multiverse 

###### Ubuntu Update Repos
deb xenial-security main restricted universe multiverse 
deb xenial-updates main restricted universe multiverse 
deb-src xenial-security main restricted universe multiverse 
deb-src xenial-updates main restricted universe multiverse 

###### Ubuntu Partner Repo
deb xenial partner
deb-src xenial partner

Now download the source release package (version >=5.2.13) from sourceforge or the git repo:

tar xvf download
cd gutenprint-5.2.13


git clone gimp-print-source

Now configure and make everything.

sudo make install

After running configure, it should like this:

Configuration Summary:
------------- --------

If you have any problems, please report the information below to
[email protected]

  Release: gutenprint 5.2.13 generated on 16 Jul 2017

    Build CUPS:                                 yes, installing in /usr
        Build CUPS 1.2 enhancements:            yes
        Build CUPS PPD files:                   no
        Generate PS level 3 CUPS PPD files:     yes
        Build genppd statically:                yes
        Build CUPS dyesub USB backend:          yes
    Build EPSON inkjet utility:                 yes
    Build enhanced Print plugin for GIMP:       yes
        GIMP plugin will be named:              gutenprint
        Install plugin(s) in home directory:    no
    Build test programs:                        yes
    Build testpattern generator:                yes

  Installation summary:
    Installation prefix:                        /usr/local
    Exec prefix:                                /usr/local (${prefix})
    Data directory:                             /usr/local/share/gutenprint
    Library directory:                          /usr/local/lib/gutenprint (/usr/local/lib/gutenprint)
    XML data directory:                         /usr/local/share/gutenprint/5.2/xml
    Module directory:                           /usr/local/lib/gutenprint/5.2/modules (/usr/local/lib/gutenprint/5.2/modules)
    Install sample images:                      yes

  General configuration:
    Compiler options:                           -Disfinite=finite  -O6  -Wall -Wcast-align -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -Wwrite-strings -Werror-implicit-function-declaration -Winline -Wformat=2 -finline-limit=131072
    Build static libraries:                     yes
    Build shared libraries:                     yes
    Maintainer mode:                            no
    Use i18n:                                   yes
    Generate profiling information:             no
    Generate debugging symbols:                 no
    Use modules:                                static
    Use readline libraries:                     yes, extra arguments: -ltermcap
    uname -a output:                            Linux hp 4.10.0-30-generic #34~16.04.1-Ubuntu SMP Wed Aug 2 02:13:56 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

Once make install is completed, switch on your printer. Ubuntu will show a notification that the printer G2000 was added successfully.

To get the scanner function working, install Vuescan, a paid software. Unfortunately, I wasnt able to get it to work with sane or scangearmp2. If you come across a non-paid solution, do share it with me.
I’ve now successfully got the scanner function too working with the help of the dev behind scangearmp. Check this post for details.

If after updating your Ubuntu packages, you face problem with the printer not printing, check CUPS for any error messages, at

If it shows “stopped
“The PPD version (5.2.12) is not compatible with Gutenprint 5.2.13. Please run `/usr/sbin/cups-genppdupdate’ as administrator.”, then just do what it says:

# sudo /usr/sbin/cups-genppdupdate
Updated /etc/cups/ppd/G2000-series.ppd using gutenprint.5.2://bjc-G2000-series/expert
Updated 1 PPD file.  Restart cupsd for the changes to take effect.
# sudo service cups restart

Post your comments below. Did it work for you? If it did, would you like to show your thanks by donating?