ippfind - Trouver des imprimantes utilisant le protocole internet
d’impression
ippfind [
options ]
type_exp_rat[
,sous-type][
.domaine.]
... [
expression ... ]
ippfind [
options ]
nom[
.type_exp_rat[
. domaine.]] ... [
expression ... ]
ippfind --help
ippfind --version
ippfind trouve les services enregistrés avec un serveur DNS ou
disponible à travers des périphériques locaux. Son but
principal est de trouver les imprimantes et afficher leurs URI, leur
état actuel, ou exécuter des commandes.
ippfind accepte les types d’enregistrement suivants :
- _http._tcp
- HyperText Transport Protocol (HTTP, RFC 2616)
- _https._tcp
- Secure HyperText Transport Protocol (HTTPS,
RFC 2818)
- _ipp._tcp
- Internet Printing Protocol (IPP, RFC 2911)
- _ipps._tcp
- Secure Internet Printing Protocol (IPPS,
ébauche)
- _printer._tcp
- Line Printer Daemon (LPD, RFC 1179)
ippfind prend en charge les expressions de façon similaire
à l’utilitaire
find(1). Cependant, à la
différence de
find(1),
ippfind utilise des expressions
rationnelles au lieu de modèles de correspondance de nom de fichier par
un interpréteur de commandes. Si
--exec,
-l,
--ls,
-p,
--print,
--print-name,
-q,
--quiet,
-s, ou
-x n’est pas précisé,
ippfind
ajoute
--print pour écrire l’URI du service de toute
chose trouvée. Les expressions suivantes sont prises en charge :
-
-d exp_rationnelle
-
--domain exp_rationnelle
- Vrai si le domaine correspond à l’expression
rationnelle fournie.
- --false
- Toujours faux.
-
-h exp_rationnelle
-
--host exp_rationnelle
- Vrai si le nom d’hôte correspond à
l’expression rationnelle fournie.
- -l
- --ls
- Lister les attributs renvoyés par
Get-Printer-Attributes pour les imprimantes et la sortie traditionnelle de
find -ls pour les URL HTTP. Le résultat est vrai si
l’URI peut être obtenu, faux autrement.
- --local
- Vrai si le service est local pour cette imprimante.
-
-N identifiant
-
--literal-name nom
- Vrai si le nom d’instance du service correspond au
nom fourni.
-
-n exp_rationnelle
-
--name exp_rationnelle
- Vrai si le nom d’instance du service correspond
à l’expression rationnelle fournie.
-
--path exp_rationnelle
- Vrai si le chemin de la ressource de l’URI
correspond à l’expression rationnelle fournie.
-
-P
numéro[-numéro]
-
--port
numéro[-numéro]
- Vrai si le port correspond au numéro ou à
l’intervalle.
- -p
- --print
- Afficher l’URI si le résultat des expressions
précédentes est vrai. Le résultat est toujours
vrai.
- -q
- --quiet
- Mode laconique — seuls les codes de retour
sont renvoyés à la suite.
- -r
- --remote
- Vrai si le service n’est pas local à cette
imprimante.
- -s
- --print-name
- Afficher le nom l’instance du service si le
résultat des expressions précédentes est vrai. Le
résultat est toujours vrai.
- --true
- Toujours vrai
-
-t clef
-
--txt clef
- Vrai si l’enregistrement TXT contient la clef
citée.
-
--txt-clef exp_rationnelle
- Vrai si l’enregistrement TXT contient la clef
citée et correspond à l’expression rationnelle
fournie.
-
-u exp_rationnelle
-
--uri exp_rationnelle
- Vrai si l’URI correspond à
l’expression rationnelle fournie.
-
-x utilitaire [ argument ... ]
;
-
--exec utilitaire [ argument ... ]
;
- Exécuter le programme indiqué si le
résultat actuel est vrai. Les arguments
« {toto} » sont remplacés par leur
valeur correspondante — consultez SUBSTITUTIONS
ci-dessous.
Les expressions peuvent aussi contenir des modificateurs :
-
( expression )
- Classer le résultat des expressions.
-
! expression
-
--not expression
- Opération logique NON sur l’expression.
- expression expression
-
expression --and expression
- Opération logique ET sur les expressions.
-
expression --or expression
- Opération logique OU sur les expressions.
Les substitutions pour « {toto} » dans
-e et
--exec sont les suivantes :
- {service_domain}
- Nom de domaine, par exemple
« example.com. »,
« local. », etc.
- {service_hostname}
- Nom de domaine complet, par exemple
« printer.example.com. »,
« printer.local. », etc.
- {service_name}
- Nom de l’instance du service, par exemple
« Mon excellente imprimante ».
- {service_port}
- Numéro de port pour le serveur, habituellement
631 pour IPP et 80 pour HTTP.
- {service_regtype}
- Type d’enregistrement DNS-SD, par exemple
« _ipp._tcp »,
« _http._tcp », etc.
- {service_scheme}
- Schéma d’URI pour le type
d’enregistrement DNS-SD, par exemple
« ipp »,
« http », etc.
- {}
- {service_uri}
- URI pour le service, par exemple,
« ipp://printer.local./ipp/print »,
« http://printer.local./ », etc.
-
{txt_clef}
- Valeur de l’enregistrement TXT clef
(minuscules).
ippfind accepte les options suivantes :
- --help
- Afficher un message d'aide.
- --version
- Afficher la version du programme.
- -4
- Utiliser IPv4 lors de l’écoute.
- -6
- Utiliser IPv6 lors de l’écoute.
-
-T secondes
- Indiquer le délai de recherche en seconde. Si
égal à 1 ou moins, ippfind s'arrêtera
aussitôt qu’il pensera avoir tout trouvé. Par
défaut, 1 seconde.
-
-V version
- Indiquer la version d’IPP pour
l’écoute. Les valeurs prises en charge sont
« 1.1 », « 2.0 »,
« 2.1 » et
« 2.2 ».
ippfind renvoie
0 si le résultat de toutes les expressions
examinées est vrai,
1 si le résultat de n’importe
quelle expression est fausse,
2 si la lecture, la requête ou la
résolution échouent,
3 si une option non reconnue ou
expression non valable était indiquée, et
4 pour un
dépassement de mémoire.
Lors de l’exécution d’un programme,
ippfind
définit les variables d’environnement suivantes pour
l’enregistrement de service correspondant :
- IPPFIND_SERVICE_DOMAIN
- Nom de domaine, par exemple
« example.com. »,
« local. », etc.
- IPPFIND_SERVICE_HOSTNAME
- Nom de domaine complet, par exemple
« printer.example.com. »,
« printer.local. », etc.
- IPPFIND_SERVICE_NAME
- Nom de l’instance du service, par exemple
« Mon excellente imprimante ».
- IPPFIND_SERVICE_PORT
- Numéro de port pour le serveur, habituellement
631 pour IPP et 80 pour HTTP.
- IPPFIND_SERVICE_REGTYPE
- Type d’enregistrement DNS-SD, par exemple
« _ipp._tcp »,
« _http._tcp », etc.
- IPPFIND_SERVICE_SCHEME
- Schéma d’URI pour le type
d’enregistrement DNS-SD, par exemple
« ipp »,
« http », etc.
- IPPFIND_SERVICE_URI
- URI pour le service, par exemple,
« ipp://printer.local./ipp/print »,
« http://printer.local./ », etc.
-
IPPFIND_TXT_CLEF
- Valeurs des enregistrements TXT CLEF
(majuscules).
Pour afficher l’état de toutes les imprimantes IPP
enregistrées, exécutez :
ippfind --ls
De même, pour envoyer une page de test PostScript à toutes les
imprimantes PostScript, exécutez :
ippfind --txt-pdl application/postscript --exec ipptool
-f onepage-letter.ps '{}' print-job.test \;
ipptool(1)
Copyright © 2021-2022 par OpenPrinting.