CUPS में नकली, डमी, अशक्त प्रिंटर कैसे जोड़ें?


12

मैं एक सॉफ्टवेयर का टुकड़ा लिख ​​रहा हूं जो कई प्रिंटर को सपोर्ट करता है। इसका परीक्षण करने के लिए, मुझे अपने CUPS सर्वर में कई प्रिंटर जोड़ने होंगे। मैं उसे कैसे कर सकता हूँ?

मैं कुछ नकली प्रिंटर जोड़ना चाहता हूं जो नौकरियों को सीधे / dev / null में भेज देंगे। इस तरह, मैं CUPS इंटरफ़ेस में "पूर्ण कार्य" सूची देख सकता हूं और यह देख सकता हूं कि क्या मेरा सॉफ़्टवेयर प्रत्येक कार्य के लिए सही प्रिंटर का उपयोग कर रहा है।


यह सही नहीं है "lpadmin -p lp0 -E -v / dev / null -m raw"
आशिका उमंगा उमगिलिया

जवाबों:


11

एक समाधान कप-पीडीएफ स्थापित करना है । यह एक वर्चुअल प्रिंटर जोड़ता है जो पीडीएफ फाइलों को लिखता है। वेब पर कई ट्यूटोरियल हैं कि इसे कैसे स्थापित करें और कॉन्फ़िगर करें; चूंकि मैं Gentoo का उपयोग करता हूं, मैंने Gentoo-wiki पढ़ा है , जिसमें Sabayon wiki का भी उल्लेख है ।

कप-पीडीएफ वर्चुअल प्रिंटर में एक कॉन्फ़िगरेशन फ़ाइल होती है /etc/cups/cups-pdf.conf, और डिफ़ॉल्ट रूप से सभी पीडीएफ फाइलें लिखी जाती हैं /var/spool/cups-pdf/${USER}

(NB: उबंटू पर यह ~ / PDF /) को लिखता है

हालांकि कुछ सीमाएँ हैं:

  • चूंकि केवल एक कॉन्फ़िगरेशन फ़ाइल है, एक से अधिक पीडीएफ प्रिंटर एक ही निर्देशिका को बचाएगा।

  • "कच्चा" डेटा (उदाहरण के लिए, उपयोग करना) प्रिंट करना असंभव है lpr -o raw। यहां तक ​​कि कच्ची नौकरी के रूप में पीडीएफ फाइल भेजने से काम नहीं चलेगा। रॉ प्रिंट जॉब्स सिर्फ खाली पेज के साथ एक खाली पीडीएफ फाइल उत्पन्न करेगा।

इन सीमाओं के साथ भी, यह मेरी जरूरतों के लिए पूरी तरह से काम करता है।


फुटनोट: यदि उपयोगकर्ता Gnome का उपयोग कर रहा है, या GTK + एप्लिकेशन के माध्यम से मुद्रण कर रहा है, तो प्रिंट संवाद में पहले से ही "प्रिंट टू फाइल" छद्म प्रिंटर है। इस प्रकार, उपयोगकर्ता को अभी भी वर्चुअल पीडीएफ प्रिंटर क्यों जोड़ना चाहिए? यहाँ कुछ कारण हैं:

  • वह "प्रिंट टू फाइल" जीटीके + के लिए विशिष्ट है, और गैर-जीटीके + अनुप्रयोगों के लिए उपलब्ध नहीं है। (शायद KDE में एक समान विशेषता है, लेकिन मुझे यकीन नहीं है)
  • यह फ़्लैश "अनुप्रयोगों" से एक पीडीएफ उत्पन्न करना संभव बनाता है जिसे मुद्रण के लिए डिज़ाइन किया गया था। उदाहरण के लिए, PocketMod
  • CUPS में एक वर्चुअल प्रिंटर जोड़ना, शेल स्क्रिप्ट या अन्य सॉफ़्टवेयर का उपयोग करके मुद्रण का परीक्षण करना संभव बनाता है जो CUPS के साथ सीधे बात करता है। यह विशेष रूप से डेवलपर्स के लिए उनके अनुप्रयोगों का परीक्षण करते समय उपयोगी है।
  • स्थानीय नेटवर्क के साथ इस वर्चुअल प्रिंटर को "साझा" करना संभव है। बिल्कुल उपयोगी नहीं है, लेकिन संभव है।
  • पीडीएफ फाइल सहेजे जाने के ठीक बाद निष्पादित किए जाने वाले पोस्ट-प्रोसेसिंग कमांड को संलग्न करना संभव है।

10

कप फोरम के पास इस प्रश्न का अधिक पूर्ण / सटीक उत्तर है।

इसका उत्तर यह है कि डिवाइस URI को फाइल करने के लिए सेट किया जाना चाहिए: / dev / null

तो मेरे उबंटू सेटअप में:

  • डिवाइस URI: फ़ाइल: / dev / null
  • मेक एंड मॉडल: लोकल रॉ प्रिंटर

जो मेरे लिए पूरी तरह से काम करता है।

मैंने कप फ़ोरम को फिर से खोजा और यह पाया:

कपल्स फोरम में कमांडलाइन नल प्रिंटर सेटअप

अपने cupd.conf में:

FileDevice yes

सेटअप प्रिंटर

lpadmin -p nowhere -E -v file:/dev/null

परीक्षण प्रिंटर

who |lp -d nowhere

मैं अभी अपने प्रिंटआउट को देख रहा हूं: ठीक विवरण, जीवंत रंग यह सादे पृष्ठ पर मुझसे कूदता है। ... अरे इंतजार करो ...।
एंड्रयू रसेल

धन्यवाद। मुझे कुछ निर्देशों को स्क्रीनशॉट करने के लिए अपने वर्चुअल मशीन में एक डमी प्रिंटर की आवश्यकता थी। :)
njallam

धन्यवाद। इसके लिए wineभी काम किया ।
तंती

7

आप एक ऐसा प्रिंटर बना सकते हैं /dev/nullजिसके साथ आउटपुट lpadmin:

$ sudo lpadmin -p myprinter -E -v file:///dev/null

यह लिखा जाएगा /etc/cups/printers.conf, लेकिन आप इसके साथ प्रिंटर भी देख सकते हैं lpstat:

$ sudo lpstat -s
myprinter accepting requests since Thu 22 Jan 2015 11:04:46 AM GMT
system default destination: myprinter
device for myprinter: ///dev/null

ध्यान दें कि आपको पुराने लिनक्स डिस्ट्रोस पर /etc/cups/cupsd.conf में FileDevice को सक्षम करने की आवश्यकता हो सकती है

अपने नए प्रिंटर को डिफ़ॉल्ट बनाने के लिए, उपयोग करें lpoptions:

$ sudo lpoptions -d myprinter

इसे कैसे हटाया जाए?
रिचर्ड

@ रीचर्ड उपयोग lpadmin -x myprinterया वेब इंटरफ़ेस।
तोर्केल ब्योर्नसन-लैंगेन

2

सबसे अच्छा समाधान में से एक का उपयोग करना है ippserver। यह इसके साथ आता हैCUPSv2.2.2 और उच्च । आप वैकल्पिक रूप से यहां से परियोजना प्राप्त कर सकते हैं: आईपीपी नमूना कार्यान्वयन

पर वर्णन के अनुसार मैनुअल पेज :

ippserver एक साधारण इंटरनेट प्रिंटिंग प्रोटोकॉल (IPP) सर्वर है जो IPP एवरीवेयर और IPP शेयर्ड इंफ्रास्ट्रक्चर एक्सटेंशन (INFRA) विनिर्देशों के अनुरूप है। इसका उपयोग स्टैंडअलोन प्रिंट सर्वर और / या मानक IPP क्लाइंट और IPP प्रॉक्सी के बीच एक बहुत ही बुनियादी ढाँचे वाले सर्वर के रूप में किया जा सकता है जो INFRA विनिर्देशन के अनुरूप है।

इसका उपयोग करने के लिए, आपको बस इतना करना ippserver "My cool printer"होगा, और यह My cool printerआपके लिए नाम के साथ एक वर्चुअल प्रिंटर बनाएगा । यह एक वेब सर्वर की तरह चलता है और विशिष्ट बंदरगाहों पर सुनता है।

यदि आपको कई प्रिंटर की आवश्यकता है, तो आप सर्वर का उपयोग करके कई पोर्ट पर चला सकते हैं ippserver "My other cool printer" -p 8888

तुम भी एक विशेषता फ़ाइल का उपयोग कर प्रिंटर विशेषताओं की आपूर्ति कर सकते हैं। उदाहरण के लिए, आपका प्रिंटर डिफ़ॉल्ट रूप से उच्च गुणवत्ता वाले प्रिंटों का समर्थन करता है, आप विशेषता फ़ाइल में निम्न विशेषता जोड़ सकते हैं:

ATTR enum print-quality-default high

और सर्वर का उपयोग करके चलाएं:

ippserver "My high quality cool printer" -a attributes-file.txt

संदर्भ:

  1. PWG IPP नमूना
  2. CUPS ipptoolfile मैन पेज

1

Http://inai.de/linux/adm_virtualprinter से लिया गया :

सीयूपीएस में वर्चुअल प्रिंटर

सीयूपीएस में एक प्रिंटर बनाने के लिए जो डेटा को कहीं नहीं भेजता (जैसे /dev/null), कई तरीके हैं। यह पृष्ठ socket:// विधि का उपयोग करता है ।

पहले xinetd सेट करें

हमें पोर्ट 9 पर टीसीपी डिस्कार्ड सेवा की आवश्यकता है। झीनाट ने इसे बनाया है, इसलिए हम इसका उपयोग कर सकते हैं। यह सुनिश्चित कर लें कि आमतौर पर xinetd की कॉन्फ़िगरेशन फ़ाइल (एस) में निम्नलिखित परिभाषा उपलब्ध है /etc/xinetd.d/discard । इसमें निम्नलिखित जैसी सेवा होनी चाहिए:

    सेवा छोड़ना
        प्रकार = आंतरिक
        इद = त्याग-धारा
        socket_type = स्ट्रीम
        प्रोटोकॉल = tcp
        उपयोगकर्ता = जड़
        प्रतीक्षा = नहीं
        अक्षम = नहीं
        ध्वज = IPv6 IPv4 
rcxinetd reloadकॉन्फ़िगरेशन फ़ाइलों को फिर से चलाने और नई discardसेवा को सक्रिय करने के लिए चलाएँ । या उपयोग करें rcxinetd startअगर xinetd पहले से सक्रिय नहीं था।

सीयूपीएस प्रिंटर

अब CUPS वेब फ्रंटेंड पर जाएं और एक नया प्रिंटर जोड़ें। गंतव्य के रूप में, उपयोग socket://localhost:9/के रूप में, प्रिंटर कुछ ऐसा चुनता है जो फीचरपूर्ण दिखता है, उदाहरण के लिए "एचपी 2500 सी फ़्यूमेटिक / pcl3"। यही सब है इसके लिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.