# $Id$ provide lprng help_printing_addprinter() { mecho "set printing.addprinter [name] [port] [ip] [share]" mecho " adds a new printer" mecho " name - name of the printer" mecho " port - printing port (lpt1, usb1, com1 ... lptN, usbN, comN" mecho " ip - ip of the remote printer - optional" mecho " share - share/port name of the remote printer - optional" } set_printing_addprinter() { local name="$1" local port="$2" local ip="$3" local share="$4" [[ -z ${name} ]] && help_printing_addprinter && return 1 [[ -z ${port} ]] && help_printing_addprinter && return 1 [[ ! -d /etc/printcap.d ]] && install -d /etc/printcap.d case ${port} in lpt[0-9]*) port="/dev/lp$(( ${port/lpt/}-1 ))" ;; com[0-9]*) port="/dev/ttyS$(( ${port/com/}-1 ))" ;; usb[0-9]*) port="/dev/usb/lp$(( ${port/usb/}-1 ))" ;; #lpd) port="lpd://${ip}/${share}" ;; #socket) port="socket://${ip}:${share}" ;; esac CONFIG="/etc/printcap.d/${name}.conf" addconfig "${name}|${name}" addconfig " :lp=${port}" addconfig " :sd=/var/spool/lpd/${name}" # regenerate printcap helper_generate_printcap } help_printing_delprinter() { mecho "set printing.delprinter [name]" mecho " deletes given printer" } set_printing_delprinter() { local name="$1" [[ -z ${name} ]] && help_printing_addprinter && return 1 if [[ -f /etc/printcap.d/${name}.conf ]] then rm /etc/printcap.d/${name}.conf fi if [[ -d /var/spool/lpd/${name} ]] then rm -rf /var/spool/lpd/${name} fi # regenerate printcap helper_generate_printcap } help_printing_printer() { mecho "get printing.printer" mecho " shows all config/var/spool/lpd/ured printer" } get_printing_printer() { local i local printer for i in $(find /etc/printcap.d -type f -name \*.conf) do printer="${printer} $(basename ${i} .conf)" done mecho ${printer} } helper_generate_printcap() { local i CONFIG="/etc/printcap" clearconfig for i in $(find /etc/printcap.d -type f -name \*.conf) do mecho "adding ${i}" addconfig "#--- added by mcored ---" cat ${i} >> ${CONFIG} addconfig "#-----------------------" addconfig # install spooler directories install -o lp -g lp -m0700 -d /var/spool/lpd/$(basename ${i} .conf) done }