Date: Thu, 26 Aug 1999 18:16:10 -0700 From: GCT System Administrator <web@gct-us.com> To: questions@freebsd.org Subject: Printer Setup Message-ID: <37C5E6DA.830BDAB8@gct-us.com>
next in thread | raw e-mail | index | archive | help
Am trying to setup a remote printer using samba to connect to a win95
printer.
For some reason that I can't see, the lp doesn't call the input filter.
At least the input filter does not generate a logfile entry. So I
conclude the input filter is not running. Any ideas would be
appreciated.
The /etc/printcap is
lp:if=/usr/bin/smbprint:\
:lp=/dev/lp1:\
:sh:\
:sd=/var/spool/lpd/lp:\
:af=/var/spool/lpd/lp/acct:\
:lf=/var/spool/lpd/lp/logfile:\
:mx#0:
/usr/bin/smbprint is
#!/bin/sh
# This script is an input filter for printcap printing on a unix
machine. It
# uses the smbclient program to print the file to the specified
smb-based
# server and service.
# For example you could have a printcap entry like this
#
# smb:lp=/dev/null:sd=/usr/spool/smb:sh:if=/usr/local/samba/smbprint
#
# which would create a unix printer called "smb" that will print via
this
# script. You will need to create the spool directory /usr/spool/smb
with
# appropriate permissions and ownerships for your system.
# Set these to the server and service you wish to print to
# In this example I have a WfWg PC called "lapland" that has a printer
# exported called "printer" with no password.
#
# Script further altered by hamiltom@ecnz.co.nz (Michael Hamilton)
# so that the server, service, and password can be read from
# a /usr/var/spool/lpd/PRINTNAME/.config file.
#
# Script further modified by Richard Sharpe to fix some things.
# Get rid of the -x on the first line, and add parameters
#
# -t now causes translate to be used when sending files
#
# In order for this to work the /etc/printcap entry must include an
# accounting file (af=...):
#
# cdcolour:\
# :cm=CD IBM Colorjet on 6th:\
# :sd=/var/spool/lpd/cdcolour:\
# :af=/var/spool/lpd/cdcolour/acct:\
# :if=/usr/local/etc/smbprint:\
# :mx=0:\
# :lp=/dev/null:
#
# The /usr/var/spool/lpd/PRINTNAME/.config file should contain:
# server=PC_SERVER
# service=PR_SHARENAME
# password="password"
#
# E.g.
# server=PAULS_PC
# service=CJET_371
# password=""
#
# Debugging log file, change to /dev/null if you like.
#
#logfile=/tmp/smb-print.log
# logfile=/dev/null
logfile=/dev/console
#
# The last parameter to the filter is the accounting file name.
# Extract the directory name from the file name.
# Concat this with /.config to get the config file.
#
TRANS=0
eval acct_file=\${$#}
spool_dir=/var/spool/lpd/lp
#spool_dir=`dirname $acct_file`
config_file=$spool_dir/.config
# Should read the following variables set in the config file:
# server
# service
# password
eval `cat $config_file`
while getopts t c; do
case $c in
t)
TRANS=1
;;
'?') # Bad parameters, ignore it ...
;;
esac
done
#
# Some debugging help, change the >> to > if you want to same space.
#
echo "server $server, service $service" >> $logfile
(
# NOTE You may wish to add the line `echo translate' if you want
automatic
# CR/LF translation when printing.
if [ $TRANS ]; then
echo translate
fi
echo "print -"
cat
) | /usr/local/bin/smbclient "\\\\$server\\$service" $password -U
$server -N -P
>> $logfile
--
Bill
Global Communication Technologies
(707)586-3538
http://www.gct-us.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?37C5E6DA.830BDAB8>
