O erro indica que não existe um destino padrão.
Para citar o printcap(5)
página de manual:
The default printer is normally lp, though the environment variable
PRINTER may be used to override this. Each spooling utility supports an
option, -P printer, to allow explicit naming of a destination printer.
Então, altere a primeira linha da sua entrada do printcap para
lp|canon|local line printer:\
ou defina a variável PRINTER como "canon" ou "local line printer".
Infelizmente, não posso dizer o que mais está errado aqui. : (