Fiz o download do driver Linux CAPT V2.60 da Canon e instalei os dois pacotes .deb, listados na pasta de 64 bits no Ubuntu Software-Center. Minha impressora Canon ainda não será reconhecida. Há mais alguma coisa que eu tenho que fazer? Minha impressora está conectada via USB.
O Ubuntu seria um ótimo substituto para o meu escritório, mas, infelizmente, sem o suporte da impressora, ainda vou confiar no Windows.
Respostas:
O driver da impressora Canon CAPT é de código fechado e as bibliotecas binárias fornecidas pela Canon são compiladas para o i386. Portanto, se você estiver no amd64, primeiro precisará ativar o multiarch e instalar algumas bibliotecas:
Instale copos se você ainda não o tiver:
Faça o download e descompacte o driver da impressora Canon CAPT:
Instale o driver de 32 ou 64 bits, dependendo da sua arquitetura:
32 bits
64 bits
Agora procure
/usr/share/cups/model
os arquivos ppd que descrevem as impressoras e escolha o que corresponde (ou mais próximo) à sua impressora:Nesse caso, escolhemos
CNCUPSLBP6018CAPTS.ppd
qual corresponde ao modelo LBP6000.Adicionar impressora:
E configure seu sistema para iniciar o daemon ccpd da Canon automaticamente:
Problemas
Existem vários problemas com o driver de impressora Canon:
Foi construído para o Debian e a última versão suportada do Ubuntu foi a 12.04. Mas funciona em 14.04.
Ele inclui bibliotecas binárias de código fechado, criadas para o i386 de 32 bits, portanto não podem ser executadas nativamente no amd64 (mesmo no pacote de 64 bits)
captstatusui inclui uma chamada ilimitada
strcpy
no cnsktmodule.c que falha com erroaborted *** buffer overflow detected ***
em alguns sistemasO driver da impressora Canon é, na verdade, um daemon separado que se comunica com os copos por um soquete local ou de rede - deixa uma porta de rede aberta no sistema e duvido que o código da Canon já tenha sido auditado quanto a vulnerabilidades de segurança
A impressora pode aparecer duas vezes em xícaras (uma vez para impressora USB detectada automaticamente, uma vez como daemon CCPD da Canon), mas a impressora "USB" não funcionará se você tentar imprimir nela. Nas configurações da impressora, se a impressora estiver configurada como impressora USB, desative-a manualmente (clique com o botão direito do mouse, desative)
A Canon usa seu próprio software e protocolo proprietário para conversar com a impressora, e é por isso que não é integrada aos copos, não é detectada automaticamente e requer que um driver seja instalado manualmente. É razoável esperar que uma impressora seja automaticamente detectada e funcione, mas isso não é possível com o Canon LBP. Minha próxima impressora será uma impressora que "simplesmente funcione" com drivers de código aberto, provavelmente uma impressora de rede que suporte o padrão PCL - Printer Command Language , como o Brother HL-2250DN (impressora de rede dúplex barata, anteriormente impressora a laser mais vendida na Amazon) , ou uma impressora recomendada pela HP Linux que funcione com o software HPLIP de código aberto.
Os scripts de construção para o código-fonte são antigos e um pouco confusos. Devido à inclusão de bibliotecas binárias i386 de código fechado e à falta de suporte para multiarch nos scripts de construção, seria muito difícil compilar uma versão de 64 bits totalmente funcional. A compilação de uma versão de 32 bits, em um sistema de 32 bits, é possível depois de solucionar os vários erros no sistema de compilação.
Problema: ccpd trava
Às vezes, o ccpd trava e a fila diz apenas "Processando desde ..."
Tente uma reinicialização manual:
Problema: o ccpd não funciona - apenas um processo do ccpd é executado após a inicialização do sistema
Para operação normal, dois processos ccpd devem estar em execução em um sistema. O daemon ccpd depende da execução do daemon cups antes de bifurcar o segundo processo. Você pode usar o seguinte método para solucionar o problema:
Habilite o script init do cups (padrão de update-rc.d cups).
Instrua o script init do ccpd a executar após o cups init (update-rc.d ccpd assume o padrão 99) ou adicione "sleep 10 && /etc/init.d/ccpd start" no script /etc/rc.local.
Se você deseja usar regras UDEV e script de inicialização, lembre-se de que as regras UDEV são executadas antes do script de inicialização do CUPS; portanto, pode ser útil reiniciar o script de inicialização do ccpd em vez de simplesmente iniciar. Por exemplo, você pode colocar a seguinte string em "/etc/rc.local":
sleep 10 && /etc/init.d/ccpd restart
(Solução do wiki do Ubuntu )
Relatar bugs e problemas ao suporte da Canon
A Canon possui um endereço de e-mail oficial para relatar bugs e problemas com o driver:
Construir a partir da fonte
Se você estiver tentado a criar e instalar a partir do código-fonte, siga estas instruções (o script de construção do Arch também pode ajudar):
Estou incluindo isso apenas como uma nota para qualquer pessoa inclinada a seguir esse caminho. A maioria das pessoas não deve tentar construir isso a partir da fonte. Mesmo em um sistema amd64, o pacote resultante incluirá as bibliotecas i386 fechadas.
fonte
hp-setup
) que fará o download e o configurará.libstdc++6:i386 libxml2:i386 zlib1g:i386
era necessário? As instruções mencionaramia32-libs
, que esteve ausente em versões posteriores do Ubuntu, então eu me perguntei qual era a substituição.file canon/libcapt.so
ele identificará as bibliotecas Canon como "ELF 32 bits", então sabemos que ele precisa de bibliotecas dinâmicas de 32 bits. Execute o ldd da seguinte formaldd canon/libcapt.so
- o vinculador imprimirá todas as bibliotecas dinâmicas necessárias e mostrará aquelas que não foram encontradas. Você pode usarapt-file search libpthread.so
para encontrar o pacote em que as bibliotecas estão.