CUPS: A adição de impressora falha com “Não é possível obter lista de drivers de impressora: sucesso”

2

Ao instalar uma nova impressora usando a interface da web do CUPS, em vez de exibir a lista de drivers, apenas a mensagem

Unable to get list of printer drivers:
Success

é exibido. Nenhuma impressora pode ser adicionada.

Pergunta: Qual é o problema aqui? Pesquisando na internet dá vários relatos do problema, mas é difícil encontrar uma solução.

Mais informações:

Além disso, adicionar impressoras por meio de outras GUIs que se comunicam com o CUPS não funciona.

Além disso, a execução

lpinfo -m

imprime depois de algum tempo

lpinfo: success

em vez de uma lista de drivers e executando

/usr/lib/cups/driver/foomatic list

leva muito muito tempo no uso da CPU.

    
por Golar Ramblar 15.04.2016 / 17:43

3 respostas

3

Esse bug é acionado como uma interação entre gutenprint , foomatic e cups .

Solução rápida:

  • Remover gutenprint ,
  • ou: Remova o pacote que fornece /usr/lib/cups/driver/foomatic (que é foomatic-db-engine no Arch Linux),
  • ou: remova manualmente os arquivos /usr/share/foomatic/db/source/driver/gutenprint-ijs*.xml .

Mais em profundidade:

Há uma discussão informativa sobre esse problema [ já aqui ], portanto, forneço apenas um resumo:

  • gutenprint instala dois arquivos XML comparativamente grandes, ou seja, /usr/share/foomatic/db/source/driver/gutenprint-ijs-simplified.5.2.xml e /usr/share/foomatic/db/source/driver/gutenprint-ijs.5.2.xml (como na versão atual até o momento desta publicação).
  • foomatic ou um de seus sub-pacotes ( foomatic-db-engine no Arch Linux) instale o script perl /usr/lib/cups/driver/foomatic .
  • Quando o CUPS tenta obter uma lista de drivers de impressora, /usr/lib/cups/driver/foomatic list é chamado, o que demora muito tempo nos grandes arquivos XML (isso é uma falha de /usr/lib/cups/driver/foomatic ). Eventualmente, pode terminar, mas o CUPS expira antes sem obter nenhuma informação sobre drivers de impressora e produz este estranho Success -error. Como ele não obteve informações sobre os drivers da impressora, não é possível adicionar impressoras através de qualquer interface ao CUPS além de editar manualmente os arquivos de configuração.

Portanto, contanto que /usr/lib/cups/driver/foomatic não seja corrigido para ser mais rápido em arquivos grandes, provavelmente a melhor solução é, se alguém quiser ter ambos gutenprint e um foomatic -install completo, para remover manualmente os dois grandes arquivos XML fornecidos pelo gutenprint. (Aumentar o tempo limite no CUPS não seria bom, já que alguém poderia esperar por horas.)

Para o Arch Linux, se alguém constrói o pacote localmente (por exemplo, através do Arch Build System, ou instalando com yaourt e tendo customizepkg configurado), pode aplicar o seguinte patch ao PKGBUILD of gutenprint para ter a modificação dentro do pacote:

--- PKGBUILD.old        2016-04-14 18:13:15.000000000 +0200
+++ PKGBUILD.new        2016-04-14 18:41:47.000000000 +0200
@@ -47,5 +47,8 @@
 package() {
   cd ${pkgname}-${pkgver}
   make DESTDIR=${pkgdir} install
+
+  # The following line was added by '"'customizepkg-scripting'"', script '"'$0'"', in order to work around the bug described at https://bugs.archlinux.org/task/47718
+  rm -fv "${pkgdir}"/usr/share/foomatic/db/source/driver/gutenprint-ijs*.xml
 }
    
por 15.04.2016 / 17:51
2

Eu encontrei uma maneira de depurar esse problema. As copas são executadas em lpinfo -m para obter uma lista de drivers de impressora, e isso executa scripts em /usr/lib/cups/driver , e um deles está causando problemas. Ao remover todos os scripts e adicioná-los um por um, você pode determinar qual script está causando os problemas.

  1. Mova todos os scripts para um subdiretório, para que eles sejam ignorados.

    cd /usr/lib/cups/driver
    mkdir disabled
    mv * disabled
    
  2. Execute /usr/sbin/lpinfo -m . Se isso funcionar corretamente, será exibida uma lista de drivers de impressora. Se isso falhar, imprimirá "lpinfo: sucesso".

  3. Faça isso para cada driver: mova um driver de volta e verifique se foi a causa executando lpinfo:

    mv disabled/dymo  .
    lpinfo -m
    
  4. Assim que isso gerar lpinfo: Success , o último driver que você moveu causou os problemas.

por 03.07.2016 / 15:43
1

Eu também tinha " Não é possível obter lista de drivers de impressora: Sucesso " inicialmente na interface web (depois de alguma atividade de disco perceptível), porém executar lpinfo -m na linha de comando resultou em um longo lista de drivers - assim como deveria. Isso foi intrigante, com base nas respostas já dadas aqui.

Mas então eu simplesmente atualizei a página (que envolveu a reenvio dos dados), e a lista de drivers foi exibida com sucesso na WebUI, permitindo-me prosseguir e terminar de adicionar a impressora. Por isso, pode valer a pena tentar novamente algum tempo depois, talvez depois de verificar a saída lpinfo -m apenas para ter certeza.

    
por 20.01.2017 / 08:37

Tags