Encore une pr�cision (moyennement encourageante) sur le nouveau syst�me 
d'impression de la Mdk 7.2 (CUPS) :

la commande lpr de cups (qui est en fait un lien symbolique sur un ex�cutable 
lpr-cups) se comporte en partie comme le lpr de l'ancien syst�me, et accepte 
notamment une syntaxe de type "lpr nom_de_fichier".

Mais la plupart des applications qui impriment g�n�rent en standard une ligne 
de commande en "pipe" du type "cat <xyz> | lpr", dans laquelle lpr n'a pas de 
nom de fichier explicite (c'est le fichier stdin qui est imprim�).

Le lpr de cups accepte cette syntaxe comme l'ancien, et tout va bien tant 
qu'on utilise une imprimante locale. En revanche, pour une raison que 
j'ignore totalement, si on imprime � distance, via samba, la syntaxe en pipe 
met le spool en erreur avec le message suivant :

"ERRDOS - Errfileexists (The file named in a Create Directory. Make new file 
or Link. � �request already exists.) opening remote file (stdin)"

Exemple : soient les deux commandes suivantes (th�oriquement �quivalentes) :
1)    lpr toto
2)    cat toto | lpr
la premi�re commande marche sans probl�me
la seconde marche si l'imprimante est locale, et provoque � tout coup 
l'erreur indiqu�e ci-dessus si l'imprimante est accessible via un serveur 
samba.

Autrement dit, lpr-cups ne semble pas savoir g�n�rer un nom de job accept� 
par le serveur quand il doit imprimer un flux <stdin>. C'est du moins mon 
interpr�tation. L'ennui, c'est que beaucoup d'applications, pour imprimer, 
utilisent une ligne de commande non modifiable et correspondant � la seconde 
syntaxe.

Donc je ne vois qu'une solution pour utiliser un client cups sur un serveur 
samba : remplacer le lien symbolique lpr par un script qui g�n�re un nom de 
job, ou un fichier temporaire � partir de son entr�e standard, et qui g�n�re 
un appel explicite de lpr-cups avec param�tres.



Répondre à