m |
(→Contadores de hojas) |
||
Línea 64: | Línea 64: | ||
==Contadores de hojas== | ==Contadores de hojas== | ||
− | + | Método para contar las hojas antes de enviar el trabajo a la impresora (puede ser solamente | |
por software) | por software) | ||
preaccounter : software() | preaccounter : software() | ||
− | + | Método para contar las hojas luego de enviar el trabajo (puede ser hardware o software) | |
− | en hardware hay que poner un script entre los | + | en hardware hay que poner un script entre los paréntesis para que imprima en pantalla |
el contador de hojas de la impresora, esta información se puede obtener por el puerto | el contador de hojas de la impresora, esta información se puede obtener por el puerto | ||
paralelo, smnp o appletalk dependiendo de la impresora. En se pueden encontrar los | paralelo, smnp o appletalk dependiendo de la impresora. En se pueden encontrar los | ||
Línea 86: | Línea 86: | ||
preaccounter : software() | preaccounter : software() | ||
accounter : software() | accounter : software() | ||
+ | ==Gestión de cuentas de usuario== | ||
+ | El siguiente campo define que hacer cuando un usuario que no está en la base de datos de pykota (entre otras cosas). | ||
+ | Los valores posibles son deny, allow y external | ||
+ | *deny: rechaza los trabajos de los usuarios que no estén en la base de datos | ||
+ | *external: ejecuta un comando externo antes de permitirles imprimir | ||
+ | El ejemplo de abajo agrega a los usuarios que quieran imprimir pero no existen en la base de datos. | ||
+ | policy : external(pkusers --add --skipexisting --limitby noquota --description Added automatically\ | ||
+ | $PYKOTAUSERNAME && edpykota --add --skipexisting --printer $PYKOTAPRINTERNAME $PYKOTAUSERNAME) | ||
+ | |||
+ | =Comandos= | ||
+ | ==Gestión de impresoras== | ||
+ | Ejemplos de uso pkprinters, la herramienta para agregar y configurar impresoras en pykota | ||
+ | *Agregar una impresora | ||
+ | pkprinters --add nombreImpresora | ||
+ | *Agregar descripciones a las impresoras | ||
+ | pkprinters --description descImpresora nombreImpresora | ||
+ | Cada impresora puede tener una "tarifa" distinta a la hora de aplicar las cuotas. | ||
+ | *Cambiar el costo de la impresión a 1 crédito por hoja | ||
+ | pkprinters --charge 1 nombreImpresora | ||
+ | *Cambiar el costo de la impresión a 1 crédito por hoja y 2 créditos por trabajo | ||
+ | pkprinters --charge 1,2 nombreImpresora | ||
+ | *Eliminar una impresora de la base de datos | ||
+ | pkprinters --delete nombreImpresora | ||
+ | *Listar los datos de las impresoras | ||
+ | pkprinters -l | ||
+ | ==Gestión de usuarios== | ||
+ | Ejemplos | ||
+ | *Agregar 3 usuarios | ||
+ | pkusers --add usuario1 usuario2 usuario3 | ||
+ | *Establecer la política que se aplicará a la hora de cobrarle al usuario | ||
+ | pkusers --limitby balance | ||
+ | Las políticas de cobro que se pueden aplicar a un usuario son | ||
+ | *quota : limita la impresión por el número de hojas por impresora. | ||
+ | *balance : limita la impresión por el número de créditos en la cuenta (los créditos se pueden usar en cualquier impresora en este caso). | ||
+ | *noquota : no limita las impresiones pero cuenta las hojas/trabajos de todas maneras. | ||
+ | *nochange : no limita las impresiones ni descuenta créditos al usuario. | ||
+ | *noprint : el usuario tiene prohibida la impresión | ||
+ | |||
+ | *Balance: agregar 20 créditos a un usuario (pueden ser absolutos o relativos si se usa el prefijo + o -) | ||
+ | pkusers -b +20 usuario | ||
+ | *Balance: establecer que el usuario tiene exactamente 20 créditos | ||
+ | pkusers -b 20 usuario | ||
+ | *Eliminar un usuario | ||
+ | pkusers --remove usuario | ||
+ | *Hacer que a un usuario las impresiones les cuesten el doble de lo establecido por la impresora. | ||
+ | pkusers --overcharge 2 usuario | ||
+ | *Hacer que a un usuario las impresiones les cuesten la mitad de lo establecido por la impresora. | ||
+ | pkusers --overcharge 0.5 usuario | ||
+ | *Listar usuarios | ||
+ | pkusers -L | ||
+ | |||
+ | Varios comandos pueden usarse sin pasar el nombre de usuario como argumento, en estos casos consideran que la acción se realiza en todos los usuarios. | ||
+ | |||
+ | Por ejemplo ponemos el valor de overcharge en 1 para todos los usuarios: | ||
+ | pkusers --overcharge 1 |
pykota agrega un backend para cups. Para utilizarlo debemos agregar en la url de la impresora "pykota://" al comienzo de el uri.
Por ejemplo una impresora compartida con samba con el siguiente uri.
smb://servidor/impresora
Pasaría a ser (para que pykota cuente los trabajos antes de enviarlos al servidor)
pykota://smb://servidor/impresora
O bien para el puerto paralelo
parallel:
Pasaría a ser
pykota://paralell:
Si no cambiamos el uri de esta manera pykota no podrá controlar los trabajos que pasan a la impresora.
Descargar pykota desde http://www.pykota.com/software/pykota/download/
Descomprimir el paquete y ejecutar "./pksetup debian", este script va a hacer un "apt-get update" y a descargar otros paquetes. Además crea una configuración por defecto, instala postgresql y crea su base de datos de usuarios ahí.
Hay que chequear que se haya instalado pkpgcounter que es una aplicación de pykota para contar las páginas por software. Sino hay que descargarlo desde la página de pykota e instalarlo.
Archivos de configuración En /etc/pykota/ hay 2 archivos de configuración
En pykota.conf se pueden configurar la mayoría de las opciones de pykota (el resto se hace con unos comandos que pongo más adelante)
Dirección de correo a la que va a notificar cuando pykota falle
crashrecipient : pykotacrashed@librelogiciel.com
Configuración del servidor SMTP para las notificaciones
smtpserver : urldelservidordemail
Posfijo para las direcciones de mail de los usuarios. Si agregamos un usuario sin indicar su dirección de mail se asume este posfijo, si lo de abajo está en blanco se asume la url del servidor. Por ejemplo "pkusers --add usuario" asume que el usuario tiene la dirección de mail usuario@posfijo o usuario@urldelservidordemail dependiendo si llenamos el campo de abajo
maildomain :
Nombre del administrador
admin : cups
Email del administrador (para que reciba las notificaciones cuando los usuarios se quedan sin cuotas
adminmail :
El siguiente indica quien recibe un mail cuando un usuario se queda sin cuota las opciones son DevNull (no enviar mail), User, Admin y Both (el administrador y el usuario reciben un mail
mailto : both
Pasa los nombres de usuario a minúscula, esto es importante en dominios windows porque si este campo está seteado en "No" el usuario "IMPRESora" y "impresora" son dos usuarios distintos con cuotas distintas.
utolower : Yes
El siguiente campo determina que pasa cuando falla el backend (falla la impresión), se puede optar por descontar o no el trabajo de la cuota del usuario con charge y nocharge también existe la opción "retry:numDeIntentos:delayEnSegundosEntreReintentos" para que pykota vuelva a enviar el trabajo
onbackenderror : nocharge
Método para contar las hojas antes de enviar el trabajo a la impresora (puede ser solamente por software)
preaccounter : software()
Método para contar las hojas luego de enviar el trabajo (puede ser hardware o software) en hardware hay que poner un script entre los paréntesis para que imprima en pantalla el contador de hojas de la impresora, esta información se puede obtener por el puerto paralelo, smnp o appletalk dependiendo de la impresora. En se pueden encontrar los archivos pagecount.* y el script waitprinter.sh para el accounter por hardware
accounter : software()
El campo de abajo indica que hacer si falla el accounter las opciones son stop o continue con stop se cancela el trabajo y con continue pueden inducirse trabajos gratuitos cuando falla el accounter
onaccountererror : stop
Configuración por impresora: se pueden configurar individualmente los accounters para cada impresora individualmente
[Virtual_Printer] preaccounter : software() accounter : software() [Virtual_Printer_Pykota] preaccounter : software() accounter : software()
El siguiente campo define que hacer cuando un usuario que no está en la base de datos de pykota (entre otras cosas). Los valores posibles son deny, allow y external
El ejemplo de abajo agrega a los usuarios que quieran imprimir pero no existen en la base de datos.
policy : external(pkusers --add --skipexisting --limitby noquota --description Added automatically\ $PYKOTAUSERNAME && edpykota --add --skipexisting --printer $PYKOTAPRINTERNAME $PYKOTAUSERNAME)
Ejemplos de uso pkprinters, la herramienta para agregar y configurar impresoras en pykota
pkprinters --add nombreImpresora
pkprinters --description descImpresora nombreImpresora
Cada impresora puede tener una "tarifa" distinta a la hora de aplicar las cuotas.
pkprinters --charge 1 nombreImpresora
pkprinters --charge 1,2 nombreImpresora
pkprinters --delete nombreImpresora
pkprinters -l
Ejemplos
pkusers --add usuario1 usuario2 usuario3
pkusers --limitby balance
Las políticas de cobro que se pueden aplicar a un usuario son
pkusers -b +20 usuario
pkusers -b 20 usuario
pkusers --remove usuario
pkusers --overcharge 2 usuario
pkusers --overcharge 0.5 usuario
pkusers -L
Varios comandos pueden usarse sin pasar el nombre de usuario como argumento, en estos casos consideran que la acción se realiza en todos los usuarios.
Por ejemplo ponemos el valor de overcharge en 1 para todos los usuarios:
pkusers --overcharge 1