LPR fa parte del sistema di stampa BSD originale. Era abbastanza semplice e diretto, ma non aveva tutte le capacità di gestione richieste dai grandi ambienti di stampa. Potresti hackerarlo per fare ogni genere di cose spingendo i filtri nel posto giusto, ma era piuttosto goffo. Comprendeva anche una funzionalità di rete molto limitata che permetteva di inviare lavori a una stampante remota, ma poiché il protocollo era stato progettato pensando solo al testo normale, non aveva mai veramente disposizioni per determinare i tipi di documenti e tradurli in ciò che la stampante poteva capire . Le soluzioni ad hoc hanno aiutato. Dato che il protocollo di rete era così semplice, un sacco di stampanti di rete lo supportano.
System V ha progettato un sistema più grande che ti ha permesso di avere cose come classi di stampanti e un lavoro di stampa sarebbe andato alla prima stampante gratuita della classe. (Ad esempio, se avessi una sala macchine con tre stampanti.) Ha anche provato a creare un supporto più formale per filtri e cose del genere, ma purtroppo è anche molto, molto vecchio e non progettato per ambienti di rete.
Al giorno d'oggi, nessuno usa davvero nessuno dei due sistemi. CUPS ha rilevato i sistemi di stampa, ma offre gli strumenti a riga di comando sia per la stampa lpr che SYSV (lp). Questo è solo per compatibilità. Puoi usare uno dei comandi che ritieni più semplice.