| cups-browsed.conf(5) | cups-browsed.conf(5) |
نام (NAME)
cups-browsed.conf - فایل پیکربندی دیمون cups-browsed
توضیحات (DESCRIPTION)
فایل cups-browsed.conf دیمون cups-browsed را پیکربندی میکند. این فایل معمولاً در دایرکتوری /etc/cups قرار دارد. هر خط در این فایل میتواند یک دستورالعمل پیکربندی، یک خط خالی، یا یک توضیح (کامنت) باشد. خطوط توضیحی با نویسهٔ # آغاز میشوند.
دستورالعملها (DIRECTIVES)
دستورالعمل "CacheDir" مشخص میکند که cups-browsed هنگام خاموش شدن، اطلاعات مربوط به صفهای چاپی که ایجاد کرده بود را در کجا ذخیره کند؛ مانند اینکه آیا یکی از این صفها چاپگر پیشفرض بوده است یا خیر، یا تنظیمات گزینههای پیشفرض صفها.
CacheDir /var/cache/cupsبا دستورالعمل "LogDir" میتوان مشخص کرد که cups-browsed پروندهٔ وقایع اشکالزدایی (لاگ دیباگ) خود را در کجا ایجاد کند (در صورتی که "DebugLogging file" تنظیم شده باشد).
LogDir /var/log/cupsدستورالعمل "DebugLogging" تعیین میکند که ثبت وقایع اشکالزدایی چگونه انجام شود: درون پروندهٔ /var/log/cups/cups-browsed_log ("file")، در خروجی خطای استاندارد ("stderr")، یا اصلاً ثبت نشود ("none").
توجه داشته باشید اگر cups-browsed به عنوان یک سرویس سیستمی (برای نمونه از طریق systemd) در حال اجرا باشد، ثبت وقایع در stderr باعث هدایت خروجی لاگ به ژورنال یا syslog میشود. تنها در صورتی که cups-browsed را از خط فرمان اجرا کنید (برای توسعه یا اشکالزدایی)، خروجی واقعاً در stderr پدیدار خواهد شد.
DebugLogging file DebugLogging stderr DebugLogging file stderr DebugLogging noneتنها مرور چاپگرهای راه دور (از طریق DNS-SD) از کارگزارهای انتخابشده با استفاده از دستورالعملهای "BrowseAllow" ،"BrowseDeny" و "BrowseOrder"
این قابلیت برای محدود کردن گزینش چاپگرها در پنجرههای گفتگوی چاپ به کارگزارهای مورد اعتماد، یا برای کاهش تعداد چاپگرهای فهرستشده در پنجرههای گفتگوی چاپ به مقداری مناسبتر برای کاربر در شبکههای بزرگ با شمار بسیار زیادی چاپگر اشتراکی به کار میرود.
این ویژگی تنها انتخاب چاپگرهای راه دوری را پالایش میکند که cups-browsed برای آنها صفهای محلی میسازد. اگر پنجره گفتگوی چاپ از سازوکارهای دیگری برای فهرست کردن چاپگرهای راه دور استفاده کند (مانند دسترسی مستقیم DNS-SD)، دیمون cups-browsed هیچ تأثیری روی آن نخواهد داشت. همچنین cups-browsed مانع از دسترسی دستی کاربر به چاپگرهای فهرستنشده نمیشود.
"BrowseAllow": پذیرش چاپگرها از این میزبانها یا شبکهها. اگر تنها خطوط "BrowseAllow" وجود داشته باشند و هیچ خط "BrowseOrder" و/یا "BrowseDeny" وجود نداشته باشد، تنها کارگزارهایی پذیرفته میشوند که دستکم با یک خط "BrowseAllow" مطابقت داشته باشند.
"BrowseDeny": رد چاپگرها از این میزبانها یا شبکهها. اگر تنها خطوط "BrowseDeny" وجود داشته باشند و هیچ خط "BrowseOrder" و/یا "BrowseAllow" وجود نداشته باشد، تمام کارگزارهایی که با هیچیک از خطوط "BrowseDeny" مطابقت ندارند، پذیرفته میشوند.
"BrowseOrder": ترتیب اعمال خطوط "BrowseAllow" و "BrowseDeny" را تعیین میکند. با "BrowseOrder Deny,Allow" در ابتدا همهٔ کارگزارها پذیرفته میشوند، سپس خطوط "BrowseDeny" برای کنار گذاشتن کارگزارها یا شبکههای ناخواسته اعمال میگردند و پس از آن خطوط "BrowseAllow" برای گنجاندن مجدد کارگزارها یا شبکهها اعمال میشوند. با "BrowseOrder Allow,Deny" با رد کردن همهٔ کارگزارها آغاز میکنیم، سپس خطوط "BrowseAllow" و پس از آن خطوط "BrowseDeny" اعمال میشوند.
پیشفرض برای "BrowseOrder" در صورتی که هر دو خط "BrowseAllow" و "BrowseDeny" وجود داشته باشند، "Deny,Allow" است.
اگر هیچ خط "...Browse" وجود نداشته باشد، تمام کارگزارها پذیرفته میشوند.
BrowseAllow All BrowseAllow 192.168.7.20 BrowseAllow 192.168.7.0/24 BrowseAllow 192.168.7.0/255.255.255.0 BrowseDeny All BrowseDeny 192.168.1.13 BrowseDeny 192.168.3.0/24 BrowseDeny 192.168.3.0/255.255.255.0 BrowseOrder Deny,Allow BrowseOrder Allow,Denyپالایش چاپگرهای راه دور بر اساس ویژگیهایی غیر از نشانیهای IP کارگزارهای آنها
اغلب گزینش دلخواه چاپگرها نمیتواند تنها با در نظر گرفتن نشانیهای IP کارگزارها حاصل شود. برای این موارد، دستورالعمل BrowseFilter برای پالایش بر اساس بیشترِ ویژگیهای شناختهشدهٔ چاپگر وجود دارد.
بهطور پیشفرض هیچ خط BrowseFilter وجود ندارد که به معنای عدم اعمال پالایش است.
برای انجام پالایش میتوان یک یا چند دستورالعمل BrowseFilter را به این صورت مشخص کرد:
BrowseFilter [NOT] [EXACT] <FIELD> [<VALUE>]دستورالعمل BrowseFilter همیشه با کلمهٔ "BrowseFilter" آغاز میشود و دستکم باید حاوی نام فیلد داده (<FIELD>) از ویژگیهای چاپگر باشد که باید روی آن اعمال گردد.
نامهای فیلد در دسترس عبارتند از:
name: نام صف چاپ محلی که باید ایجاد شود host: نام میزبان کارگزار چاپ راه دور port: درگاهی که از طریق آن به چاپگر روی کارگزار دسترسی پیدا میشود service: نام سرویس DNS/SD چاپگر راه دور domain: دامنهٔ کارگزار چاپ راه دورهمچنین تمامی نامهای فیلد در رکوردهای TXT چاپگرهای آگهیشده از طریق DNS-SD معتبر هستند، مانند "color" ،"duplex" ،"pdl" و... اگر نام فیلدِ قاعدهٔ فیلتر برای چاپگر وجود نداشته باشد، از آن قاعده صرفنظر میشود.
فیلد اختیاری <VALUE> یا مقدار دقیق است (زمانی که گزینهٔ EXACT تعیین شده باشد) یا یک عبارت باقاعده (اجرای "man 7 regex" در ترمینال) برای مطابقت با فیلد داده است.
اگر هیچ فیلد <VALUE> ارائه نشود، قواعد با نام فیلدهای رکورد TXT برای تطبیق بولی (درست/نادرست - true/false) فیلدهای بولی در نظر گرفته میشوند (مانند duplex که میتواند مقادیر "T" برای درست و "F" برای نادرست داشته باشد).
اگر گزینهٔ NOT ارائه شود، قاعدهٔ فیلتر در صورتی برقرار خواهد بود که عبارت باقاعده یا مقدار دقیق با محتوای فیلد داده مطابقت نداشته باشد. در یک قاعدهٔ بولی (بدون <VALUE>)، قاعده در صورت نادرست (false) بودن مطابقت مییابد.
عبارات باقاعده همواره غیرحساس به بزرگی و کوچکی حروف و به عنوان عبارات باقاعده گستردهٔ پوزیکس (POSIX) در نظر گرفته میشوند. نامهای فیلد و گزینهها (NOT, EXACT) همگی به صورت غیرحساس به بزرگی و کوچکی حروف ارزیابی میشوند. اگر خطایی در عبارت باقاعده وجود داشته باشد، خط BrowseFilter نادیده گرفته میشود.
بهویژه باید توجه داشت که ارائهٔ هر رشتهٔ ساده متشکل از حروف، ارقام، فاصلهها و برخی نویسههای ویژهٔ پایهای به عنوان یک عبارت باقاعده، در صورتی مطابقت خواهد داشت که در جایی درون فیلد داده وجود داشته باشد.
اگر بیش از یک دستورالعمل BrowseFilter وجود داشته باشد، برای پذیرفته شدن چاپگر راه دور باید تمامی دستورالعملها برقرار باشند. اگر یکی از آنها برقرار نباشد، چاپگر نادیده گرفته خواهد شد.
مثالها:
قواعد برای موارد دادهٔ استاندارد که همراه با هر چاپگر راه دور آگهیشده از طریق DNS-SD ارائه میشوند:
نام صف چاپ باید شامل "hum_res_" باشد؛ این با "hum_res_mono" یا "hum_res_color" و همچنین "old_hum_res_mono" مطابقت دارد:
BrowseFilter name hum_res_این مورد در صورتی مطابقت دارد که نام میزبان راه دور شامل "printserver" باشد، مانند "printserver.local" ،"printserver2.example.com" ،"newprintserver":
BrowseFilter host printserverاین با تمام درگاههایی که عدد 631 در شمارهٔ آنها باشد مطابقت دارد؛ برای نمونه 631، 8631، 10631 و...:
BrowseFilter port 631این قاعده در صورتی مطابقت دارد که نام سرویس DNS-SD شامل "@ printserver" باشد:
Browsefilter service @ printserverبا تمام دامنههایی که شامل "local" در نام خود هستند مطابقت دارد؛ نه تنها "local" بلکه مواردی مانند "printlocally.com":
BrowseFilter domain localمثالهایی برای قواعد اعمالشده روی موارد رکورد TXT:
این قاعده چاپگرهای PostScript را انتخاب میکند، زیرا فیلد "PDL" در رکورد TXT در این صورت حاوی "postscript" است. این شامل صفهای راه دور CUPS که PostScript را میپذیرند نیز میشود، صرفنظر از اینکه چاپگر فیزیکی پشت صف CUPS از PostScript پشتیبانی کند یا خیر.
BrowseFilter pdl postscriptچاپگرهای رنگی معمولاً یک مدخل "Color" دارند که در رکورد TXT روی "T" (برای درست) تنظیم شده است. این قاعده آنها را انتخاب میکند:
BrowseFilter colorاین یک قاعدهٔ مشابه برای گزینش تنها چاپگرهای دورو (چاپ دوروی خودکار) است:
BrowseFilter duplexقواعد دارای گزینهٔ NOT:
این قاعده چاپگرها را از تمام میزبانهایی که در نام آنها "financial" وجود دارد مستثنی میکند؛ راهکاری عالی برای رهایی از صدها چاپگر بخش مالی:
BrowseFilter NOT host financialدریافت تنها چاپگرهای تکرنگ ("Color" در رکورد TXT روی "F"، به معنای نادرست، تنظیم شده است):
BrowseFilter NOT colorقواعد با استفادهٔ پیشرفتهتر از عبارات باقاعده:
اکنون تنها نامهای صفی که با "hum_res_" آغاز میشوند پذیرفته خواهند شد، بنابراین همچنان "hum_res_mono" یا "hum_res_color" را دریافت میکنیم اما دیگر "old_hum_res_mono" دریافت نخواهد شد:
BrowseFilter name ^hum_res_نام کارگزار در صورتی پذیرفته میشود که شامل "print_server" یا "graphics_dep_server" باشد:
BrowseFilter host print_server|graphics_dep_serverفقط "printserver1" ،"printserver2" و "printserver3" و نه چیز دیگر:
BrowseFilter host ^printserver[1-3]$چاپگرهایی که دستکم یکی از زبانهای PostScript ،PCL یا PDF را پشتیبانی میکنند:
BrowseFilter pdl postscript|pcl|pdfمثالهایی برای گزینهٔ EXACT:
تنها چاپگرهای "printserver.local" پذیرفته میشوند:
BrowseFilter EXACT host printserver.localچاپگرها از تمام کارگزارها بهجز "prinserver2.local" پذیرفته میشوند:
BrowseFilter NOT EXACT host prinserver2.localدستورالعمل BrowsePoll هر ۶۰ ثانیه یک بار یک کارگزار را برای چاپگرهای در دسترس بررسی (نظرسنجی) میکند. چندین دستورالعمل BrowsePoll را میتوان برای بررسی چند کارگزار مشخص کرد. درگاه پیشفرض برای اتصال ۶۳۱ است.
BrowsePoll 192.168.7.20 BrowsePoll 192.168.7.65:631 BrowsePoll host.example.com:631دستورالعمل BrowseLocalProtocols پروتکلهای مورد استفاده هنگام آگهی کردن چاپگرهای اشتراکی محلی روی شبکه را مشخص میکند. مقدار پیشفرض "none" است. کنترل آگهی کردن چاپگرهای اشتراکی محلی با استفاده از dnssd توسط CUPS انجام شده و در /etc/cups/cupsd.conf پیکربندی میشود.
BrowseLocalProtocols noneدستورالعمل BrowseRemoteProtocols پروتکلهای مورد استفاده هنگام یافتن چاپگرهای اشتراکی راه دور روی شبکه را مشخص میکند. چندین پروتکل را میتوان با جدا کردن آنها با فاصله تعیین کرد. مقدار پیشفرض "dnssd" است.
BrowseRemoteProtocols none BrowseRemoteProtocols dnssdدستورالعمل BrowseProtocols پروتکلهای مورد استفاده هنگام یافتن چاپگرهای اشتراکی راه دور روی شبکه و آگهی کردن چاپگرهای اشتراکی محلی را مشخص میکند. چندین پروتکل را میتوان با جدا کردن آنها با فاصله تعیین کرد.
BrowseProtocols none BrowseProtocols dnssdدستورالعمل DomainSocket سوکت دامنهای را که از طریق آن به دیمون محلی CUPS در حال اجرا دسترسی پیدا میشود، مشخص میکند. در صورت عدم تعیین، از سوکت دامنه استاندارد CUPS استفاده میشود. اگر یک سوکت دامنه جایگزین برای CUPS از طریق دستورالعمل Listen در /etc/cups/cupsd.conf تعیین کردهاید، از این گزینه استفاده کنید. اگر cups-browsed نتواند از طریق یک سوکت دامنه به دیمون محلی CUPS دسترسی یابد، از طریق localhost به آن دسترسی پیدا میکند. "None" یا "Off" باعث میشود cups-browsed از سوکت دامنه CUPS استفاده نکند.
DomainSocket /var/run/cups/cups.sock DomainSocket None DomainSocket Offتنظیم مهلت زمانی HTTP (به ثانیه) برای درخواستهای ارسالشده به منابع محلی/راه دور. توجه داشته باشید که مهلتهای زمانی بسیار کوتاه میتوانند باعث از دست رفتن سرویسها در صورت وجود و تکرار غیرضروری عملیات شوند، و مهلتهای بسیار طولانی میتوانند باعث شوند عملیات در صورت عدم پاسخگویی کارگزار بیش از حد طول بکشد.
HttpLocalTimeout 5 HttpRemoteTimeout 10تعیین تعداد دفعات تلاش مجدد (N) که cups-browsed باید برای ایجاد صفهای چاپ چاپگرهای راه دوری انجام دهد که در طول ایجاد صف با اتمام مهلت زمانی مواجه میشوند. چاپگرهایی که حتی پس از N بار تلاش مجدد با موفقیت راهاندازی نشوند، تا راهاندازی مجدد بعدی سرویس نادیده گرفته میشوند. توجه داشته باشید که تلاشهای مجدد بیش از حد میتواند باعث بار پردازشی (CPU) بالا شود.
HttpMaxRetries 5فاصله زمانی بین دورههای مرور/پخش محلی و/یا راه دور را میتوان با دستورالعمل BrowseInterval تنظیم کرد.
BrowseInterval 60دستورالعمل BrowseTimeout مدت زمانی را بر حسب ثانیه مشخص میکند که عملیات مرتبط با مرور مجاز به مصرف آن هستند. قابل ذکر است که افزودن یا حذف یک صف چاپ، یک عملیات محسوب میشود. مهلت زمانی برای هر یک از این عملیات اعمال میشود.
BrowseTimeout 300دستورالعمل AllowResharingRemoteCUPSPrinters مشخص میکند که آیا صف چاپی که به یک صف راه دور CUPS اشاره دارد، مجدداً در شبکه محلی به اشتراک گذاشته شود یا خیر. از آنجا که صفهای ایجادشده با استفاده از دستورالعمل BrowsePoll نیز به صفهای راه دور اشاره دارند، در صورت تنظیم گزینهٔ زیر، آنها نیز به طور خودکار به اشتراک گذاشته میشوند. مقدار پیشفرض به اشتراک نگذاشتن صفهای راه دور است.
AllowResharingRemoteCUPSPrinters Yesدستورالعمل NewBrowsePollQueuesShared مشخص میکند که آیا صف چاپ برای یک چاپگر تازه کشفشده (کشفشده توسط دستورالعمل BrowsePoll) در شبکه محلی به اشتراک گذاشته شود یا خیر. این دستورالعمل تنها در صورتی عمل میکند که AllowResharingRemoteCUPSPrinters روی yes تنظیم شده باشد. مقدار پیشفرض، به اشتراک نگذاشتن چاپگرهای کشفشده با استفاده از BrowsePoll است.
NewBrowsePollQueuesShared Yesتنظیم OnlyUnsupportedByCUPS روی "Yes" باعث میشود cups-browsed برای چاپگرهای راه دوری که CUPS خود برای آنها صف ایجاد میکند، صف محلی نسازد. این چاپگرها شامل چاپگرهایی هستند که از طریق DNS-SD آگهی شده و چاپ بدون درایور پشتیبانیشده توسط CUPS (در حال حاضر PWG Raster و Apple Raster) را انجام میدهند، از جمله صفهای راه دور CUPS. صفها برای سایر چاپگرها (مانند چاپگرهای قدیمی PostScript/PCL) همیشه ایجاد میشوند (بسته به سایر تنظیمات پیکربندی cups-browsed).
با تنظیم OnlyUnsupportedByCUPS روی "No"، دیمون cups-browsed برای تمام چاپگرهایی که پشتیبانی میکند، از جمله چاپگرهایی که CUPS خود برای آنها صف میسازد، صف ایجاد میکند. صفهای موقت ایجادشده توسط CUPS رونویسی خواهند شد. به این ترتیب اطمینان حاصل میشود که هرگونه قابلیت اضافی cups-browsed روی این صفها اعمال خواهد شد. از آنجا که صفهای ایجادشده توسط cups-browsed صفهای دائمی CUPS هستند، اگر برنامهها یا پنجرههای گفتگوی چاپی نصب شده باشند که از صفهای موقت CUPS پشتیبانی نمیکنند، این تنظیم نیز توصیه میشود. این تنظیم مقدار پیشفرض است.
OnlyUnsupportedByCUPS Yesبا تنظیم UseCUPSGeneratedPPDs روی "Yes"، دیمون cups-browsed صفهایی را برای چاپگرهای IPP با PPDهای تولیدشده توسط مولد PPD در CUPS و نه مولد cups-browsed، ایجاد میکند. به این ترتیب هرگونه توسعه جدید در مولد PPD در CUPS در دسترس قرار میگیرد. از آنجا که مولد PPD در CUPS به طور مستقیم در دسترس نیست، باید CUPS را وادار کنیم تا یک صف چاپ موقت با PPD مورد نظر ایجاد کند. بنابراین تنها زمانی میتوانیم از این PPDها استفاده کنیم که صف ما جایگزین یک صف موقت CUPS شود؛ به این معنا که صف برای چاپگری باشد که CUPS روی آن از چاپ بدون درایور پشتیبانی میکند (IPP 2.x، زبانهای توصیف صفحه PDL: شامل PDF، PWG Raster، و/یا Apple Raster) و نام آن همان نامی باشد که CUPS برای صف موقت استفاده میکند (باید "LocalQueueNamingIPPPrinter DNS-SD" تنظیم شده باشد). این دستورالعمل تنها برای چاپگرهای IPP اعمال میشود و برای اینکه به خوشهبندی آسیبی نرسد، روی صفهای راه دور CUPS اعمال نمیشود. تنظیم این دستورالعمل روی "No" به cups-browsed امکان میدهد پرونده PPD را تولید کند. تنظیم پیشفرض "No" است.
UseCUPSGeneratedPPDs Noبا دستورالعملهای LocalQueueNamingRemoteCUPS و LocalQueueNamingIPPPrinter میتوانید تعیین کنید که نام صفهای محلی ایجادشده توسط cups-browsed به چه شیوهای ساخته شوند؛ به طور جداگانه برای چاپگرهای راه دور CUPS و چاپگرهای IPP.
مقدار "DNS-SD" (پیشفرض در هر دو حالت) نامگذاری را بر اساس نام سرویسِ رکورد آگهیشدهٔ DNS-SD چاپگر قرار میدهد. این دقیقاً همان طرح نامگذاری است که CUPS برای صفهای موقت خود به کار میبرد، بنابراین صف محلی ناشی از cups-browsed مانع از فهرست کردن و ایجاد صف اضافی توسط CUPS میشود. از آنجا که نامهای سرویس DNS-SD باید یکتا باشند، نام صف چاپگرهای کارگزارهای مختلف نیز یکتا خواهد بود و در نتیجه هیچ خوشهبندی خودکاری برای چاپ با توزیع بار وجود نخواهد داشت.
مقدار "MakeModel" نام صف را بر اساس نام سازنده و مدل چاپگر تعیین میکند. دیمون cups-browsed قبلاً از این طرح برای چاپگرهای IPP استفاده میکرد.
مقدار "RemoteName" تنها برای صفهای راه دور CUPS در دسترس است و از نام صف در کارگزار راه دور CUPS به عنوان نام صف محلی استفاده میکند. این امر باعث میشود چاپگرهای موجود در کارگزارهای مختلف CUPS با نامهای صف یکسان، به طور خودکار یک خوشهٔ توزیع بار تشکیل دهند؛ همانطور که CUPS در گذشته (CUPS نسخه 1.5.x و قدیمیتر) با چاپگرهای راه دور منتشرشده توسط CUPS انجام میداد. دیمون cups-browsed قبلاً از این طرح برای چاپگرهای راه دور CUPS استفاده میکرد.
LocalQueueNamingRemoteCUPS DNS-SD LocalQueueNamingRemoteCUPS MakeModel LocalQueueNamingRemoteCUPS RemoteName LocalQueueNamingIPPPrinter DNS-SD LocalQueueNamingIPPPrinter MakeModelاگر cups-browsed باید همانند CUPS از URIهای دستگاه مبتنی بر نام سرویس DNS-SD برای صفهای محلی خود استفاده کند، مقدار DNSSDBasedDeviceURIs را روی "Yes" تنظیم کنید. این صفها از نام سرویس DNS-SD چاپگر کشفشده استفاده میکنند. با این کار، URI مستقل از رابطهای شبکه و درگاهها خواهد بود و اتصالات قابل اعتمادی را همواره به همان دستگاه فیزیکی فراهم میآورد. این تنظیم، پیشفرض است.
اگر cups-browsed باید از URIهای مرسوم مبتنی بر نام میزبان/IP استفاده کند، مقدار DNSSDBasedDeviceURIs را روی "No" تنظیم کنید.
توجه داشته باشید که این گزینه تنها روی URIهای چاپگرهای کشفشده از طریق DNS-SD تأثیر دارد، نه آنهایی که از طریق BrowsePoll کشف شدهاند. به این دسته از چاپگرها همواره URIهای مرسوم اختصاص داده میشود.
DNSSDBasedDeviceURIs Yesاگر cups-browsed باید صفهای محلی خود را به جای نام میزبانِ کارگزارهای راه دور با URIهای دستگاه حاوی نشانیهای IP ایجاد کند، مقدار IPBasedDeviceURIs را روی "Yes" تنظیم کنید. این حالت برای هرگونه مشکل در تحلیل نام میزبان در شبکه در نظر گرفته شده است، بهویژه در صورتی که avahi-daemon تنها برای کشف چاپگر اجرا شده و در حین چاپ متوقف شده باشد. بهطور پیشفرض این حالت خاموش است، به این معنی که از URIهای حاوی نام میزبان استفاده میکنیم.
توجه داشته باشید که نشانیهای IP به رابط شبکهای که چاپگر از طریق آن در دسترس است بستگی دارند. بنابراین از URIهای مبتنی بر IP در سیستمهایی با رابطهای شبکه متعدد و جایی که رابطها میتوانند مکرراً پدیدار و ناپدید شوند، استفاده نکنید.
این حالت همچنین میتواند برای توسعه و اشکالزدایی مفید باشد.
اگر نشانیهای IP نسخه ۴ یا نسخه ۶ را در URIها ترجیح میدهید، میتوانید IPBasedDeviceURIs را روی "IPv4" تنظیم کنید تا تنها نشانیهای IPv4 دریافت شوند، یا آن را روی "IPv6" تنظیم کنید تا تنها نشانیهای IPv6 دریافت شوند.
IPBasedDeviceURIs No IPBasedDeviceURIs Yes IPBasedDeviceURIs IPv4 IPBasedDeviceURIs IPv6مقدار CreateRemoteRawPrinterQueues را روی "Yes" تنظیم کنید تا cups-browsed صفهای محلی که به صفهای خام راه دور CUPS اشاره دارند را نیز ایجاد کند. معمولاً فقط صفهایی که به صفهای راه دور دارای PPD/درایور اشاره دارند ساخته میشوند، زیرا ما در سمت کلاینت از درایور استفاده نمیکنیم؛ اما در برخی موارد دسترسی به یک صف خام راه دور میتواند منطقی باشد، برای نمونه اگر صف کارهای چاپی را توسط یک بکاند ویژه مانند Tea4CUPS بازفرستد.
CreateRemoteRawPrinterQueues Yesدیمون cups-browsed بهطور پیشفرض برای هر صف چاپ اشتراکی CUPS که در ماشینهای راه دور در شبکه(های) محلی کشف میکند، صفهای چاپ محلی میسازد. اگر نمیخواهید cups-browsed این کار را انجام دهد، CreateRemoteCUPSPrinterQueues را روی "No" تنظیم کنید. برای نمونه میتوانید cups-browsed را طوری تنظیم کنید که تنها برای چاپگرهای شبکه IPP صف بسازد؛ با تنظیم CreateIPPPrinterQueues روی مقداری غیر از "No" و تنظیم CreateRemoteCUPSPrinterQueues روی "No".
CreateRemoteCUPSPrinterQueues Noمقدار CreateIPPPrinterQueues را روی "All" تنظیم کنید تا cups-browsed چاپگرهای شبکه IPP (چاپگرهای بومی، نه صفهای CUPS) را با زبانهای توصیف صفحه شناختهشده (PWG Raster, PDF, PostScript, PCL XL, PCL 5c/e) در شبکه محلی کشف کرده و بهطور خودکار برای آنها صف چاپ بسازد.
مقدار CreateIPPPrinterQueues را روی "Everywhere" تنظیم کنید تا cups-browsed چاپگرهای IPP Everywhere را در شبکه محلی (چاپگرهای بومی، نه صفهای CUPS) کشف کرده و بهطور خودکار برای آنها صف چاپ بسازد.
مقدار CreateIPPPrinterQueues را روی "AppleRaster" تنظیم کنید تا cups-browsed چاپگرهای Apple Raster را در شبکه محلی (چاپگرهای بومی، نه صفهای CUPS) کشف کرده و بهطور خودکار برای آنها صف چاپ بسازد.
مقدار CreateIPPPrinterQueues را روی "Driverless" تنظیم کنید تا cups-browsed چاپگرهای طراحیشده برای استفاده بدون درایور (در حال حاضر IPP Everywhere و Apple Raster) را در شبکه محلی (چاپگرهای بومی، نه صفهای CUPS) کشف کرده و بهطور خودکار برای آنها صف چاپ بسازد.
مقدار CreateIPPPrinterQueues را روی "LocalOnly" تنظیم کنید تا صفهای چاپ خودکار را تنها برای چاپگرهای محلی که به عنوان چاپگر IPP در دسترس قرار گرفتهاند ایجاد کند. اینها برای نمونه چاپگرهای IPP-over-USB هستند که از طریق ippusbxd(8) در دسترس قرار میگیرند. این گزینه پیشفرض است.
مقدار CreateIPPPrinterQueues را روی "No" تنظیم کنید تا برای چاپگرهای شبکه IPP صفهای چاپ خودکار ایجاد نشود.
فایلهای PPD بر اساس ویژگیهای چاپگر که از طریق IPP استعلام شدهاند، بهطور خودکار توسط cups-browsed تولید میشوند. در صورت نبود اطلاعات، اطلاعات حاصل از رکورد Bonjour به عنوان آخرین راهکار برای مقادیر پیشفرض استفاده میشود.
این قابلیت عمدتاً برای دستگاههای قابل حملی است که CUPS را اجرا میکنند تا نه به ابزار راهاندازی چاپگر و نه به مجموعهای از درایورها و PPDهای چاپگر نیاز داشته باشند.
CreateIPPPrinterQueues No CreateIPPPrinterQueues LocalOnly CreateIPPPrinterQueues Everywhere CreateIPPPrinterQueues AppleRaster CreateIPPPrinterQueues Everywhere AppleRaster CreateIPPPrinterQueues Driverless CreateIPPPrinterQueues Allدستورالعمل NewIPPPrinterQueuesShared مشخص میکند که آیا صف چاپ برای یک چاپگر شبکه IPP تازه کشفشده (نه صف راه دور CUPS) در شبکه محلی به اشتراک گذاشته شود یا خیر. این مورد تنها برای چاپگرهای تازه کشفشده معتبر است. برای چاپگرهایی که در یک نشست پیشین cups-browsed کشف شدهاند، cups-browsed به یاد خواهد داشت که آیا چاپگر به اشتراک گذاشته شده بود یا نه؛ بنابراین تغییرات اعمالشده توسط کاربر حفظ میشوند. مقدار پیشفرض، به اشتراک نگذاشتن چاپگرهای IPP تازه کشفشده است.
NewIPPPrinterQueuesShared Yesنحوه رسیدگی به صفهای چاپی که cups-browsed ایجاد میکند در زمان خاموش شدن cups-browsed:
گزینهٔ "KeepGeneratedQueuesOnShutdown No" باعث حذف صفها میشود. این امر منطقی است زیرا این صفها تنها در زمان اجرای cups-browsed کار میکنند. دیمون cups-browsed باید تعیین کند که کار چاپی را به کدام چاپگرِ عضو یک خوشه تحویل دهد.
گزینهٔ "KeepGeneratedQueuesOnShutdown Yes" (پیشفرض) مانع از حذف صفها میشود. این تنظیم برای سیستمی توصیه میشود که در آن cups-browsed به طور دائمی در حال اجرا است و تنها برای مدتهای کوتاه (مانند چرخش فایلهای وقایع - log rotation) یا هنگام خاموش شدن متوقف میشود. این کار از ایجاد مجدد صفها هنگام راهاندازی مجدد cups-browsed جلوگیری میکند، امری که اغلب باعث انبوهی از اعلانهای CUPS روی میزکار میشود.
KeepGeneratedQueuesOnShutdown Noاگر بیش از یک چاپگر راه دور CUPS وجود داشته باشد که صف محلی آنها نام یکسانی دریافت کند و AutoClustering روی "Yes" (پیشفرض) تنظیم شده باشد، تنها یک صف محلی ایجاد میشود که خوشهای برای توزیع بار از چاپگرهای راه دور را تشکیل میدهد که این نام صف را دریافت میکردند (کلاس ضمنی). این بدان معناست که وقتی چندین کار چاپی به این صف ارسال میشوند، با استفاده از روش انتخابشده توسط دستورالعمل LoadBalancing بین چاپگرها توزیع میگردند.
توجه داشته باشید که تشکیل خوشهها به طرح نامگذاری صفهای محلی ایجادشده توسط cups-browsed بستگی دارد. اگر LocalQueueNamingRemoteCUPS را روی "DNSSD" تنظیم کرده باشید، خوشهبندی خودکار دریافت نخواهید کرد زیرا نامهای سرویس DNS-SD همواره یکتا هستند. با تنظیم LocalQueueNamingRemoteCUPS روی "RemoteName"، صفهای محلی همانند صفهای CUPS در کارگزارهای راه دور نامگذاری میشوند و بنابراین صفهای دارای نام یکسان در کارگزارهای مختلف خوشهبندی میگردند (این همان روشی است که CUPS در نسخه 1.5.x یا قدیمیتر انجام میداد). تنظیم LocalQueueNamingRemoteCUPS روی "MakeModel" باعث میشود چاپگرهای راه دور از همان مدل خوشهبندی شوند. توجه داشته باشید که در این حالت یک خوشه میتواند شامل بیش از یک صف از همان کارگزار باشد.
با تنظیم AutoClustering روی "No"، برای هر چاپگر راه دور CUPS یک صف محلی جداگانه ایجاد میشود، و برای جلوگیری از تداخل نام در هنگام استفاده از تنظیمات "RemoteName" یا "MakeModel" در LocalQueueNamingRemoteCUPS، عبارت "@<server name>" به نام صف محلی اضافه میشود.
تنها چاپگرهای راه دور CUPS خوشهبندی میشوند، نه چاپگرهای شبکه IPP یا چاپگرهای IPP-over-USB.
AutoClustering Yes AutoClustering Noتشکیل خوشه چاپگرهای توزیع بار را میتوان به صورت دستی نیز با تعریف صریح این موضوع که کدام چاپگرهای راه دور CUPS باید با یکدیگر خوشهبندی شوند، کنترل کرد.
این کار با دستورالعمل "Cluster" انجام میشود:
Cluster <QUEUENAME>: <EXPRESSION1> <EXPRESSION2> ... Cluster <QUEUENAME>اگر هیچ عبارتی داده نشود، <QUEUENAME> به عنوان نخستین و تنها عبارت برای این خوشه استفاده میشود.
چاپگرهای کشفشده با تمام عبارات همهٔ خوشههای تعریفشده تطبیق داده میشوند. نخستین عبارتی که با چاپگر کشفشده مطابقت داشته باشد تعیین میکند که چاپگر به کدام خوشه تعلق دارد. توجه داشته باشید که به این ترتیب یک چاپگر تنها میتواند به یک خوشه تعلق داشته باشد. پس از تطبیق، تعاریف خوشههای بعدی دیگر بررسی نخواهند شد.
با نخستین چاپگری که با عبارت یک خوشه مطابقت یابد، یک صف محلی با نام <QUEUENAME> ایجاد میشود. اگر چاپگرهای بیشتری کشف شوند و با این خوشه مطابقت داشته باشند، به این خوشه میپیوندند. چاپ در این صف، مطابق با تنظیمات دستورالعمل LoadBalancing، کارها را به شیوهٔ توزیع بار به تمام این چاپگرها ارسال میکند.
هر عبارت باید رشتهای از نویسهها بدون فاصله باشد. در صورت نیاز به فاصله، آنها را با زیرخط (_) جایگزین کنید.
یک عبارت میتواند به سه روش مطابقت داده شود:
1. بر اساس نام صف CUPS روی کارگزار راه دور 2. بر اساس نام سازنده و مدل چاپگر راه دور 3. بر اساس نام سرویس DNS-SD چاپگر راه دورتوجه داشته باشید که تطبیق به صورت غیرحساس به بزرگی و کوچکی حروف انجام میشود و هر گروه از نویسههای غیرالفبایی-عددی با یک زیرخط جایگزین میگردد.
بنابراین اگر یک عبارت "HP_DeskJet_2540" باشد و کارگزار راه دور "hp Deskjet-2540" را گزارش کند، چاپگر با این خوشه مطابقت داده میشود.
اگر "AutoClustering" روی "No" تنظیم نشده باشد، هم تعاریف دستی خوشه شما دنبال میشود و هم خوشهبندی خودکار صفهای راه دور همنام انجام میگیرد. اگر چاپگری در هر دو دسته مطابقت داشته باشد، مطابقت با خوشهٔ تعریفشده به صورت دستی اولویت دارد. خوشهبندی خودکار چاپگرهای راه دور همنام در صورتی که یک خوشه با تعریف دستی با این نام وجود داشته باشد انجام نمیگیرد (دستکم تا زمانی که چاپگرها با این خوشه مطابقت نداشته باشند).
مثالها:
برای خوشهبندی تمامی صفهای راه دور CUPS با نام "laserprinter" در شبکه محلی خود بدون خوشهبندی سایر چاپگرهای راه دور همنام CUPS، استفاده کنید (صف محلی نام "laserprinter" را خواهد گرفت):
AutoClustering No Cluster laserprinterبرای خوشهبندی تمام صفهای راه دور CUPS از چاپگرهای HP LaserJet 4050 در یک صف محلی با نام "LJ4050":
Cluster LJ4050: HP_LaserJet_4050از آنجا که نامهای سرویس DNS-SD در یک شبکه یکتا هستند، میتوانید یک خوشه را از روی چاپگرهایی با مشخصات دقیق بسازید (فاصلهها با زیرخط جایگزین شدهاند):
Cluster hrdep: oldlaser_@_hr-server1 newlaser_@_hr-server2دستورالعمل LoadBalancing بین دو روش مدیریت توزیع بار میان صفهای راه دور همنام جابجا میشود؛ صفهایی که توسط یک صف چاپ محلی متشکل از خوشهای از آنها (کلاس ضمنی) نمایش داده میشوند.
این دو روش عبارتند از:
صفبندی کارها در سمت کلاینت (LoadBalancing QueueOnClient):
در اینجا کارها را در سمت کلاینت صفبندی میکنیم و صفهای چاپ راه دور خوشهبندیشده را بهطور منظم بررسی مینماییم. اگر یک صف بیکار پیدا کنیم، یک کار چاپی را به آن تحویل میدهیم.
این همچنین روشی است که CUPS برای کلاسها استفاده میکند. مزیت آن توزیع یکنواختتر بار کاری روی کارگزارها است (بهویژه اگر سرعت چاپ کارگزارها بسیار متفاوت باشد)، و اگر یک کارگزار از کار بیفتد، چندین کار چاپی معلق یا از بین نمیروند. عیب آن این است که اگر کلاینت (لپتاپ، تلفن همراه و...) از شبکه محلی خارج شود، فرایند چاپ متوقف شده و کارها در صف محلی در انتظار میمانند.
صفبندی کارها در سمت کارگزارها (LoadBalancing QueueOnServers):
در اینجا تعداد کارهای چاپی را در هر یک از چاپگرهای راه دور خوشهبندیشده بررسی میکنیم و کار چاپی ورودی را بیدرنگ به چاپگر راه دوری ارسال میکنیم که کمترین تعداد کار را در صف خود دارد. به این ترتیب هیچ کاری به صورت محلی در صف نمیماند و تمام کارهای در انتظار، روی یکی از کارگزارهای راه دور منتظر میمانند.
عدم وجود کارهای در انتظار در صف محلی این مزیت را دارد که میتوان دستگاه محلی را از شبکه خارج کرد و تمام کارها چاپ خواهند شد. عیب آن این است که اگر یک کارگزار با صفی پر از کارهای چاپی از دسترس خارج شود، کارها نیز از دست میروند.
پیشفرض، صفبندی کارها در سمت کلاینت است چرا که این همان کاری است که CUPS با کلاسها انجام میدهد.
LoadBalancing QueueOnClient LoadBalancing QueueOnServersبا دستورالعمل DefaultOptions میتوان یک یا چند تنظیم را تعریف کرد تا روی هر صف چاپی که به تازگی توسط cups-browsed ایجاد شده اعمال شود. هر گزینه همانند ارائهٔ گزینهها با آرگومان خط فرمان "-o" به دستور "lpadmin" مشخص میشود (برای جزئیات بیشتر "man lpadmin" را اجرا کنید). میتوان بیش از یک گزینه را با جدا کردن گزینهها با فاصله تعیین کرد. بهطور پیشفرض هیچ تنظیمی از پیش تعریف نشده است.
توجه داشته باشید صفهای چاپی که cups-browsed قبلاً ایجاد کرده تنظیمات قبلی خود را به یاد میسپارند و بنابراین این تنظیمات روی آنها اعمال نمیشوند.
DefaultOptions Option1=Value1 Option2=Value2 Option3 noOption4دستورالعمل AutoShutdown مشخص میکند که آیا cups-browsed باید در صورت عدم وجود صفهای خام محلی راهاندازیشده برای چاپگرهای راه دور کشفشده یا عدم وجود کار چاپی در این صفها بسته به تنظیمات AutoShutdownOn (حالت خاموش شدن خودکار)، بهطور خودکار خاتمه یابد یا خیر. تنظیم آن روی "On" حالت خاموش شدن خودکار را فعال میکند و تنظیم آن روی "Off" آن را غیرفعال میسازد (پیشفرض). حالت ویژهٔ "avahi" خاموش شدن خودکار را در زمان اجرای avahi-daemon غیرفعال و با متوقف شدن avahi-daemon فعال میکند. این امر امکان اجرای درصورتنیاز دیمون cups-browsed را در زمانی که avahi-daemon بهصورت درصورتنیاز اجرا میشود فراهم میکند.
AutoShutdown Off AutoShutdown On AutoShutdown avahiدستورالعمل AutoShutdownOn تعیین میکند که cups-browsed چه رویدادی را به عنوان عدم فعالیت در حالت خاموش شدن خودکار در نظر بگیرد. مقدار "NoQueues" (پیشفرض) به این معنی است که خاموش شدن خودکار زمانی آغاز میشود که دیگر هیچ صفی برای چاپگرهای راه دور کشفشده توسط cups-browsed وجود نداشته باشد. مقدار "NoJobs" به این معنی است که تمام صفهای ایجادشده توسط cups-browsed بدون کار چاپی باشند.
AutoShutdownOn NoQueues AutoShutdownOn NoJobsدستورالعمل DebugLogFileSize بیشینه اندازه ممکن (به کیلوبایت) را برای پروندههای گزارش (cups-browsed_log و cups-browsed_previous_logs) که با استفاده از cups-browsed در حالت اشکالزدایی ایجاد میشوند، مشخص میکند. تنظیم مقدار آن روی 0 هرگونه محدودیت روی اندازه پرونده را غیرفعال میکند.
DebugLogFileSize 300دستورالعمل AutoShutdownTimeout مشخص میکند که پس از چند ثانیه بدون صفهای خام محلی راهاندازیشده برای چاپگرهای راه دور کشفشده یا بدون کار چاپی روی این صفها، cups-browsed باید در حالت خاموش شدن خودکار متوقف شود. مقدار پیشفرض ۳۰ ثانیه است و 0 به معنای خاموش شدن فوری است.
AutoShutdownTimeout 20دستورالعمل NotifLeaseDuration تعیین میکند که اشتراک D-BUS ایجادشده توسط cups-browsed در cupsd چه مدت پیش از لغو آن توسط cupsd دوام داشته باشد. مقدار پیشفرض ۱ روز بر حسب ثانیه (86400) است. تمدید اشتراک طوری تنظیم شده است که پس از سپری شدن نیمی از NotifLeaseDuration انجام شود. اعلانهای D-BUS برای نظارت بر صفها و انجام اقدامات خاص در زمان رسیدن اعلانهای D-BUS استفاده میشوند.
NotifLeaseDuration 86400دستورالعمل FrequentNetifUpdate روالهای بهروزرسانی رابط شبکه را که برای هر مدخلِ پیداشده رخ میدهد، فعال/غیرفعال میکند؛ امری که اگر در شبکهای با چاپگرهای اشتراکی فراوان باشیم یا از BrowsePoll برای کارگزاری با صفهای متعدد استفاده کنیم، میتواند cups-browsed را بهطور چشمگیری کند سازد. بهروزرسانیهای رابط شبکه پس از دریافت اعلان D-BUS از NetworkManager با این دستورالعمل غیرفعال نمیشوند. مقدار پیشفرض Yes است.
FrequentNetifUpdate Yes
همچنین ببینید (SEE ALSO)
/usr/share/doc/cups-browsed/README.gz
نویسندگان (AUTHORS)
نویسندگان cups-browsed در پروندهٔ /usr/share/doc/cups-browsed/AUTHORS فهرست شدهاند.
این صفحه راهنما برای پروژه دبیان نوشته شده است، اما ممکن است توسط دیگران نیز استفاده شود.
| 29 June 2013 |