</>

لینوکس‌پارسی

مرجع فارسی آموزش لینوکس

Gentoo • Arch • Debian • Ubuntu • Kali • Parrot
پرش به محتوای اصلی

Command Palette

Search for a command to run...

چاپگر در 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

مراحل افزودن چاپگر:

  1. به تب Administration بروید.
  2. روی Add Printer کلیک کنید (نیاز به نام کاربری root و رمز عبور سیستم).
  3. چاپگر را از لیست Local Printers (USB) یا Network Printers (IPP/SNMP) انتخاب کنید.
  4. نام و توضیحات وارد کنید (به‌عنوان مثال HP_LaserJet_Pro).
  5. درایور را از لیست انتخاب کنید (Gutenprint یا HPLIP).
  6. تنظیمات پیش‌فرض (کاغذ 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 everywhere

everywhere 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 رابط گرافیکی تنظیمات چاپگر داخلی دارند.

اشتراک‌گذاری:

این صفحه در تاریخ ۱ تیر ۱۴۰۵ به‌روزرسانی شده است.