Câu trả lời khác khi thử sản xuất như sau:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
Thêm người dùng, saml
cung cấp cho bạn lịch sử của người dùng đó:
$ 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
Nhưng câu hỏi -u all
được đề cập trong Hỏi & Đáp về U & L này có tiêu đề: Xem tất cả các công việc in của người dùng từ dòng lệnh không làm gì cho tôi.
$ sudo lpstat -W completed -u all | head -2
$
Thật kỳ lạ tôi có thể làm điều này:
$ 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
Vì vậy, một cách hackish để làm điều này là chính thức hóa danh sách người dùng trên hệ thống của bạn và sau đó thêm nó dưới dạng một tiểu ban vào -u
đối số như vậy:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',')
Chỉ cần cho thấy rằng điều này nhìn thấy tất cả người dùng tại địa phương, bạn có thể nhận được một danh sách người dùng duy nhất của mình như vậy:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',') | awk '{print $2}' | sort -u
ethan
root
sam
tammy
Vấn đề?
Một vấn đề với điều này là nếu người dùng in sang CUPS không có tài khoản cục bộ thì họ sẽ không được hiển thị.
Nhưng nếu bạn có một thư mục chứa các tệp kiểm soát LPD của mình, thông thường đó là , you'll notice a bunch of control files in there. These files are kept as a result of the
cài đặt / var / spool / cup MaxJobs`, mặc định là 500 khi không đặt.
$ sudo ls -l /var/spool/cups/ | wc -l
502
Một nguồn tên người dùng khác?
Nếu bạn xem qua các tệp này, bạn sẽ nhận thấy rằng chúng chứa tên người dùng và không chỉ các tệp cho các tài khoản có trên hệ thống.
$ strings /var/spool/cups/* | grep -A 1 job-originating-user-name | head -5
job-originating-user-name
tammyB
--
job-originating-user-name
tammyB
Vì vậy, chúng tôi có thể chọn tất cả các mục có chứa tên người dùng theo sau là 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
Danh sách này sau đó có thể được điều chỉnh theo cách giống như chúng tôi ban đầu đang sử dụng để lấy danh sách người dùng từ đó getent passwd
, như vậy:
$ 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
Người giới thiệu