LPR ist Teil des ursprünglichen BSD-Drucksystems. Es war ziemlich einfach und unkompliziert, aber es hatte nicht alle Verwaltungsfunktionen, die große Druckumgebungen wollten. Sie konnten es hacken, um alle möglichen Dinge zu tun, indem Sie Filter an die richtige Stelle schieben, aber es war ziemlich klobig. Es enthielt auch eine sehr eingeschränkte Netzwerkfunktionalität, die es Ihnen ermöglichte, Aufträge an einen entfernten Drucker zu senden, aber da das Protokoll nur für Klartext konzipiert war, hatte es nie wirklich Vorkehrungen zur Bestimmung von Dokumententypen und deren Übersetzung in das, was der Drucker verstehen konnte . Ad-hoc-Workarounds halfen. Da das Netzwerkprotokoll so einfach war, wird es von vielen, vielen Netzwerkdruckern unterstützt.
System V entwarf ein größeres System, das es Ihnen ermöglichte, Dinge wie Druckerklassen zu haben, und ein Druckauftrag ging an den ersten freien Drucker in der Klasse. (Zum Beispiel, wenn Sie einen Maschinenraum mit drei Druckern hätten.) Es wurde auch versucht, eine stärker formalisierte Unterstützung für Filter und ähnliches einzubauen, aber leider ist es auch sehr, sehr alt und nicht wirklich für Netzwerkumgebungen ausgelegt.
Heutzutage verwendet niemand wirklich beide Systeme. CUPS hat die Drucksysteme übernommen, bietet aber die Befehlszeilenwerkzeuge sowohl für den lpr- als auch für den SYSV-Druck (lp). Das dient nur der Kompatibilität. Sie können jeden Befehl verwenden, den Sie am einfachsten finden.