[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: imprimante partagée sous windows2000



Salut,

Comme c'est pas long je mets un de mes smbprint, trouvé sur le net et
bricolé par mes soins. Perso, j'avais trouvé pleins d'HOWTO
sur le net, mais tous supposaient que l'imprimante était postscript,
ce qui n'était pas le cas.

A+

Olivier
#!/bin/sh -x

# Ce script est un filtre d'entrée sur l'impression avec printcap sur une
# machine Linux. Il utilise le programme smbclient pour imprimer le fichier au
# serveur et service spécifié.
# Par exemple, vous pouvez avoir une entrée printcap comme celle-ci~:
#
# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
#
# qui créerai une imprimante Unix appelée "smb" qui imprimerait par
# l'intermédiaire de ce script. Vous devrez créer le répertoire de spool,
# /usr/spool/smb avec les permissions qui conviennent et le bon propriétaire,
# pour votre système.

# Mettez les valeurs pour le serveur et le service sur lequel vous voulez
# imprimer.  Dans cet exemple, j'utilise un PC sous Windows pour Workgroups
# nommé "laplan" ayant une imprimante appelée "printer" sans mot de passe.

#
# Script modifié par hamiltom@ecnz.co.nz (Michael Hamilton) afin que le
# serveur, le service et le mot de passe puissent être lus depuis un fichier
# /usr/var/spool/lpd/PRINTNAME/.config
#
# Pour que ceci puisse fonctionner, l'entrée du /etc/printcap doit inclure un
# fichier d'accounting (af=...)~:
#
#   cdcolour:\
#       :cm=CD IBM Colorjet au 6eme etage:\
#       :sd=/var/spool/lpd/cdcolour:\
#       :af=/var/spool/lpd/cdcolour/acct:\
#       :if=/usr/local/etc/smbprint:\
#       :mx=0:\
#       :lp=/dev/null:
#
# Le fichier /usr/var/spool/lpd/PRINTNAME/.config devrait contenir~:
#   server=SERVEUR_PC
#   service=NOM_IMPRIMANTE
#   password="mot_de_passe"
#
# Pas exemple~:
   user="machin"
   server="MICKEY"
   service="dj840c"
   password="fuckthesystem"

#
# Fichier de log pour debuggage, changez le à /dev/null si vous le voulez
#
logfile=/tmp/smb-print.log
# logfile=/dev/null


#
# Le dernier paramètre du filtre est le nom du fichier d'accounting
#
# spool_dir=/var/spool/lpd/lp
# config_file=$spool_dir/.config

# Les variables suivantes devraient être lues depuis le fichier de
# configuration~:
#   server
#   service
#   password
#   user
# eval `cat $config_file`

#
# Des informations de débogage, changez le >> en > si vous voulez économiser
# de la place.
#
echo "server $server, service $service" >> $logfile

/usr/bin/psnup -2 | /etc/magicfilter/dj840c-filter |

# Le /usr/bin/psnup -2 | c'est le filtre pour mettre 2 pages sur une
# on peut l'enlever
# Le /etc/magicfilter/dj840c-filter | c'est le filtre pour l'imprimante 
# distante ; on peut l'enlever si c'est une postscript

(
# NOTE Vous voudrez peut être ajouter la ligne "echo translate" si vous voulez
# une conversion automatiques des CR/LF lors de l'impression

#        echo translate

# ouais ben moi si je mais l'echo, j'ai des trucs très moches ...

        echo "print -"
        cat
) | /usr/bin/smbclient "\\\\$server\\$service" $password -U $user -N -P >> $logfile


Reply to: