A LPR faz parte do sistema de impressão BSD original. Era bastante simples e direto, mas não tinha todos os recursos de gerenciamento que os grandes ambientes de impressão desejavam. Você poderia hackear para fazer todo tipo de coisa empurrando os filtros no lugar certo, mas era bastante desleixado. Ele também incluía uma funcionalidade de rede muito limitada, permitindo enviar trabalhos para uma impressora remota, mas como o protocolo foi projetado apenas com texto sem formatação, ele nunca teve provisões para determinar os tipos de documentos e traduzi-los para o que a impressora pudesse entender. . Soluções alternativas ad-hoc ajudaram. Como o protocolo de rede era muito simples, muitas e muitas impressoras de rede o suportam.
O Sistema V projetou um sistema maior que permitia ter coisas como classes de impressoras, e um trabalho de impressão iria para a primeira impressora gratuita da classe. (Por exemplo, se você tivesse uma sala de máquinas com três impressoras.) Ele também tentou criar um suporte mais formalizado para filtros e coisas assim, mas, infelizmente, também é muito, muito antigo e não foi projetado para ambientes de rede.
Atualmente, ninguém realmente usa nenhum desses sistemas. O CUPS assumiu o controle dos sistemas de impressão, mas oferece as ferramentas de linha de comando para impressão lpr e SYSV (lp). Isso é apenas para compatibilidade. Você pode usar qualquer comando que achar mais fácil.