La otra respuesta cuando se intentó produjo lo siguiente:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
Agregar un usuario saml
le brinda el historial de ese usuario:
$ sudo lpstat -W completed -u saml | head -2
mfc-8480dn-1524 saml 23552 Thu 28 Nov 2013 10:45:44 AM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
Pero lo -u all
mencionado en este Q&A de U&L titulado: Ver todos los trabajos de impresión de los usuarios desde la línea de comando no hizo nada por mí.
$ sudo lpstat -W completed -u all | head -2
$
Curiosamente podría hacer esto:
$ sudo lpstat -W completed -u saml,root | head -3
mfc-8480dn-1524 saml 23552 Thu 28 Nov 2013 10:45:44 AM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
Entonces, una forma hack de hacer esto sería formalizar una lista de los usuarios en su sistema y luego agregarla como un subcomando al -u
argumento de la siguiente manera:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',')
Solo para mostrar que esto ve a todos los usuarios localmente, puede obtener una lista única de sus usuarios de esta manera:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',') | awk '{print $2}' | sort -u
ethan
root
sam
tammy
¿Cuestiones?
Un problema con esto es que si el usuario que imprime en CUPS no tiene una cuenta local, entonces no se mostrarán.
Pero si tiene un directorio que contiene sus archivos de control LPD, generalmente es la , you'll notice a bunch of control files in there. These files are kept as a result of the
configuración / var / spool / cups MaxJobs, que por defecto es 500 cuando está desarmado.
$ sudo ls -l /var/spool/cups/ | wc -l
502
Otra fuente de nombres de usuario?
Si revisa estos archivos, notará que contienen nombres de usuario, y no solo los de las cuentas que están presentes en el sistema.
$ strings /var/spool/cups/* | grep -A 1 job-originating-user-name | head -5
job-originating-user-name
tammyB
--
job-originating-user-name
tammyB
Entonces podríamos seleccionar todas las entradas que contienen el nombre de usuario seguido de la B.
$ sudo strings /var/spool/cups/* | grep -A 1 job-originating-user-name | \
grep -oP '.*(?=B)' | sort -u
ethan
guest-AO22e7
root
sam
saml
slm
tammy
Esta lista se puede adaptar de la misma manera que originalmente utilizamos para tomar la lista de usuarios getent passwd
, de esta manera:
$ sudo lpstat -W completed -u $(strings /var/spool/cups/* | \
grep -A 1 job-originating-user-name | \
grep -oP '.*(?=B)' |sort -u | paste -sd ',')
mfc-8480dn-1525 tammy 545792 Thu 28 Nov 2013 01:36:59 PM EST
mfc-8480dn-1526 saml 699392 Sat 30 Nov 2013 10:34:34 AM EST
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
mfc-8480dn-1672 saml 1024 Sun 09 Feb 2014 01:56:26 PM EST
Referencias