O LPR faz parte do sistema de impressão original do BSD. Era bastante simples e direto, mas não tinha todos os recursos de gerenciamento que os grandes ambientes de impressão queriam. Você poderia fazer isso para fazer todo tipo de coisa, colocando os filtros no lugar certo, mas era bem desajeitado. Ele também incluía uma funcionalidade de rede muito limitada, permitindo que você enviasse trabalhos para uma impressora remota, mas como o protocolo foi projetado apenas com texto simples, ele nunca teve disposições para determinar tipos de documentos e traduzi-los para o que a impressora poderia entender. . Soluções alternativas ad-hoc ajudaram. Como o protocolo de rede era tão simples, muitas e muitas impressoras de rede o suportam.
O System V projetou um sistema maior que permitia ter coisas como classes de impressoras, e um trabalho de impressão iria para a primeira impressora livre da classe. (Por exemplo, se você tivesse uma sala de máquinas com três impressoras.) Ela também tentou criar um suporte mais formalizado para filtros e coisas desse tipo, mas, infelizmente, é muito, muito antiga e não projetada para ambientes em rede. p>
Hoje em dia, ninguém usa realmente nenhum dos sistemas. O CUPS assumiu os sistemas de impressão, mas oferece as ferramentas de linha de comando para impressão lpr e SYSV (lp). Isso é apenas por compatibilidade. Você pode usar qualquer comando que achar mais fácil.