কমান্ড লাইন থেকে কীভাবে সিইপিএস প্রিন্টার পুনরায় চালু করবেন?


42

আমার সিইপিএসে প্রিন্টার রয়েছে যা সময়ে সময়ে ড্রাইভার সমস্যার কারণে (এইচপি 1010) বিরতিতে চলে যায়।

আমি একটি শেল স্ক্রিপ্ট লিখতে চাই যা সিইপিএসে একটি প্রিন্টার পুনরায় শুরু করতে প্রতি ঘন্টা একবার চালানো হবে। তবে শেল কমান্ড লাইন থেকে মুদ্রকটি পুনরায় চালু করতে কয়েক মিনিট গুগল করার পরেও আমার কোনও ধারণা নেই no


এটি কী কারণে ঘটছে: একজনের জন্য, যখন আমার ওয়াইফাই প্রিন্টারটি চালিত হয় তখন মনে হয় এটি সক্ষম করা পতাকা সাফ করে। এমনকি যখন প্রিন্টারটি ব্যাক আপ চালিত হয় তখন সক্ষম করা পতাকাটি চেক করে পুনরুদ্ধার করা হয় না। .. --- কাজগুলি তখন মুদ্রণ সারিতে স্তূপিত হবে। ত্রুটি বার্তাটি "ফিল্টার ব্যর্থ"। আমি যখন এই বাক্সটিকে মুদ্রক সেটিংসে পরীক্ষা করি তখন প্রিন্টারটি আবার মুদ্রণ শুরু করে।
উপবৃত্তাকার দর্শন

উত্তর:


66

কাপসনেবল কমান্ড আছে।

cupsenable printer

একটি প্রতিবন্ধী প্রিন্টার আরম্ভ (printername খুঁজে বের করতে আপনার সাথে আপনার প্রিন্টার তালিকাবদ্ধ করতে পারেন lpstat -pঅথবা lpc status)।

আপনাকে কমান্ডটি রুট হিসাবে বা সুডোর মাধ্যমে চালাতে হতে পারে। সুতরাং যদি আপনাকে শেল স্ক্রিপ্টে প্রিন্টার সক্ষম করতে হয় তবে আপনাকে শেলের রুটের ক্রন্টাবের সাথে যুক্ত করতে হবে, বা আপনার সুডোয়ার্স ফাইল সম্পাদনা করতে হবে।


1
+1 করতে (ইন হিসাবে "overbloated কাপ কনফিগ ব্যবহার করুন" বিপরীতে এই উত্তর superuser.com/a/280400/160771 ), সত্যিই সাহায্য করেছিল। তার আরো বিন্দু, যেহেতু ওপি জানতে কম্যান্ড লাইন চেয়েছিলেন
humanityANDpeace

25

আপনি যে সিইপিএস চালিয়ে যাচ্ছেন তার উপর নির্ভর করে আপনার সমস্যাটি বিভিন্ন উপায়ে মোকাবেলা করা যেতে পারে।

  1. CUPS- র আরও সাম্প্রতিক সংস্করণগুলি (সংস্করণ 1.2 এবং এর উপরে) একটি বিল্টিন কার্যকারিতা নিয়ে আসে যা এখানে সহায়তা করতে পারে। একে "ত্রুটিবিজ্ঞানী" বলা হয়। এটি ডিফল্ট সেটিংটি কাপসড.কনফ-এ নির্বাচিত হয়েছে এবং এটি নির্ধারণ করে যে কাপসড কীভাবে প্রিন্ট সারিগুলি পরিচালনা করতে হবে যা প্রত্যাশার মতো আচরণ করে না। প্রতিটি কাতারে পৃথকভাবে ট্যাগ করার জন্য আপনার কাছে 3 টি পছন্দ রয়েছে:

    ErrorPolicy abort-job  
    ErrorPolicy retry-job  
    ErrorPolicy retry-this-job  
    ErrorPolicy stop-printer  
    

    ব্যাখ্যা:

    • abort-job
      - এই কাজটি বাতিল করুন এবং পরবর্তী সারিতে একই কাতারে এগিয়ে যান

    • retry-job
      - এন সেকেন্ডের জন্য অপেক্ষা করার পরে এই কাজটি আবার চেষ্টা করুন (যেখানে এন কাপসড.কনফের "জবরেট্রিআইন্টারওয়াল" নির্দেশিকা দ্বারা নির্ধারিত হয় )।

    • retry-this-job
      - অবিলম্বে এবং অনির্দিষ্টকালের জন্য বর্তমান কাজ পুনরায় চেষ্টা করুন।

    • stop-printer
      - বর্তমান মুদ্রণ সারি বন্ধ করুন এবং ভবিষ্যতে মুদ্রণের জন্য কাজটি রাখুন। এটি এখনও ডিফল্ট, যদি না আপনি উল্লিখিত বিকল্পগুলি অনুসারে অন্যথায় সংজ্ঞা না দেন তবে এটি ডিফল্টও ছিল + সিইপিএস-এর পূর্ববর্তী সংস্করণগুলিতে সমস্ত কাতারের জন্য কেবল সম্ভাব্য আচরণ (যা আপনার প্রশ্ন অনুসারে আপনি মুক্তি পেতে চান)।

    অতিরিক্তভাবে, আপনি পৃথক ত্রুটিযুক্ত নীতিগুলি প্রতিটি পৃথক মুদ্রণ সারিতে সেট করতে পারেন। এই সেটিংটি প্রিন্টার্সকনফ ফাইলটিতে উল্লেখ করা হবে। (এটির সাথে একটি কমান্ডলাইন থেকে সেট করুন lpadmin -p printername -o printer-error-policy=retry-this-job)।

  2. জন্য কাপ পুরোনো সংস্করণগুলি আমি একটি চেহারা আছে কথা বলতে চাই beh, কাপ ব্যাকএন্ড হ্যান্ডলারbehএটি একটি মোড়ক যা কোনও সিইপিএস ব্যাকএন্ডে প্রয়োগ করা যেতে পারে।

    আপনার মুদ্রণ সারিটি বর্তমানে একটি ব্যাকএন্ড সংজ্ঞায়িত করেছে socket://192.168.1.111:9100এবং এটি আপনার পছন্দ মতো আচরণ করে না (নেটওয়ার্ক সংযোগ সমস্যার কারণে কাপসড দ্বারা সময়ে সময়ে অক্ষম হয়ে পড়েছে)। সঙ্গে behএই মত আপনার ব্যাকএন্ড আপনি চাই পুনরায় সংজ্ঞায়িত:

    beh:/0/20/120/socket://192.168.1.111:9100
    

    এটি দুই মিনিটের ব্যবধানে 20 বার একটি চাকরী আবার চেষ্টা করবে এবং এখনও সফল না হলে কেবল সারিটি অক্ষম করবে। অথবা আপনি এটি করতে পারেন:

    beh:/1/3/5/socket://192.168.1.111:9100
    

    এটি চেষ্টাটির মধ্যে 5 সেকেন্ড বিলম্বের সাথে 3 বার কাজটি পুনরায় চেষ্টা করে। যদি কাজটি এখনও ব্যর্থ হয় তবে তা বাতিল করা হয় তবে সারিটি অক্ষম নয়। আপনি কি কাপসডকে ডিভাইসে সংযুক্ত হওয়ার জন্য অনির্দিষ্টকালের জন্য চেষ্টা করতে চান? ভাল, এই চেষ্টা করুন:

    beh:/1/0/30/socket://192.168.1.111:9100
    

    মুদ্রক ফিরে না আসা পর্যন্ত অসীম চেষ্টা করুন। সংযোগের চেষ্টাগুলির মধ্যে ব্যবধানগুলি 30 সেকেন্ডের। প্রিন্টারটি বন্ধ হয়ে গেলে কাজটি হারাবে না। আপনি ইচ্ছাকৃতভাবে প্রিন্টারটি বন্ধ করে মুদ্রণটি বিলম্ব করতে পারেন। ডেস্কটপ প্রিন্টার এবং / বা হোম ব্যবহারকারীদের জন্য একটি ভাল কনফিগারেশন।


সামগ্রিকভাবে, সেখানে ব্যাশ স্ক্রিপ্ট, cron কাজ, সঙ্গে প্রায় জগাখিচুড়ি কোন প্রয়োজন নেই lpadmin, cupsenableবা sudoপুনরায় সক্রিয় CUPS সারিগুলি erratically নিচে যাচ্ছে করার জন্য।


আমরা কীভাবে সিইপিএসের আরও সাম্প্রতিক সংস্করণগুলির জন্য পুনরায় চেষ্টা করার ব্যবধানটি সেট করতে পারি?
সেপিরো

@ সেপিরো: হ্যাঁ উদাহরণস্বরূপ: আপনি JobRetryInterval 58প্রতি 58 সেকেন্ডে চেষ্টা করার চেষ্টা করতে পারেন । অন্যান্য সম্ভাব্য মানগুলি 1w(1 সপ্তাহ), 3d(3 দিন), 7h(7 ঘন্টা) বা 4m(4 মিনিট)।
কুর্ট ফেফিল

@ সেপিরো: সিইপিএস v1.7 অবধি সমস্ত সম্ভাব্য cupsd.confপ্যারামিটারগুলি এখানে নথিভুক্ত করা হয়েছে: http://www.cups.org/docamentation.php/doc-1.7/ref-cupsd-conf.html । পৃষ্ঠার ডান প্রান্তে প্রতিটি প্যারামিটারের জন্য টীকাগুলি পরীক্ষা করুন: এটি আপনাকে জানাবে যে কোন সিউপিএস প্রকাশ প্রথম এটির সমর্থন করেছিল। আরও দরকারী প্যারামের খুশির আবিষ্কার! :-)
কার্ট ফেফেল

8

-Eপ্রিন্টার নিয়ে ব্যবহৃত বিকল্প lpadminযে কি করা উচিত নয়। আপনি সম্ভবত lpadminকমান্ড দিয়ে একটি ক্রোন জব তৈরি করতে পারেন ।

lpadmin [-U username ] [ -h server[:port] ] -p printer option(s)

প্রতি ঘন্টা cronপ্রবেশ

0 * * * * /usr/sbin/lpadmin -p your_printer -E

আপনি এটি চালিয়ে যোগ করতে পারেন:

sudo crontab -e

আপনি -Eমুদ্রক নামটি পরে যুক্ত করেছেন তা নিশ্চিত করুন , কারণ এটি এখানে একটি প্রিন্টার বিকল্প, কোনও এলপ্যাডমিন বিকল্প নয়। man lpadminপৃষ্ঠাটি থেকে নীচের অংশটি নোট করুন যা নীচে একটি মন্তব্যে নির্দেশ করা হয়েছিল:

-D, -p, বা -x বিকল্পগুলির আগে নির্দিষ্ট করা হলে, -E বিকল্পটি সার্ভারের সাথে সংযোগ করার সময় এনক্রিপশনকে বাধ্য করে।


2
এটা ভুল. - আমরা এই প্রসঙ্গে একটি মুদ্রক বিকল্প, এবং অবশ্যই প্রিন্টারের নাম পরে যেতে হবে, অন্যথায় আপনি কেবল যোগাযোগ এনক্রিপশন চালু করছেন। বিকাশকারী.অ্যাপল .com/library/mac/docamentation/Darwin/References/… - -d, -p, অথবা -x বিকল্পগুলির আগে নির্দিষ্ট করা হলে, -E বিকল্পটি সার্ভারের সাথে সংযোগ করার সময় এনক্রিপশনকে বাধ্য করে।
স্ক্রাগার

এটি আমার জন্য একমাত্র সমাধান যা কাজ করে। কাপগুলি প্রায়শই প্রায়শই বিনা কারণে প্রিন্টারে বিরতি দেয়। error-policyকিছু ঠিক নেই। cupsenableকিছু ঠিক করে না শুধু lpadminআমার জন্য।
ইউজার

6

আমার মুদ্রকটি এইচপি সিপি 1215 এও একটি ত্রুটি ছিল: প্রিন্টার বিরতি দিয়েছিল - "/ usr / lib / কাপ / ব্যাকএন্ড / এইচপি ব্যর্থ হয়েছে"

উভয় পুনরায় চালু করার পর cupsএবং avahi-daemonসাথে প্রিন্টার চিহ্নিতকরণের lpstat -pএবং সক্রিয় cupsenable, আমি আবার প্রিন্ট করতে সক্ষম হন। কেবল পুনরায় আরম্ভ cupsএবং সক্ষম করা কৌশলটি করেনি।

আমি আবারও পুনরায় চেষ্টা করার জন্য ডিফল্ট নীতি পরিবর্তন করেছি এবং শেষ পর্যন্ত ক্রোনজব দিয়ে ত্রুটিগুলি এড়িয়ে শেষ করেছি:

* * * * * lpstat -p |grep "poissa käytöstä" && service avahi-daemon restart; service cups restart; cupsenable HP_Tuloostin

poissa käytöstä"আউট অফ অর্ডার" রক্ষণাবেক্ষণের জন্য ফিনিশ স্থানীয়করণ পাঠ্য কোথায় এবং HP_Tuloostinআমার প্রিন্টারের নাম।

আমার অভিজ্ঞতায় ডিফল্ট-নীতি এবং বর্তমান মুদ্রক নীতি উভয়ই পুনরায় চেষ্টা করার জন্য কনফিগার করা উচিত। ডিফল্ট নীতি হ'ল নীতি যা আপনি একটি নতুন প্রিন্টার ইনস্টল করার সময় পাবেন।


2
ls /etc/cups/ppd/ |cut -d "." -f1 |grep -v VMware |xargs -i cupsenable {}

এটি এমন সমস্ত পিপিডি ফাইল তালিকাভুক্ত করে যা কোনও ইনস্টলড প্রিন্টারের প্রতিনিধিত্ব করে, পিপিডি এক্সটেনশনটি কেটে দেয়, প্রচুর ভিএমওয়্যার সার্ভারে অন্তর্ভুক্ত একটি ভিএমওয়্যার পিপিডি উপেক্ষা করে (যদি আপনার কেবল এটি অপসারণের প্রয়োজন না হয় |grep -v VMware), এবং অন্যান্য নামগুলি পাস করে xargsযা সমস্তগুলিকে বিরতি দেয় প্রিন্টার।

একটি ক্রোন জব এই কাজটি ভাল করা উচিত।


1

সমস্যাটি যদি এ থেকে যায় যে প্রিন্টারটি পুনরায় চালু করতে জিইউআইয়ের একটি লগইন প্রয়োজন তখন অন্য একটি সমাধান হ'ল লগইন ছাড়াই জিইউআইয়ের মাধ্যমে প্রিন্টারের পুনরায় শুরু করতে দেওয়া। শাটডাউন কাপগুলি করতে এবং এই লাইনটি সম্পাদনা করতে sudo vi /etc/cups/cupsd.conf:

<Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After Cancel-  Jobs CUPS-Accept-Jobs CUPS-Reject-Jobs>

এবং Resume-Printerনির্দেশটি সরিয়ে ফেলুন , তারপরে কাপগুলি পুনরায় চালু করুন। যদি নির্দেশ একাধিক <Limit>বিভাগে উপস্থিত হয় তবে আপনি এটিকে সংশ্লিষ্ট <Policy>বিভাগ থেকে অপসারণ করতে পারেন বা সমস্তটি থেকে মুছে ফেলতে পারেন। আপনার এখন জিইউআই থেকে লগইন না করে প্রিন্টারটি পুনরায় শুরু করতে সক্ষম হওয়া উচিত। আমি এটি ম্যাকওয়ার্ল্ডে দেখেছি তবে এটি কোনও কাপ ইনস্টলের ক্ষেত্রে প্রযোজ্য।


1

উপরের জ্যানের উত্তর, যেমন:

* * * * * lpstat -p |grep "poissa käytöstä" && service avahi-daemon restart; service cups restart; cupsenable HP_Tuloostin

... কোনও মুদ্রক যে অবস্থায় আছে তা নির্বিশেষে প্রতি মিনিটে সিইপিএস পুনরায় আরম্ভ করার কারণ ঘটায় That's কারণ কাপগুলি পুনরায় চালু করার শর্তটি && এর সাথে জুড়ে দেওয়া হয়নি।

এখানে একটি বিএএসএএস সংক্ষিপ্ত স্ক্রিপ্ট আমি ব্যর্থতার অবস্থা সনাক্ত করার পরে CUPS পুনরায় চালু করতে শর্তযুক্ত করেছিলাম।

#!/bin/bash

DATE=$(date)
DS40=$(/usr/bin/lpstat -p |grep "DS40" |grep "disabled")

if [ ! -z "${DS40}" ]; then
    echo "${DATE} - Restarted avahi and cups" >> /var/log/cups/restart-cron-tim.log
    /usr/sbin/service avahi-daemon restart
    /usr/sbin/service cups restart
    /usr/sbin/cupsenable Dai_Nippon_Printing_DS40
fi

"ডিএস 40" কে আপনি যে স্থিতির সন্ধান করছেন তার সাথে প্রতিস্থাপন করুন এবং আপনার ভাষায় lpstat -p আউটপুটগুলির সাথে "অক্ষম" করুন।


0

আমি লাইনের সাথে কাপসড.কনফ আপডেট করেছি:

ত্রুটিপলিশ গর্ভপাত-কাজ

তারপরে আমি কাপসডিটি পুনরায় চালু করেছি: /etc/init.d/cups পুনঃসূচনাটি ব্যবহার করে

তবে আমি যখন মুদ্রকগুলি কনফ ফাইলটি দেখি তখন ত্রুটিপলিসি আপডেট হয় না। কাপের ডকুমেন্টেশন অনুসারে, "ত্রুটিপলিসি অ্যাবার্ট-কাজ" লাইনটি অবশ্যই প্রিন্টার বিভাগে উপস্থিত থাকতে হবে।

আমি এলপ্যাডমিন দিয়েও ত্রুটিপলিসি আপডেট করার চেষ্টা করেছি। কিছুই ত্রুটিপলিসি পরিবর্তন করে না বা এটি প্রিন্টার্সকনফ ফাইলটিতে তৈরি করে না।

আমি কী মিস করছি? আমি কীভাবে নিশ্চিত করব যে কাপসড আসলে ত্রুটিযুক্ত একটি চাকরী বন্ধ করে দেয়?



0

lpadmin -p p-go-avtom2 -v p-go-avtom2 -E

সূত্র


5
এটি ঠিক কী করে তা ব্যাখ্যা করার জন্য যত্নশীল? দয়া করে আরও কিছু প্রসঙ্গ যুক্ত করুন।
slhck

0

এখানে সমাধানগুলির একগুচ্ছটি আমার পক্ষে কার্যকর হয়নি, (যেমন সুডো কাপসনেবল এবং এলপ্যাডমিন-ই)।

আপনি যদি ডেবিয়ান 8.6 ব্যবহার করছেন তবে দারুচিনি 2.2.16 (লিনাক্স) আপনার জিইউআই শুরু মেনু থেকে এটি করুন:

Click Administration | Print Settings,
Then select your stalled CUPS printer,
Click Unlock (and give it your admin password),
Click Server | Settings,
In this click the blue "Problems?" link. 

জন্য উবুন্টু 16,04:

Click System Settings | Printers,
Then Server | Settings,
Click the blue "Problems?" link. 

এটি মুদ্রণের সমস্যা সমাধানকারী খুলবে। এটি আপনাকে পরবর্তী কী করতে হবে তা বলবে।

সম্ভবত আপনাকে আপনার মুদ্রণ সেটিংসে আপনার CUPS প্রিন্টারের জন্য সক্ষম সম্পত্তিটি পরীক্ষা করতে হবে। (আপনাকে প্রথমে আনলক করতে হবে)।

শেষ অবধি, এটি আবার না ঘটতে, উপরে বর্ণিত প্রিন্টার সেটআপে "বৈশিষ্ট্যগুলি" নীতিটি "" পুনরায় চেষ্টা করুন "এ পরিবর্তন করুন (বৈশিষ্ট্য | নীতির অধীনে)।

এটা আমার জন্য স্থির!

এই সমস্যার কারণ কী: আমি যখন কোনও সিপিএস প্রিন্টারে মুদ্রণ করি তখন যদি আমার ওয়াইফাই প্রিন্টারটি চালিত হয় এবং আমার নীতিটি "প্রিন্টার বন্ধ করুন" হয় তবে আমি একটি বার্তা পাই যা আমি মুদ্রণ করতে পারি না এবং মুদ্রকটি অক্ষম করা আছে (সক্ষমযোগ্যটি চেক করা নেই) । কেবলমাত্র নীতিটি "পুনরায় কাজ করার চেষ্টা করুন" এ সেট করা থাকলে তা সক্ষম না করা হবে না। প্রিন্টারটি শক্তি প্রয়োগ করার কয়েক মিনিটের পরে আপনার কাজগুলি মুদ্রণ শুরু করবে।

(এটি সম্পর্কে আমার অন্যান্য পোস্ট।)


0

এখানেও একই সিইপিএস ননসেন্স ব্যবহার করতে হবে ... আমার জন্য সমাধান হ'ল একটি সিস্টেমযুক্ত স্ক্রিপ্ট যা প্রতি n মিনিটে চলে minutes

/usr/local/cups/enable_cups_printers.sh

#!/bin/sh
for printer in $(lpstat -v | perl -pe 's/device for ([A-Za-z0-9_]+):.*/\1/g')
do
    echo "Forcely enabling printer: $printer"
    # Enable:-E PrinterId:-p
    /usr/bin/lpadmin -E -p "$printer"
done

cups.enable.printers.service

[Unit]
Description = Forcely enable printer occassionally. Why CUPS disables printers in the first place has yet to be determined.

[Service]
Type = simple
ExecStart = /usr/local/cups/enable_cups_printers.sh

[Install]
WantedBy = multi-user.wants

cups.enable.printers.timer

[Unit]
Description=Run enable printers frequently to ensure connection difficulties are remedied.

[Timer]
OnBootSec=15min
OnUnitActiveSec=300

[Install]
WantedBy = timers.target

-1

অন্যরা ইতিমধ্যে বলেছে, 'কাপসনেবল' বা 'লিপ্যাডমিন-ই' এর কৌশলটি করা উচিত।

সম্পর্কিত সমস্যা আইআইআরসি হ'ল ডিফল্টরূপে সিইপিএস প্রিন্টারে কনফিগার করে যে কোনও কাজ মুদ্রণ যদি কোনওভাবে ব্যর্থ হয় তবে প্রিন্টারটি অক্ষম থাকে is পরিবর্তে এই কাজটি বাতিল করতে আপনি এটি পরিবর্তন করতে পারেন।


-1 হিসাবে -E এনক্রিপশন জন্য।
উপবৃত্তাকার দর্শন

উপরের অন্য উত্তরে, কীভাবে সঠিকভাবে প্রিন্টার বিকল্প হিসাবে ব্যবহার করা যায় তা এলপ্যাডমিন বিকল্প হিসাবে নয় See
উপবৃত্তাকার দর্শন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.