Printing with the Linux OS is dealt with by CUPS =Common Unix Printing
System (initiated by Apple Inc)
Admin of CUPS is through http://localhost:631/
To see which printers are known to CUPS see :
http://www.openprinting.org/printers
Personal experience is that HP and Epson printers work with CUPS but the
list in the above web site show many more makes/types .
Canon did not support Linux ,but it is rumoured they do now
To my knowledge Lexmark printer are to be avoided for Linux OS printing.
BTW : CUPS package is installed with most if not all distros.