निम्नलिखित प्रयास करने पर दूसरा जवाब:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
एक उपयोगकर्ता जोड़ना, saml
आपको उस उपयोगकर्ता का इतिहास देता है:
$ 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
लेकिन -u all
इस U & L Q & A शीर्षक में उल्लिखित: देखें कि कमांड लाइन से सभी उपयोगकर्ता के मुद्रण कार्य ने मेरे लिए कुछ नहीं किया।
$ sudo lpstat -W completed -u all | head -2
$
उत्सुकता से मैं ऐसा कर सकता था:
$ 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
ऐसा करने का एक तरीका यह है कि आपके सिस्टम पर उपयोगकर्ताओं की एक सूची को औपचारिक रूप दिया जाए और फिर इसे उप- -u
तर्क के रूप में इस तरह जोड़ें:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',')
बस यह दिखाने के लिए कि यह सभी उपयोगकर्ताओं को स्थानीय रूप से देखता है आप अपने उपयोगकर्ताओं की एक अनूठी सूची प्राप्त कर सकते हैं जैसे:
$ sudo lpstat -W completed -u $(getent passwd | \
awk -F: '{print $1}' | paste -sd ',') | awk '{print $2}' | sort -u
ethan
root
sam
tammy
मुद्दे?
इसके साथ एक समस्या यह है कि अगर CUPS पर उपयोगकर्ता की छपाई स्थानीय स्तर पर नहीं होती है तो वे प्रदर्शित नहीं होंगे।
लेकिन अगर आपके पास एक निर्देशिका है जिसमें आपकी एलपीडी नियंत्रण फाइलें शामिल हैं, तो आमतौर पर यह / var / स्पूल / कप , you'll notice a bunch of control files in there. These files are kept as a result of the
मैक्सजॉब्स की सेटिंग है, जो कि परेशान होने पर 500 तक चूक जाती है।
$ sudo ls -l /var/spool/cups/ | wc -l
502
उपयोगकर्ता नाम का एक अन्य स्रोत?
यदि आप इन फ़ाइलों को देखते हैं, तो आप देखेंगे कि उनमें उपयोगकर्ता नाम शामिल हैं, न कि केवल उन खातों के लिए जो सिस्टम पर मौजूद हैं।
$ strings /var/spool/cups/* | grep -A 1 job-originating-user-name | head -5
job-originating-user-name
tammyB
--
job-originating-user-name
tammyB
इसलिए हम उन सभी प्रविष्टियों का चयन कर सकते हैं जिनमें बी के बाद उपयोगकर्ता नाम शामिल है।
$ 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
इस सूची को उसी तरह से अनुकूलित किया जा सकता है जैसे हम मूल रूप से उपयोगकर्ताओं की सूची को लेने के लिए उपयोग कर रहे थे 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
संदर्भ