Scroll to navigation

backend(7) Apple Inc. backend(7)

NOM

backend - Programme de transmission de CUPS.

SYNOPSIS

backend
 
backend travail utilisateur titre copies options [ nom-fichier ]

DESCRIPTION

Les programmes de transmission de CUPS sont des filtres particuliers (consultez filter(7)) qui sont utilisés pour envoyer les données à imprimer et découvrir les différents périphériques d'impression du système.
Comme les filtres, ils doivent être capables de lire depuis un nom de fichier fourni sur la ligne de commande ou depuis l'entrée standard, en copiant l'entrée standard vers un fichier temporaire, si nécessaire, pour l'interface physique.
Le nom de la commande ( argv[0]) est défini à la valeur de l'URI du périphérique de l'imprimante de destination. À partir de la version 1.1.22 de CUPS, toute information d'identification est retirée de argv[0], les développeurs des programmes de transmission devraient utiliser la variable d'environnement DEVICE_URI pour obtenir les informations d'identification quand cela est nécessaire. L'API CUPS propose la fonction cupsBackendDeviceURI pour récupérer la valeur correcte de l'URI du périphérique.
Les données en retour du périphérique doivent être envoyées au filtre des travaux en écrivant sur le descripteur de fichiers 3. L'API CUPS propose la fonction cupsBackChannelWrite pour cela.

AVERTISSEMENT

Les programmes de transmission de CUPS ne sont généralement pas conçus pour être lancés directement par l'utilisateur. À côté du problème lié à l'adresse URI du périphérique ( argv[0] et la variable d'environnement DEVICE_URI contiennent l'adresse URI du périphérique), les programmes de transmission de CUPS attendent également des variables d'environnement et descripteurs de fichiers spécifiques, et sont généralement lancés dans une session utilisateur qui (sous OS X) possède des restrictions supplémentaires qui affectent la façon dont ils fonctionnent. Les programmes de transmission peuvent également être installés avec des droits limités (0500 ou 0700) qui informent l'ordonnanceur de les lancer avec les droits du superutilisateur au lieu d'un utilisateur système non privilégié (comme «  lp »).
À moins que vous ne soyez développeur, ou que vous sachiez ce que vous faites, veuillez ne pas lancer les programmes de transmission directement. À la place vous pouvez utiliser les programmes lp(1) ou lpr(1) pour envoyer un travail d'impression ou le programme lpinfo(8) pour demander quelles imprimantes disponibles utilisent le programme de transmission. La seule exception est le programme de transmission SNMP — voir snmpbackend(8) pour plus d'information.

DÉCOUVERTE DES PÉRIPHÉRIQUES

Quand il est exécuté sans paramètre, le programme de transmission doit afficher sur la sortie standard les périphériques et schémas qu'il gère ou qu'il annonce. La sortie consiste en zéro ou plus de lignes de la forme suivante :
    classe_périphérique schéma "Unknown" "info_périphérique"
    classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique"
    classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique" "id_périphérique"
    classe_périphérique URI_périphérique "marque_et_modèle_périphérique" "info_périphérique" "id_périphérique" "emplacement_périphérique"
Le champ classe_périphérique peut prendre une de ces valeurs :
direct
 
L'URI du périphérique se réfère à un accès direct au périphérique, sans option, comme pour un périphérique sur port parallèle, USB ou SCSI.
file
 
L'URI du périphérique se réfère à un fichier sur le disque.
network
 
L'URI du périphérique se réfère à un périphérique réseau et respecte les formes générales des URI réseau.
serial
 
L'URI du périphérique se réfère à un périphérique série avec une vitesse configurable et d'autres options. Si l'URI du périphérique contient la vitesse, elle représente la vitesse maximale gérée par le périphérique.
Le champ schéma fournit le schéma d'URI géré par le programme de transmission. Les programmes de transmission ne doivent utiliser cette forme que s'ils gèrent tout URI utilisant ce schéma. Le champ uri_périphérique indique l'URI complet à utiliser pour la communication avec le périphérique.
Le champ marque_et_modèle_périphérique précise la marque et le modèle du périphérique, par exemple « Exemple Foojet 2000 ». Si la marque et le modèle ne sont pas connus, vous devez indiquer « Unknown ».
Le champ info_périphérique ajoute des informations à propos du périphérique. Généralement cela comprend la marque et le modèle avec le numéro de port ou l'adresse réseau, par exemple « Exemple Foojet 2000 USB #1 ».
Le champ optionnel id_périphérique indique l'identifiant IEEE-1284 du périphérique qui est utilisé pour sélectionner le pilote correspondant.
Le champ optionnel emplacement_périphérique indique l'emplacement physique du périphérique qui est utilisé la plupart du temps pour pré-remplir l'emplacement du périphérique lors de l'ajout d'une imprimante.

PERMISSIONS

Les programmes de transmission sans droit d'exécution pour tout le monde sont exécutés en tant que superutilisateur. Sinon, le programme de transmission est exécuté en utilisant un compte non privilégié, habituellement «  lp ».

CODES DE RETOUR

Les programmes de transmission renvoient les codes de retour suivants (les constantes définies par l'API C dans < cups/backend.h> sont indiquées entre parenthèses) :
0 (CUPS_BACKEND_OK)
 
Le fichier à imprimer a été transmis avec succès au périphérique ou au serveur distant.
1 (CUPS_BACKEND_FAILED)
 
Le fichier à imprimer n'a pas été transmis avec succès au périphérique ou au serveur distant. L'ordonnanceur réagira en annulant le travail, réessayant l'impression ou en stoppant la file d'impression en fonction de l'état de l'attribut error-policy.
2 (CUPS_BACKEND_AUTH_REQUIRED)
 
Le fichier à imprimer n'a pas été transmis avec succès parce que des données d'identification valables sont nécessaires. L'ordonnanceur réagira en suspendant le travail et en ajoutant le mot clé « cups-held-for-authentication » à l'attribut «  job-reasons ».
3 (CUPS_BACKEND_HOLD)
 
Le fichier à imprimer n'a pas été transmis avec succès parce qu'il ne peut pas être imprimé à ce moment. L'ordonnanceur conservera le travail d'impression.
4 (CUPS_BACKEND_STOP)
 
Le fichier à imprimer n'a pas été transmis avec succès parce qu'il ne peut pas être imprimé à ce moment. L'ordonnanceur stoppera la file d'impression.
5 (CUPS_BACKEND_CANCEL)
 
Le fichier à imprimer n'a pas été transmis avec succès parce qu'un attribut n'est pas géré ou le travail a été annulé à l'imprimante. L'ordonnanceur répond à cela en annulant le travail d'impression.
6 (CUPS_BACKEND_RETRY)
 
Le fichier à imprimer n'a pas été transmis avec succès à cause d'un incident temporaire. L'ordonnanceur tentera de relancer la tâche plus tard — les autres tâches pourraient imprimer avant celle-là.
7 (CUPS_BACKEND_RETRY_CURRENT)
 
Le fichier à imprimer n'a pas été transmis avec succès à cause d'un incident temporaire. L'ordonnanceur tentera de relancer la tâche immédiatement en empêchant d'autres tâches d'intervenir.
Tous les autres codes de retour sont réservés.

VOIR AUSSI

cups-snmp(8), cupsd(8), cupsd.conf(5), filter(7), lpinfo(8),
 
<URL: http://localhost:631/help>

COPYRIGHT

Copyright 2007-2013 par Apple Inc.
CUPS 23 avril 2012