Por que os aplicativos não respeitam as opções padrão da impressora?

4
O

CUPS sempre teve um conjunto configurável de "Opções padrão" para uma fila de impressão.

system-config-printer também permite a edição destes.

Mas os aplicativos (veja abaixo) parecem ignorá-los completamente! Tenho certeza que (eu tenho usado o Debian / Ubuntu por 10 anos) eles não usaram para ignorá-los.

Existe algum problema em algum lugar? Ou uma opção de configuração eu tenho errado em algum lugar? Ou uma correção / solução alternativa?

Eu notei que, se eu criar um novo usuário, os padrões são lá. Portanto, deve haver uma configuração do usuário em algum lugar - Mas onde?!

Específicos

Eu sei que não faz sentido fazer uma pergunta como esta sem detalhes, então aqui vai:

  • aplicativos que desrespeitam os padrões: Firefox, DigiKam, EOG ("Visualizador de Imagens"), LibreOffice 3, Thunderbird, Evince ("Visualizador de Documentos"). Eu não encontrei um único aplicativo que respeite os padrões.

  • Ambiente: Ubuntu 12.04 LTS com o Gnome Shell.

  • Driver da impressora (estoque, do Ubuntu): "HP Photosmart 7510 Series, hpcups 3.12.2"

  • Um exemplo específico é que as opções padrão dizem: duplex, "melhor" qualidade, "papel comum", mas todos os aplicativos padrão não-duplex, qualidade "foto de alta resolução", "papel fotográfico". Isso significa que leva 10 minutos por folha e custa uma fortuna em tinta!

por artfulrobot 31.08.2013 / 10:37

5 respostas

3

Resumo : provavelmente você está vendo as opções da última instância em ~/.cups/lpoptions .

Existem padrões para todo o sistema e padrões por usuário.

O aplicativo system-config-printer e a interface da web do CUPS configuram os padrões do sistema. Estes são armazenados em /etc/cups/printers.conf e /etc/cups/ppd/NAME.ppd , onde NOME é o nome da impressora. Em um arquivo .ppd , uma linha de configuração de opções é assim:

*DefaultDuplex: DuplexNoTumble

Os valores possíveis para essa opção, chamada Duplex , são dados por linhas como

*Duplex None/Off: …
*Duplex DuplexNoTumble/Long-Edge Binding: …
*Duplex DuplexTumble/Short-Edge Binding: …

A parte após o cólon descreve os comandos a serem enviados para a impressora para ativar a configuração. A parte antes dos dois pontos consiste em * , depois o nome da opção, em seguida, um espaço e, em seguida, um ou mais nomes para o valor separados por barras (por exemplo, "Nenhum" e "Desativado" significam a mesma coisa esta opção particular, você pode usá-los de forma intercambiável).

Você também pode ter padrões por usuário armazenados em um arquivo chamado .cups/lpoptions em seu diretório pessoal. A sintaxe deste arquivo é assim:

Dest lj/single Duplex=None
Default lj Duplex=DuplexNoTumble

Uma linha como Dest lj/single … define uma instância chamada single da impressora chamada lj . Ao imprimir para essa instância, a opção Duplex está definida como None . Ao imprimir na instância padrão, a opção Duplex é definida como DuplexNoTumble (isto é, frente e verso). A linha Default lj … define opções padrão ao imprimir em lj . Essas opções substituem os padrões de todo o sistema. O uso de Default em vez de Dest torna lj o destino de impressão padrão.

(Você também pode ter um /etc/cups/lpoptions em todo o sistema. Por que um arquivo de sistema inteiro, que pode parecer redundante com as opções definidas no arquivo .ppd ? A diferença é que, se o computador funcionar como um arquivo de impressão servidor de outros computadores, o arquivo .ppd se aplica a todos, ao passo que /etc/cups/lpoptions se aplica apenas ao imprimir a partir do computador local.

Você pode usar instâncias para disponibilizar diferentes conjuntos de opções em um apelido na linha de comando. Por exemplo, com o arquivo lpoptions acima, lp -d lj imprime em frente e verso e lp -d lj/single imprime em um só lado. As instâncias também são visíveis em algumas GUIs, por exemplo, na caixa de diálogo de impressão do KDE.

A caixa de diálogo de impressão do Gnome não mostra instâncias diferentes, você só recebe uma. No entanto, de forma bastante contraintuitiva, o Gnome não padroniza as opções para% normallp, mas escolhe a última instância mencionada no arquivo lpoptions . Assim, por exemplo, com o arquivo lpoptions acima, o padrão é a impressão duplex, mas se as duas linhas forem trocadas, o padrão será de um único lado.

Outra armadilha com o Gnome é que ele também lê o arquivo ~/.lpoptions . Este é um local antigo para ~/.cups/lpoptions , que o sistema de impressão não lê mais desde o Ubuntu 12.04 ou por aí, mas que o Gnome ainda lê a partir do Ubuntu 14.04. Se você tiver um, renomeie-o para .cups/lpoptions ou exclua-o.

    
por Gilles 29.04.2015 / 19:46
3

Descobri que muitos aplicativos (por exemplo, firefox, evince, gThumb) seguem as configurações em ~/.cups/lpoptions Use um editor de texto para atualizar suas configurações favoritas.

Para listar todas as opções disponíveis, use o comando

lpoptions -l

Para verificar a configuração duplex disponível, por exemplo, use

lpoptions -l | grep -i duplex

mostra:

Duplex/2-Sided Printing: None *DuplexNoTumble DuplexTumble

Para verificar as opções de qualidade de impressão disponíveis

lpoptions -l | grep -i StpQuality

mostra:

StpQuality/Print Quality: None Economy *Draft Standard High Photo HighPhoto UltraPhoto Best
    
por Organic Addict 01.08.2014 / 03:56
2

Ah ha! Eu olhei os arquivos ocultos no meu diretório home e encontrei um chamado .cups que continha um arquivo lpoptions .

Nenhuma ideia de como isso chegou, mas a exclusão da pasta faz com que meus padrões funcionem novamente.

Sanidade restaurada!

    
por artfulrobot 31.08.2013 / 10:59
1

Alguns aplicativos "lembram-se" das configurações da impressora de solicitações de impressão anteriores. Portanto, se você alterar os padrões do sistema DEPOIS de já ter imprimido uma vez com os padrões anteriores, ele "memorizará" as configurações anteriores, mesmo se você não quiser!

O Evolution armazena as configurações da impressora em ~ / .evolution / printing, Evince em ~ / .config / evince / print-settings

Não parece haver uma maneira padrão (ou os aplicativos simplesmente não aderem a ela) para que os aplicativos armazenem essas informações.

Eu acho, mas não confirmei, que se você não tocar nos padrões ao imprimir a partir do aplicativo, ele não salvará as configurações e, portanto, os padrões do sistema continuarão a passar. Mas, altere uma configuração uma vez e a configuração salva sempre substituirá o padrão do sistema para esse aplicativo.

Isso explica por que os novos usuários escolhem os padrões corretamente. Mas os usuários existentes estão vendo o problema.

    
por Bob 02.07.2014 / 21:54
0

Minha solução não é a melhor, com certeza, mas funcionou para mostrar meus porpouses.

cd ~/.config/evince
rm print-settings
chmod u-w .

Agora o evince não pode salvar suas configurações e as alterações são válidas apenas enquanto estiver aberto. Solução estúpida e limitada, eu sei! Mas bom o suficiente para mim por agora. :)

Atenciosamente,

Jander

    
por Jander 26.10.2015 / 18:15