Linux: Printing to Konica Minolta Copiers

Caveat:  due to the general level of variability across Konica Minolta copier models and Linux OS’s, this doc should be considered a guide rather than a hard and fast instruction set.

1. Download the PPD driver file from Konica Minolta. At the time of this writing, KM’s EU site provided the best drivers ( 

The PPD should start out looking similar to this:

*PPD-Adobe: "4.3"
*FormatVersion: "4.3"
*LanguageVersion: English
*LanguageEncoding: ISOLatin1
*FileVersion: "20000.0000"
*% Linux Version

2. Place the ppd in /usr/share/ppd/custom/ (Ubuntu), or /usr/share/ppd/cupsfilters (Red Hat). With an editor, add the following lines to the PPD to make it call a filter that we will write in a moment.

*cupsFilter: "application/vnd.cups-raw 0 minolta"
*cupsFilter: "application/vnd.cups-command 0 commandtops"
*cupsFilter: "application/vnd.cups-postscript 0 minolta"

Note that the process of installing the printer will/should create a copy of this ppd file in the appropriate place in your flavor of Linux.

3. Create a filter file called “minolta” in /usr/lib/cups/filter/:

source /etc/cups/ppd/${PRINTER}.km
echo -en "\033%-12345X"
echo -en "@PJL JOB\015\012"
echo -en "@PJL SET KMUSERNAME = \"${ACCOUNT_NAME}\"\015\012"
echo -en "@PJL SET KMSECTIONKEY2 = \"${ACCOUNT_PASSWORD}\"\015\012"
echo -en "@PJL SET KMCOETYPE = ${ACCOUNT_COETYPE}\015\012"
cat -
echo -en "\004\033%-12345X\015\012@PJL EOJ\015\012"
echo -en "\033%-12345X"

This file allows injection of PJL commands. It must have execute permission:  chmod +x minolta
Note that the KMSECTIONKEY2 variable MAY CHANGE depending on your specific KM printer. 

4. Follow the standard procedure for your flavor of Linux to install an LPD (NOT IPP!) printer with the PPD driver in CUPS. This will/should create a copy of the ppd in /etc/cups/ppd/.

5. Create a text file with the variables for the filter to reference. This file should be in /etc/cups/ppd/, and should have the same filename as the ppd file being used for printing, but with the extension ".km" instead of “.ppd".

Note:  The values for account name and account password must be provided by whomever is in charge of the copier you are trying to connect to. Also note that, as below, the account name field may be left blank (i.e.; with just two double quotes to obey syntax requirements).


6. Restart the cups service

RedHat:  systemctl restart cups.service
Ubuntu:  service cups restart


Note:  this method was verified to work with a RHEL 7.3 virtual machine running on OS X on 17 May 2017.

Was this helpful?
0 reviews


Article ID: 12120
Thu 4/7/16 3:09 PM
Wed 5/17/17 10:16 AM