برای آن که بتوانیم با استفاده از یک سیستم لینوکسی اقدام به پرینت کردن مستندات خود کنیم، پیش از هر چیز نیاز داریم تا یک پرینتر را روی سیستم عامل خود نصب و کانفیگ کنیم. در واقع، ما برای پرینت کردن نیاز به نرم افزاری داریم تا اطلاعات ارسالی از نرم افزاری که برای نمایش اسناد به کار میرود -مثلا Libre Office- را به زبانی قابل فهم برای پرینتر ترجمه کند که استاندارد لینوکس برای چنین کاری Common UNIX Printing System است که به اختصار CUPS گفته میشود (این اصطلاح به صورت «کاپس» تلفظ می شود.)
CUPS نرم افزاری است که برای پرینت کردن از طریق نرم افزارهایی همچون مرورگر وب یا Libre Office در پشت پرده مورد استفاده قرار میگیرد. در واقع این نرمافزار چارچوب کلی صفحه (مثلاً یک پاراگراف در بالا قرار گیرد، سپس یک خط افقی زیرش و …) که توسط نرم افزاری همچون Libre Office ایجاد شده است را گرفته و آن را با چارچوبی قابل فهم برای پرینتر ارسال میکند به طوری که میتوان گفت CUPS به عنوان یک پرینتر سرور لوکال عمل میکند که مسئول برقراری ارتباط نرمافزار با سختافزار است.
پرینترهایی که توسط شرکت های مختلف طراحی و ساخته میشوند ممکن است از زبان و فرمت اختصاصی خود برای پرینت کردن استفاده کنند و در همین راستا، نرمافزار CUPS در برگیرنده ی طیف گسترده یی از فرمت ها برای سازگاری با پرینترهای مختلف است.
به طور کلی، تنها زمانی که نیاز به کانفیگ کردن پرینتر خود دارید، زمانی است که برای اولین بار قصد استفاده از پرینتر را دارید و در بسیاری از مواقع CUPS به صورت خودکار پرینترهای وصل شده به سیستم را شناسایی و تنظیم میکند:
به طور کلی، ابزار CUPS با استفاده از کامپوننت های مختلفی شرایط را برای پرینت کردن ما فراهم میکند که در تصویر فوق نمایش داده شدهاند که یکی از این کامپوننت ها اصطلاحاً Scheduler نام دارد. این کامپوننت وظیفه ی مدیریت سایر کامپوننت ها، پرینت های ارسال شده برای پرینتر، دستورات ادمین برای مدیریت پرینتر و … را دارا است. همانطور که در ادامه ی آموزش مشاهده خواهید کرد، نرمافزار CUPS دارای یک اینترفیس مبتنی بر مرورگر است که این امکان را به کاربر میدهد تا لیستی از اسنادی که منتظر پرینت شدن هستند را مشاهده کرده و یکسری عملیات همچون مشاهد ی جزئیات و یا حذف سند از صف پرینتر را در اختیار کاربر قرار میدهد.
همانطور که مشاهده میشود، یکی دیگر از کامپوننت ها Configuration Files به معنی «فایل های پیکربندی» نام دارد. در واقع کامپوننت Scheduler اطلاعات چندین فایل پیکربندی که ۲ تا از مهمترین آنها cupsd.conf و printers.conf هستند که به همراه یکسری دیگر از فایلهای کانفیگ در مسیر /etc/cups/ قرار دارند را خوانده و تنظیمات کلی سیستم را ایجاد میکند.
فایل cupsd.conf فایلی است که تنظیمات کلی در آن قرار گرفتهاند و هیچ گونه تنظیمات اختصاصی پرینتر خاصی در این فایل قرار نمیگیرد. بسیاری از تنظیماتی که در این فایل قرار دارند مرتبط با امنیت شبکه هستند؛ به عبارت دیگر، به طور مثال چه سیستمهایی میتوانند به قابلیت های CUPS دسترسی پیدا کنند، پرینترها در شبکه ی داخلی چگونه در معرض دید کاربران مختلف قرار میگیرند و دیگر این که چه تمهیدات مدیریتی می بایست روی سیستم برای استفاده از پرینترها اعمال گردد.
فایل printers.conf جایی است که شما میتوانید تنظیمات اختصاصی هر پرینتری را بیابید به طوری که برای هر پرینتر متصل شده به سیستم، یک بلوک پیکربندی اختصاصی ایجاد میشود که حاوی تنظیمات اختصاصی آن پرینتر است.
هشدار |
لازم به ذکر است که این فایل صرفاً پس از متصل کردن یک پرینتر به سیستم ایجاد شده و تحت هیچ عنوان نمی بایست به صورت دستی ویرایش شود. |
نرمافزار CUPS درخواست های پرینت را در قالب فایلهایی با پیشوند d و c در مسیر var/spool/cups/ ذخیره میسازد (در حقیقت، حرف d از کلمه ی Data و حرف c از کلمه ی Control گرفته شده که نشانگر نوع فایلهای محتوی دیتا و یا تنظیمات کنترلی هستند.) پس از آن که پرینتر با موفقیت یک عملیات پرینت را انجام داد، فایلهای محتویات دیتا به صورت خودکار حذف میشوند.
Log Files در مسیر var/log/cups/ قرار دارند و توسط کامپوننت Scheduler مورد استفاده قرار میگیرند تا فعالیتهایی که در سیستم رخ میدهند را رصد و ثبت کنند (مثلاً اگر در حین پرینت کردن با اروری مواجه شویم، میتوانیم به این فایلها برای یافتن راهکاری برای رفع مشکل رجوع کنیم.)
نرمافزار CUPS از Filter ها برای تبدیل فرمت های ارسال شده توسط نرمافزارهایی همچون Libre Office و غیره به فرمت هایی قابل فهم توسط پرینتر مورد استفاده قرار میگیرند. علاوه بر این، یکسری درایورهای پرینتر نیز وجود دارند که حاوی توضیحاتی مرتبط با پرینترهای نصب شده به سیستم میباشند که غالباً در مسیر etc/cups/ppd/ ذخیره میشوند. سپس دیتای قابل پرینت از طریق بخش Backend که کمک به یافتن دیوایس های متصل به سیستم میکند برای پرینتر ارسال میگردد.
به طور خلاصه، زمانی که شما یک دستور پرینت ارسال میکنید، کامپوننت Scheduler دستور پرینت را بررسی کرده سپس بر اساس تنظیمات مشخص شده در فایلهای پیکربندی، یکسری فایلهای محتوی دیتای قابل پرینت ایجاد میشوند (Job Files) و به طور همزمان هم فعالیتهای مختلف در فایلهای Log ذخیره میشوند. در نهایت، فایلهای محتوی دیتا از طریق فیلترها، درایورها و بک اند پردازش شده و در نهایت در اختیار دستگاه پرینتر قرار میگیرند.