چاپگر در Gentoo — نصب CUPS، درایور و مدیریت چاپ
آموزش کامل نصب و پیکربندی چاپگر در Gentoo: نصب CUPS و cups-filters، درایورهای Gutenprint و HPLIP، رابط وب CUPS، فرمانهای lpadmin/lpstat/lp، چاپ شبکه و AirPrint.
چاپ در لینوکس توسط CUPS (Common UNIX Printing System) مدیریت میشود؛ یک سرور چاپ که از پروتکل IPP پشتیبانی میکند و با همه چاپگرهای مدرن (USB، شبکه و AirPrint) کار میکند. در این مستند با نصب CUPS، افزودن چاپگر از رابط وب و خط فرمان، و نصب درایورهای مناسب برای برندهای رایج آشنا میشویم.
نصب CUPS
بسته اصلی net-print/cups و فیلترهای پیشفرض net-print/cups-filters هستند:
# نصب CUPS و فیلترها
emerge --ask net-print/cups net-print/cups-filters
# خروجی:
# [ebuild N ] net-print/cups-2.4.11 USE="... ssl usb X"
# [ebuild N ] net-print/cups-filters-1.28.17 USE="... dbus postscript"
# ابزارهای کمکی
emerge --ask net-print/foomatic-db net-print/foomatic-db-engineدرایورهای متداول
| بسته | پشتیبانی |
|---|---|
net-print/gutenprint | چاپگرهای Epson، Canon، HP، Lexmark (درایور باکیفیت) |
net-print/hplip | چاپگرهای HP و HP All-in-One (شامل اسکنر) |
net-print/cndrvcups-common و cndrvcups-lb | چاپگرهای Canon UFR II |
net-print/splix | چاپگرهای Samsung SPL/C |
net-print/foo2zjs | چاپگرهای HP LaserJet با پروتکل foo2zjs |
net-print/cups-pdf | چاپگر مجازی PDF (خروجی فایل PDF) |
# نصب درایورهای رایج
emerge --ask net-print/gutenprint net-print/hplip
# چاپگر مجازی PDF
emerge --ask net-print/cups-pdfپشتیبانی AirPrint و IPP Everywhere
اکثر چاپگرهای شبکهای مدرن (ساخت پس از ۲۰۱۰) از AirPrint یا IPP Everywhere پشتیبانی میکنند و نیازی به درایور اختصاصی ندارند. CUPS میتواند آنها را بهصورت driverless کشف و استفاده کند. برای چاپگرهای قدیمی USB، درایور Gutenprint یا HPLIP نصب کنید.
فعالسازی سرویس
در OpenRC:
rc-update add cupsd default
# * service cupsd added to runlevel default
rc-service cupsd start
# * Starting cupsd ...
rc-service cupsd status
# * status: startedدر systemd:
systemctl enable cups
# Created symlink /etc/systemd/system/multi-user.target.wants/cups.service → ...
systemctl start cups
systemctl status cups
# Active: active (running)سرویس cups یا cupsd؟
در systemd، نام unit جدید cups.service است (نه cupsd.service)، اما در OpenRC همچنان cupsd استفاده میشود. اگر systemctl start cupsd خطا داد، نام cups را امتحان کنید.
افزودن چاپگر از رابط وب
CUPS یک رابط وب در پورت ۶۳۱ ارائه میکند. مرورگر را روی این نشانی باز کنید:
http://localhost:631مراحل افزودن چاپگر:
- به تب Administration بروید.
- روی Add Printer کلیک کنید (نیاز به نام کاربری root و رمز عبور سیستم).
- چاپگر را از لیست Local Printers (USB) یا Network Printers (IPP/SNMP) انتخاب کنید.
- نام و توضیحات وارد کنید (بهعنوان مثال
HP_LaserJet_Pro). - درایور را از لیست انتخاب کنید (Gutenprint یا HPLIP).
- تنظیمات پیشفرض (کاغذ A4، کیفیت) را تنظیم کنید.
دسترسی به رابط وب
اگر میخواهید از راه دور به رابط CUPS دسترسی داشته باشید، باید /etc/cups/cupsd.conf را ویرایش کنید و Listen و Allow را تنظیم کنید. بهصورت پیشفرض CUPS فقط روی localhost شنود میکند که امنترین حالت است.
مدیریت از خط فرمان
CUPS ابزارهای خط فرمان کاربردی دارد:
# لیست چاپگرها
lpstat -p -d
# خروجی:
# printer HP_LaserJet_Pro is idle. enabled since Tue Sep 12 10:23:45 2025
# printer CUPS_PDF is idle. enabled since Tue Sep 12 10:23:45 2025
# system default destination: HP_LaserJet_Pro
# ارسال فایل به چاپ
lp -d HP_LaserJet_Pro report.pdf
# request id is HP_LaserJet_Pro-12 (1 file(s))
# مشاهده صف چاپ
lpstat -o
# HP_LaserJet_Pro-12 ali 1024 Tue Sep 12 10:24:01 2025
# لغو یک کار چاپ
cancel HP_LaserJet_Pro-12
# فعال/غیرفعالکردن چاپگر
cupsenable HP_LaserJet_Pro
cupsdisable HP_LaserJet_Pro
# تنظیم چاپگر پیشفرض
lpoptions -d HP_LaserJet_Proافزودن چاپگر با lpadmin
# افزودن چاپگر USB با درایور Gutenprint
lpadmin -p HP_LaserJet_Pro \
-E \
-v usb://HP/LaserJet%20Pro%20M404dw?serial=VNB3K12345 \
-m drv:///hp/hp-laserjet_pro_m404dw.ppd
# تنظیم بهعنوان چاپگر پیشفرض
lpadmin -d HP_LaserJet_Proپرچمهای مهم lpadmin:
| پرچم | کاربرد |
|---|---|
-p NAME | نام چاپگر |
-E | فعالکردن فوری چاپگر پس از افزودن |
-v URI | آدرس دستگاه (usb://، ipp://، socket://) |
-m MODEL | مدل درایور (PPD) |
-P FILE | فایل PPD دلخواه |
-d NAME | تنظیم بهعنوان پیشفرض سیستم |
-x NAME | حذف چاپگر |
چاپ شبکه و AirPrint
برای چاپگر شبکهای با IPP (پیشنهادی):
# کشف چاپگرهای شبکه (Avahi باید نصب و فعال باشد)
emerge --ask net-dns/avahi
rc-update add avahi-daemon default # یا systemctl enable avahi-daemon
rc-service avahi-daemon start
avahi-browse -rt _ipp._tcp
# خروجی:
# + enp3s0 IPv4 HP LaserJet Pro M404dw IPP Internet Printer local
# = enp3s0 IPv4 HP LaserJet Pro M404dw ... address=[192.168.1.50]
# افزودن چاپگر شبکه
lpadmin -p Network_HP \
-E \
-v ipp://192.168.1.50/ipp/print \
-m everywhereeverywhere driver
گزینه -m everywhere به CUPS میگوید که از پروتکل IPP Everywhere استفاده کند؛ یعنی خود چاپگر مشخصات و تنظیماتش را اعلام میکند و نیازی به فایل PPD خارجی نیست. این روش برای چاپگرهای AirPrint هم کار میکند.
خطاهای رایج
۱. خطای Permission denied هنگام افزودن چاپگر
Not Authorizedدلیل: کاربر عضو گروه lpadmin نیست. راهحل:
# بررسی عضویت
groups
# اگر lpadmin نبود:
gpasswd -a ali lpadmin
# خروج و ورود مجدد
exit
# سپس دوباره وارد شوید تا گروه اعمال شود
# یا موقتاً با sudo
sudo usermod -aG lpadmin ali
newgrp lpadmin۲. چاپگر کشف نمیشود (USB)
No devices found in the "Local Printers" sectionدلیل: ماژول usblp بارگذاری نشده یا کاربر در گروه lp نیست. راهحل:
# بررسی دستگاه USB
lsusb
# Bus 001 Device 005: ID 03f0:b02f HP, Inc LaserJet Pro M404dw
# بارگذاری ماژول
modprobe usblp
# بررسی دستگاه ایجاد شده
ls -la /dev/usb/lp0
# crw-rw---- 1 root lp 180, 0 Sep 12 10:23 /dev/usb/lp0
# افزودن به گروه lp
gpasswd -a ali lp
# ریاستارت CUPS
rc-service cupsd restart # یا systemctl restart cups۳. کار چاپ در صف میماند و چاپ نمیشود
# بررسی وضعیت
lpstat -p
# printer HP_LaserJet_Pro disabled since ... - reason
# مشاهده خطا
lpstat -W not-completed
# بررسی لاگ
tail -f /var/log/cups/error_log
# یا
journalctl -u cups -fدلایل متداول: کاغذ تمام شده، درایور اشتباه انتخاب شده، یا فیلتر PPD پیدا نشده. با cupsenable چاپگر را مجدداً فعال کنید و یک کار تست بفرستید:
cupsenable HP_LaserJet_Pro
lp -d HP_LaserJet_Pro /usr/share/cups/testprint/testprint.psخلاصه و مرحله بعد
چاپ در Gentoo با CUPS ساده است: نصب net-print/cups و cups-filters، فعالکردن سرویس، و افزودن چاپگر از رابط وب http://localhost:631 یا با lpadmin. برای چاپگرهای USB از درایورهای Gutenprint یا HPLIP و برای چاپگرهای شبکه از IPP Everywhere استفاده کنید.
برای تنظیمات شبکه و کشف چاپگرهای شبکه به آموزش Networking و برای مدیریت سرویسها به آموزش OpenRC یا آموزش systemd مراجعه کنید. اگر در محیط دسکتاپ هستید، GNOME و KDE رابط گرافیکی تنظیمات چاپگر داخلی دارند.
این صفحه در تاریخ ۱ تیر ۱۴۰۵ بهروزرسانی شده است.