+ Responder ao Tópico



  1. #1

    Question Problema com desempenho nas impressoras de rede gerenciada pelo CUPS

    Amigos, Boa tarde

    Na minha empresa tenho 04 impressoras em rede, todas elas funcionam muito bem, pois antes eu usava Windows 7, minha dor de cabeça começou quando migrei do Windows para cinnamon, agora as impressões estão demorando muito para imprimir, tem alguns caso que não demora, mais já tive caso de demora minutos e ate horas com arquivo de 755K, estou utilizando o CUPS como gerenciador de impressão, eu alguém poderia da uma luz?

    Impressoras:
    HP Color LaserJet 2600n – 10.1.15.128
    Brother DCP-8085DN – 10.1.15.129
    Brother MFC-9460CDN – 10.1.15.130
    Kyocera ECOSYS M2035dn – 10.1.15.131

    OS:
    Linux Mint Cinnamon 18.1
    Kernel 4.4.0-124-generic
    Package: cups
    Version: 2.1.3-4ubuntu0.4

    Pacotes relacionados com cups:
    $ less list.txt |grep cups*
    bluez-cups install
    cups install
    cups-browsed install
    cups-bsd install
    cups-client install
    cups-common install
    cups-core-drivers install
    cups-daemon install
    cups-filters install
    cups-filters-core-drivers install
    cups-pdf install
    cups-pk-helper install
    cups-ppdc install
    cups-server-common install
    libcups2:amd64 install
    libcups2:i386 install
    libcupscgi1:amd64 install
    libcupsfilters1:amd64 install
    libcupsfilters1:i386 install
    libcupsimage2:amd64 install
    libcupsimage2:i386 install
    libcupsmime1:amd64 install
    libcupsppdc1:amd64 install
    printer-driver-cups-pdf install
    printer-driver-hpcups install
    python-cups install
    python3-cups install
    python3-cupshelpers install


    $ vi /etc/cups/cupsd.conf

    # Configuration file for the CUPS scheduler. See "man cupsd.conf" for a
    # complete description of this file.
    #

    # Log general information in error_log - change "warn" to "debug"
    # for troubleshooting...
    LogLevel warn
    PageLogFormat

    # Deactivate CUPS' internal logrotating, as we provide a better one, especially
    # LogLevel debug2 gets usable now
    MaxLogSize 0

    # Only listen for connections from the local machine.
    Listen localhost:631
    Listen /var/run/cups/cups.sock

    # Show shared printers on the local network.
    Browsing Off
    BrowseLocalProtocols dnssd

    # Default authentication type, when authentication is required...
    DefaultAuthType Basic

    # Web interface setting...
    WebInterface Yes

    # Restrict access to the server...
    <Location />
    Order allow,deny
    </Location>

    # Restrict access to the admin pages...
    <Location /admin>
    Order allow,deny
    </Location>

    # Restrict access to configuration files...
    <Location /admin/conf>
    AuthType Default
    Require user @SYSTEM
    Order allow,deny
    </Location>

    # Restrict access to log files...
    <Location /admin/log>
    AuthType Default
    Require user @SYSTEM
    Order allow,deny
    </Location>

    # Set the default printer/job policies...
    <Policy default>
    # Job/subscription privacy...
    JobPrivateAccess default
    JobPrivateValues default
    SubscriptionPrivateAccess default
    SubscriptionPrivateValues default

    # Job-related operations must be done by the owner or an administrator...
    <Limit Create-Job Print-Job Print-URI Validate-Job>
    Order deny,allow
    </Limit>

    <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
    Require user @owner @SYSTEM
    Order deny,allow
    </Limit>

    # All administration operations require an administrator to authenticate...
    <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default CUPS-Get-Devices>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
    </Limit>

    # All printer operations require a printer operator to authenticate...
    <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
    </Limit>
    # Only the owner or an administrator can cancel or authenticate a job...
    <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @owner @SYSTEM
    Order deny,allow
    </Limit>

    <Limit All>
    Order deny,allow
    </Limit>
    </Policy>

    # Set the authenticated printer/job policies...
    <Policy authenticated>
    # Job/subscription privacy...
    JobPrivateAccess default
    JobPrivateValues default
    SubscriptionPrivateAccess default
    SubscriptionPrivateValues default

    # Job-related operations must be done by the owner or an administrator...
    <Limit Create-Job Print-Job Print-URI Validate-Job>
    AuthType Default
    Order deny,allow
    </Limit>

    <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job Cancel-My-Jobs Close-Job CUPS-Move-Job CUPS-Get-Document>
    AuthType Default
    Require user @owner @SYSTEM
    Order deny,allow
    </Limit>

    # All administration operations require an administrator to authenticate...
    <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
    </Limit>

    # All printer operations require a printer operator to authenticate...
    <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
    </Limit>

    # Only the owner or an administrator can cancel or authenticate a job...
    <Limit Cancel-Job CUPS-Authenticate-Job>
    AuthType Default
    Require user @owner @SYSTEM
    Order deny,allow
    </Limit>

    <Limit All>
    Order deny,allow
    </Limit>
    </Policy>

    CUPS:
    Clique na imagem para uma versão maior

Nome:	         Captura de tela de 2018-05-18 14-58-16.png
Visualizações:	236
Tamanho: 	62,7 KB
ID:      	68544Clique na imagem para uma versão maior

Nome:	         Captura de tela de 2018-05-18 14-59-07.png
Visualizações:	238
Tamanho: 	62,8 KB
ID:      	68545Clique na imagem para uma versão maior

Nome:	         Captura de tela de 2018-05-18 14-59-41.png
Visualizações:	204
Tamanho: 	53,9 KB
ID:      	68546Clique na imagem para uma versão maior

Nome:	         Captura de tela de 2018-05-18 15-00-33.png
Visualizações:	223
Tamanho: 	62,5 KB
ID:      	68547

    Obrigado,

  2. #2

    Padrão Re: Problema com desempenho nas impressoras de rede gerenciada pelo CUPS

    Falae, Good_Speed!

    Precisa antes de tudo, ativar o modo debug para capturar os logs e na hora que surgir a lentidão na impressora, possa ver o que está acontecendo.

    Altera o 'LogLevel warn' no seu /etc/cups/cupsd.conf, mude para:

    LogLevel debug

    Aí depois da correria, dá uma espionada no seu /var/log/cups/error_log

    tail -n 100 -f /var/log/cups/error_log
    tail -n 100 -f /var/log/cups/page_log
    tail -n 100 -f /var/log/cups/access_log


    É claro que é importante saber como o CUPS funciona se quiser resolver esse problema ou qualquer outro relacionado a impressão:

    Um aplicativo envia um arquivo .ps (PostScript, uma linguagem de script que detalha a aparência da página) para o CUPS quando a 'impressão' foi selecionada pelo usuario (esse é o caso da maioria dos programas).

    O CUPS examina o arquivo PPD da impressora (arquivo de descrição da impressora) e descobre quais filtros ele precisa usar para converter o arquivo .ps em um idioma que a impressora entenda (como PJL, PCL), geralmente GhostScript.

    O GhostScript por sua vez pega a entrada e descobre quais filtros ela deve usar, depois aplica-os e converte o arquivo .ps para um formato entendido pela impressora.
    Então é enviado para o back-end. Por exemplo, se a impressora estiver conectada a uma porta USB, ela usará o back-end USB.

    Faça uns testes imprimindo algum documento e check os arquivos de logs para obter uma idéia detalhada do processo de impressão. Pode ser que a resposta para a solução apareça em algum lugar desse processo. Tem que cercar o problema aos poucos...

    Vou deixar abaixo um link muito bom sobre debug de impressao do ubuntu:

    https://wiki.ubuntu.com/DebuggingPrintingProblems
    Última edição por tyuatsu; 19-05-2018 às 02:37. Razão: esqueci de colocar um link

  3. #3

    Padrão

    tyuatsu, obrigado pela dica, vou ativar o debug e tentar localizar o gargalo do problema...


    Citação Postado originalmente por tyuatsu Ver Post
    Falae, Good_Speed!

    Precisa antes de tudo, ativar o modo debug para capturar os logs e na hora que surgir a lentidão na impressora, possa ver o que está acontecendo.

    Altera o 'LogLevel warn' no seu /etc/cups/cupsd.conf, mude para:

    LogLevel debug

    Aí depois da correria, dá uma espionada no seu /var/log/cups/error_log

    tail -n 100 -f /var/log/cups/error_log
    tail -n 100 -f /var/log/cups/page_log
    tail -n 100 -f /var/log/cups/access_log


    É claro que é importante saber como o CUPS funciona se quiser resolver esse problema ou qualquer outro relacionado a impressão:

    Um aplicativo envia um arquivo .ps (PostScript, uma linguagem de script que detalha a aparência da página) para o CUPS quando a 'impressão' foi selecionada pelo usuario (esse é o caso da maioria dos programas).

    O CUPS examina o arquivo PPD da impressora (arquivo de descrição da impressora) e descobre quais filtros ele precisa usar para converter o arquivo .ps em um idioma que a impressora entenda (como PJL, PCL), geralmente GhostScript.

    O GhostScript por sua vez pega a entrada e descobre quais filtros ela deve usar, depois aplica-os e converte o arquivo .ps para um formato entendido pela impressora.
    Então é enviado para o back-end. Por exemplo, se a impressora estiver conectada a uma porta USB, ela usará o back-end USB.

    Faça uns testes imprimindo algum documento e check os arquivos de logs para obter uma idéia detalhada do processo de impressão. Pode ser que a resposta para a solução apareça em algum lugar desse processo. Tem que cercar o problema aos poucos...

    Vou deixar abaixo um link muito bom sobre debug de impressao do ubuntu:

    https://wiki.ubuntu.com/DebuggingPrintingProblems