Die andere Antwort ergab beim Versuch folgendes:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
Wenn Sie einen Benutzer hinzufügen, wird saml
der Verlauf dieses Benutzers angezeigt:
$ 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
Die -u all
in diesem U & L mit dem Titel " Alle Druckaufträge des Benutzers über die Befehlszeile anzeigen" genannten Fragen und Antworten haben jedoch nichts für mich getan.
$ sudo lpstat -W completed -u all | head -2
$
Seltsamerweise könnte ich das tun:
$ 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
Ein hackiger Weg, dies zu tun, besteht darin, eine Liste der Benutzer auf Ihrem System zu formalisieren und diese dann als Unterbefehl zum -u
Argument wie folgt hinzuzufügen :
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',')
Um zu zeigen, dass dies alle Benutzer vor Ort sieht, können Sie eine eindeutige Liste Ihrer Benutzer erstellen, wie folgt:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',') | awk '{print $2}' | sort -u
ethan
root
sam
tammy
Probleme?
Ein Problem dabei ist, dass der Benutzer, der auf CUPS druckt, lokal kein Konto hat, nicht angezeigt wird.
Wenn Sie jedoch ein Verzeichnis haben, das Ihre LPD-Steuerdateien enthält , you'll notice a bunch of control files in there. These files are kept as a result of the
, ist die Einstellung / var / spool / cups MaxJobs in der Regel auf 500 voreingestellt, wenn sie nicht festgelegt ist.
$ sudo ls -l /var/spool/cups/ | wc -l
502
Eine andere Quelle für Benutzernamen?
Wenn Sie diese Dateien durchsehen, werden Sie feststellen, dass sie Benutzernamen enthalten und nicht nur solche für Konten, die auf dem System vorhanden sind.
$ strings /var/spool/cups/* | grep -A 1 job-originating-user-name | head -5
job-originating-user-name
tammyB
--
job-originating-user-name
tammyB
So können wir alle Einträge auswählen, die den Benutzernamen gefolgt von B enthalten.
$ 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
Diese Liste kann dann auf dieselbe Weise angepasst werden, wie wir sie ursprünglich verwendet haben, um die Liste der Benutzer zu übernehmen getent passwd
:
$ 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
Verweise