Imprimir a partir da linha de comando

18

Como posso imprimir a saída da linha de comando diretamente para a impressora?

Estou usando o ubuntu server 12.04 e tenho que copiar arquivos em um diretório compartilhado e depois baixá-los de uma distribuição ubuntu do desktop para imprimi-los.

Qualquer ajuda é apreciada

    
por kamil 11.03.2014 / 14:38

7 respostas

24

Principalmente, existem dois comandos padrão:

lpr e lp

man lpr fornece a saída:

  

O lpr envia arquivos para impressão. Arquivos nomeados na linha de comando   estamos          enviado para a impressora nomeada (ou o destino padrão, se não houver destino          é especificado). Se nenhum arquivo estiver listado na linha de comandos, lpr lê          o arquivo de impressão da entrada padrão.

man lp fornece a saída:

  

lp envia arquivos para impressão ou altera um trabalho pendente. Use um   nome do arquivo          de "-" para forçar a impressão a partir da entrada padrão.

use facilmente o comando:

lp /path-to-file-to-print

Ou

lpr /path-to-file-to-print
    
por Maythux 11.03.2014 / 14:40
13

Você pode usar lp

Por exemplo:

man firefox | lp -d printername

Isso imprimirá a página man do firefox para a impressora especificada

    
por Noosrep 11.03.2014 / 14:42
3

Se você os instalou, outro par de opções que vale a pena conhecer são

  • texto

e

  • a2ps

São úteis para fornecer páginas numeradas com títulos e números de linha opcionais. Você também pode usar para imprimir o estilo de livreto (por exemplo, duas páginas em cada lado de uma folha)

Eu os uso com impressoras compatíveis com Postscript, mas acredito que o sistema de impressão do Ubuntu pode rasterizar o PS para qualquer impressora suportada.

    
por RedGrittyBrick 11.03.2014 / 15:17
1

Para imprimir um arquivo .txt em um uso:

command | lpr -P printername -p ( periority from 1 to 100 )

Exemplo:

ls -l | lpr -P printername -p 1 
    
por nux 11.03.2014 / 14:43
0

A questão é sobre como imprimir a partir da linha de comando em um servidor , e parece que você ainda não tem nenhuma impressora definida nesse sistema. Não tenho um sistema para verificar, por isso, os itens a seguir são aproximados, mas eles devem fornecer uma ideia geral:

  1. Certifique-se de que o sistema CUPS esteja instalado e em execução. Ele fornece o daemons que manipularão seus trabalhos de impressão.
  2. Quando isso ocorrer, você precisará configurar uma ou mais impressoras de rede para imprimir para. A maneira usual de instalar impressoras é com a Impressora Admin , mas você evidentemente não está configurado para executar qualquer GUI programas de seu servidor - apenas acesso via linha de comando via ssh. Desde a você já tem um sistema de desktop Ubuntu na mesma rede, eu tente copiar o conteúdo do diretório /etc/cups da caixa da área de trabalho para o servidor. Ele deve conter todas as definições e drivers de impressora necessários. Verifique os arquivos para quaisquer ajustes necessários (no caso do seu a configuração menciona IDs de usuário ou senhas que diferem entre os dois sistemas), reinicie cupsd e, se tiver sorte, você poderá usar lpr para imprima a partir da linha de comando.

PS. Em um piscar de olhos, você pode instalar utilitários X suficientes para executar o utilitário GUI Imprimir Admin através de uma conexão X remota à sua caixa Ubuntu do desktop (faça login com ssh -X ) e definir as impressoras necessárias. Mas esperamos que isso não seja necessário.

    
por alexis 12.03.2014 / 19:52
0

Você pode querer descobrir como a impressora é acessada primeiro - lpstat lhe dará essa informação. Se você comparar sua saída em ambos os sistemas, provavelmente poderá dizer se a impressora em questão foi configurada em ambos. lpstat -p -d lista todas as impressoras com seu status e informa qual delas foi definida como impressora padrão.

Você pode simplesmente enviar sua saída para o comando lp ou lpr . Você pode querer inserir um filtro para impressão bonita ou paginação. Há um bom resumo de ferramentas no manual debian "Como realçar e formatar dados em texto simples" , mas geralmente estou usando apenas sed para destacar prompts e outras coisas antes de enviar tudo por a2ps

    
por Tatjana Heuser 15.11.2014 / 02:00
0

Você pode usar o comando lp .

Para imprimir a saída de um comando para a impressora padrão (use lpstat -d para ver qual é a impressora padrão):

echo "test" | lp

Para imprimir em uma impressora específica (use lpstat -p | awk '{print }' para listar nomes de impressoras disponíveis):

echo "test" | lp -d printername

Para imprimir um arquivo, em vez de uma saída de comando:

lp /path/to/file
    
por waldyrious 16.01.2015 / 21:46

Tags