web-dev-qa-db-fra.com

Pourquoi les applications ne respectent-elles pas les options par défaut d'une imprimante?

CUPS a toujours eu un ensemble configurable "Options par défaut" pour une file d'attente d'impression.

system-config-printer permet également de les éditer.

Mais les applications (voir ci-dessous) semblent les ignorer complètement! Je suis sûr (ils utilisent Debian/Ubuntu depuis 10 ans) qu'ils ne les utilisaient pas pour les ignorer.

Y at-il un problème quelque part? Ou une option de configuration je me suis trompé quelque part? Ou un correctif/solution de contournement?

J'ai remarqué que si je crée un nouvel utilisateur, les valeurs par défaut sont . Il doit donc y avoir un paramètre utilisateur quelque part - Mais où?!

Détails

Je sais qu'il est inutile de poser une question comme celle-ci sans précisions, alors voici:

  • applications qui ne respectent pas les valeurs par défaut: Firefox, DigiKam, EOG ("Image Viewer"), LibreOffice 3, Thunderbird, Evince ("Document Viewer"). Je n'ai trouvé aucune application qui respecte les valeurs par défaut.

  • Environnement: Ubuntu 12.04 LTS avec Gnome Shell.

  • Pilote d’imprimante (stock, à partir d’Ubuntu): "HP Photosmart série 7510, hpcups 3.12.2"

  • Un exemple spécifique est que les options par défaut sont: duplex, qualité "optimale", "papier ordinaire", mais les applications sont toutes configurées par défaut en mode non-duplex, "qualité photo haute résolution", "papier photo". Cela signifie que cela prend 10 minutes par feuille et coûte une fortune en encre!

5
artfulrobot

Résumé: vous voyez probablement les options pour la dernière instance dans ~/.cups/lpoptions.


Il existe à la fois des paramètres par défaut à l'échelle du système et des paramètres par utilisateur.

L'application system-config-printer et l'interface Web CUPS configurent les paramètres par défaut pour l'ensemble du système. Ceux-ci sont stockés dans /etc/cups/printers.conf et /etc/cups/ppd/NAME.ppdNOM est le nom de l'imprimante. Dans un fichier .ppd, une ligne de paramétrage d’option se présente comme suit:

*DefaultDuplex: DuplexNoTumble

Les valeurs possibles pour cette option, appelée Duplex, sont données par des lignes telles que

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

La partie après les deux points décrit les commandes à envoyer à l'imprimante pour activer le paramètre. La partie précédant les deux points se compose d’un *, puis du nom de l’option, puis d’un espace, puis d’un ou de plusieurs noms pour la valeur séparés par des barres obliques (par exemple, "Aucun" et "Non" signifient la même chose. chose pour cette option particulière, vous pouvez les utiliser indifféremment).

Vous pouvez également avoir les valeurs par défaut par utilisateur stockées dans un fichier nommé .cups/lpoptions dans votre répertoire personnel. La syntaxe de ce fichier ressemble à ceci:

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

Une ligne du type Dest lj/single … définit une instance appelée single de l’imprimante appelée lj. Lors de l'impression sur cette instance, l'option Duplex est définie sur None. Lorsque vous imprimez sur l'instance par défaut, l'option Duplex est définie sur DuplexNoTumble (c'est-à-dire, recto verso). La ligne Default lj … définit les options par défaut lors de l’impression sur lj. Ces options remplacent les paramètres par défaut du système. L'utilisation de Default plutôt que Dest fait de lj la destination d'impression par défaut.

(Vous pouvez également avoir un /etc/cups/lpoptions à l’échelle du système. _ Pourquoi un fichier au niveau du système, qui peut sembler redondant avec les options définies dans le fichier .ppd? La différence est que si votre ordinateur agit comme un serveur d'impression à partir d'autres ordinateurs, le fichier .ppd s'applique à tous, alors que /etc/cups/lpoptions ne s'applique qu'à l'impression à partir de l'ordinateur local.)

Vous pouvez utiliser des instances pour rendre différents ensembles d'options disponibles sous un pseudonyme à partir de la ligne de commande. Par exemple, avec le fichier lpoptions ci-dessus, lp -d lj imprime en recto-verso et lp -d lj/single imprime en recto. Les instances sont également visibles dans certaines interfaces graphiques, par exemple dans la boîte de dialogue Imprimer de KDE.

La boîte de dialogue d'impression de Gnome ne montre pas différentes instances, vous n'en obtenez qu'une. Cependant, plutôt contre-intuitif, Gnome ne définit pas par défaut les options de plain lp, mais sélectionne plutôt la dernière instance mentionnée dans le fichier lpoptions. Ainsi, par exemple, avec le fichier lpoptions ci-dessus, l’impression par défaut est l’impression recto verso, mais si les deux lignes étaient permutées, la valeur par défaut serait recto.

Un autre piège avec Gnome est qu’il lit également le fichier ~/.lpoptions. Il s'agit d'un ancien emplacement pour ~/.cups/lpoptions, que le système d'impression ne lit plus depuis Ubuntu 12.04 ou environ, mais que Gnome lit toujours à partir d'Ubuntu 14.04. Si vous en avez un, renommez-le .cups/lpoptions ou supprimez-le.

5
Gilles

J'ai constaté que de nombreuses applications (par exemple, firefox, evince, gThumb) respectaient les paramètres de ~/.cups/lpoptions Utilisez un éditeur de texte pour mettre à jour vos paramètres favoris.

Pour lister toutes les options disponibles, utilisez la commande

lpoptions -l

Pour vérifier la configuration duplex disponible, utilisez par exemple

lpoptions -l | grep -i duplex

montre:

Duplex/2-Sided Printing: None *DuplexNoTumble DuplexTumble

Pour vérifier les options de qualité d'impression disponibles

lpoptions -l | grep -i StpQuality

montre:

StpQuality/Print Quality: None Economy *Draft Standard High Photo HighPhoto UltraPhoto Best
3
Organic Addict

Ah ah! J'ai regardé les fichiers cachés dans mon répertoire personnel et en ai trouvé un appelé . Cups qui contenait un fichier lpoptions.

Aucune idée de la façon dont cela a abouti, mais la suppression du dossier fait que mes valeurs par défaut fonctionnent à nouveau.

La santé mentale restaurée!

2
artfulrobot

Certaines applications "se souviennent" des paramètres de l'imprimante issus des précédentes demandes d'impression. Donc, si vous modifiez les paramètres par défaut du système APRÈS que vous ayez déjà imprimé une fois avec les valeurs par défaut précédentes, il "se souvient" des paramètres précédents, même si vous ne le souhaitez pas!

Par exemple. Evolution stocke les paramètres de l'imprimante dans ~/.evolution/printing, Evince dans ~/.config/evince/print-settings

Il ne semble pas y avoir de moyen standard (ou les applications n'y adhèrent pas) de stocker ces informations.

Je pense, mais je n’ai pas confirmé, que si vous ne touchez pas aux valeurs par défaut lors de l’impression à partir de l’application, les paramètres ne seront pas sauvegardés et, par conséquent, les valeurs par défaut du système continueront d’être transmises. Cependant, modifiez un paramètre une fois et le paramètre enregistré remplacera toujours la valeur par défaut du système pour cette application.

Cela explique pourquoi les nouveaux utilisateurs récupèrent les valeurs par défaut. Mais les utilisateurs existants voient le problème.

1
Bob

Ma solution n’est certes pas la meilleure, mais a bien fonctionné pour mes porpouses.

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

Evince ne peut désormais pas sauvegarder ses paramètres et les modifications sont valables tant qu’elles sont ouvertes. Solution stupide et limitée, je sais! Mais assez bien pour moi pour le moment. :)

Cordialement,

Jander

0
Jander