Difference between revisions of "CUPS (Polski)"

From ArchWiki
Jump to navigation Jump to search
(Sekcja sterowników)
 
(19 intermediate revisions by 8 users not shown)
Line 1: Line 1:
 
[[Category:Printers (Polski)]]
 
[[Category:Printers (Polski)]]
[[Category:HOWTOs (Polski)]]
 
 
[[Category:Polski]]
 
[[Category:Polski]]
{{i18n|CUPS}}
+
[[cs:CUPS]]
 +
[[de:CUPS]]
 +
[[en:CUPS]]
 +
[[es:CUPS]]
 +
[[fr:CUPS]]
 +
[[it:CUPS]]
 +
[[ja:CUPS]]
 +
[[ru:CUPS]]
 +
[[th:CUPS]]
 +
[[zh-hans:CUPS]]
 +
[[zh-hant:CUPS]]
 +
{{Expansion|Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji.}}
  
{{translateme}}
+
== Wstęp ==
 +
CUPS (Common UNIX Printing System) jest nowoczesnym, przenośnym systemem obsługi urządzeń drukujących dla systemów bazujących na architekturze UNIX.
  
== Instalacja wymaganych pakietów ==
+
== Instalacja ==
Na początek zainstalujmy podstawowe pakiety:
 
# pacman -S cups ghostscript gsfonts
 
Dodajmy także <code>cups</code> do sekcji DAEMONS w {{filename|/etc/rc.conf}}.
 
  
== Instalacja sterownika drukarki ==
+
[[Zainstaluj]] {{Pkg|cups}}.
Wybierz odpowiedni sterownik do swojej drukarki:
 
* <code>gutenprint</code> - sterowniki do drukarek Canon, Epson, Lexmark, Sony, Olympus.
 
* <code>hplip</code> - sterowki  do drukarek firmy HP.
 
* <code>splix</code> - sterowki  do drukarek firmy Samsung.
 
* <code>cups-pdf</code> - pakiet, który pozwala na konfigurację wirtualnej drukarki PDF tworzącej dokumenty o tym właśnie formacie.
 
  
W przypadku, drukarka nie pomimo zainstalowanych wymaganych pakietów,spróbuj zainstalować wszystkie sterowniki. Zdarzają się bowiem takie sytuacje, że drukarki mogą działać na innych sterownikach. Na przykład do prawidłowego działania drukarki Brother HL-2140 wymagany jest pakiet <code>hplip</code>.
+
Jeżeli chcesz zapisać wydruk jako dokument PDF, zainstaluj także {{pkg|cups-pdf}}. Domyślnie, pliki pdf znajdują się w {{ic|/var/spool/cups-pdf/$USER}}. Ta lokalizacja może zostać zmieniona w {{ic|/etc/cups/cups-pdf.conf}}.
 +
 
 +
[[Enable]] oraz [[start]] dla serwisu {{ic|org.cups.cupsd.service}}.
  
 
== Konfiguracja ==
 
== Konfiguracja ==
Teraz, kiedy już masz zainstalowane podstawowe pakiety do obsługi drukarki, możesz przejść do etapu jej konfiguracji. W środowiskach graficznych, takich jak Gnome czy KDE, znajdziesz przydatne programy, które mogą pomóc w zarządzania drukarką. Jako, że nie wszyscy używają tych środowisk, poniższa konfiguracja koncentruje sie na zastosowaniach dostarczonych przez interfejs sieciowy <code>CUPS</code>.
+
Dodatkowe kroki w celu wykrycia drukarki są podane poniżej dla konkretnych interfejsów.
 
 
Jeżeli planujesz udostępnić drukarkę sieciowej lub podłączyć się do takiej, zapoznaj sie z artykułem [[CUPS printer sharing|CUPS printer sharing (w języku angielskim)]].
 
 
 
Użytkownicy podłączający swoją drukarkę za pomocą USB mogą być zmuszeni do wyłączenia modułu <code>usblp</code>, choć i tu są wyjątki - drukarki Epson i Canon nie zostaną rozpoznane bez niego. Aby wyłączyć <code>usblp</code>, dodaj do {{filename|rc.conf}} odpowiedni wpis:
 
 
 
{{File|name=/etc/rc.conf|content=MODULES=(... !usblp ...)}}
 
 
 
Jeżeli posiadasz skompilowany przez siebie kernel, możesz potrzebować ręcznie załadować moduł <code>usbcore</code>:
 
# modprobe usbcore
 
 
 
Gdy moduły już zainstalowane, podłącz drukarkę i sprawdź, czy system wykrywa drukarkę:
 
# tail /var/log/messages.log
 
albo
 
# dmesg
 
 
 
Jeśli używasz <code>usblp</code>, wynik powinien wskazywać wykrycie drukarki, jak na poniższym przykładzie:
 
Feb 19 20:17:11 kernel: printer.c: usblp0: USB Bidirectional
 
printer dev 2 if 0 alt 0 proto 2 vid 0x04E8 pid 0x300E
 
Feb 19 20:17:11 kernel: usb.c: usblp driver claimed interface cfef3920
 
Feb 19 20:17:11 kernel: printer.c: v0.13: USB Printer Device Class driver
 
 
 
Jeśli wyłączyłeś <code>usblp</code> w {{filename|rc.conf}}, otrzymasz wynik:
 
usb 3-2: new full speed USB device using uhci_hcd and address 3
 
usb 3-2: configuration #1 chosen from 1 choice
 
 
 
==== Port równoległy drukarki ====
 
Jeśli planujesz połączyć drukarkę za pomocą portu równoległego, pamiętaj, że konfiguracja jest bardzo podobna, jednakże musisz załadować jeszcze poniższe moduły:
 
# modprobe lp
 
# modprobe parport
 
# modprobe parport_pc
 
 
 
Sprawdź, czy system wykrywa drukarkę:
 
# tail /var/log/messages.log
 
Powinieneś otrzymać:
 
lp0: using parport0 (polling).
 
 
 
Aby system automatycznie ładował wymagany moduł przy każdym uruchomieniu, użyj swojego edytora tekstu i otwórz {{Filename|/etc/rc.conf}}, następnie dopisz odpowiedni wpis do sekcji MODULES.Oto przykład:
 
{{File|name=/etc/rc.conf|content=MODULES=(... '''lp parport parport_pc''' ...)}}
 
 
 
===CUPS daemon===
 
With the kernel modules installed, the system is now ready to start the actual CUPS daemon. To do this, simply run this command:
 
# /etc/rc.d/cups start
 
 
 
For automatically starting CUPS every time the system is powered on, add it to the <code>DAEMONS=()</code> line in the {{Filename|/etc/rc.conf}} file. For example:
 
DAEMONS=(pcmcia syslogd klogd !fam esd mono network autofs '''cups''' crond gdm)
 
 
 
=== Web interface and tool-kit ===
 
 
 
Once the daemon is running, open a browser and go to: http://localhost:631 (''The '''localhost''' string may need to be replaced with the hostname found in'' {{Filename|/etc/hosts}}).
 
 
 
From here, follow the various wizards to add the printer. A usual procedure is to start by clicking on ''Adding Printers and Classes'' and then ''Add Printer''.  When prompted for a user-name and password, log in as root. The name assigned to the printer does not matter, the same applies for 'location' and 'description'. Next, a list of devices to select from will be presented. The actual name of the printer shows up next to the label ( e.g., next to ''USB Printer #1'' for USB printers). Finally, chose the appropriate drivers and the configuration is complete.
 
 
 
Now, test the configuration by pressing the ''Maintenance'' drop-down menu then ''Print Test Page''. If it does not print and there is certainty regarding the correctness of applied settings, then the problem is most likely due to missing a proper printer driver.
 
 
 
{{Tip|[[GNOME]] users may be inclined towards installing the GNOME CUPS manager GUI frontend. See: [[#Alternative CUPS interfaces]]}}
 
{{Note|When setting up a USB printer, you should see your printer listed on ''Add Printer'' page. If you can only see a "SCSI printer" option, it probably means that CUPS has failed to recognize your printer.}}
 
 
 
==== CUPS administration ====
 
 
 
A user-name and password will be required when administrating the printer in the web interface, such as: adding or removing printers, stopping print tasks, etc. The default user-name is the one assigned in the ''sys'' group, or root (change this by editing {{Filename|/etc/cups/cupsd.conf}} in the line of ''SystemGroup'').
 
 
 
If the root account has been locked, it is not possible to log in the CUPS administration interface with the default user-name and password. In this case, it may be needed to change the default SystemGroup in cupsd.conf and read [http://bbs.archlinux.org/viewtopic.php?id=35567 this post].
 
 
 
====Remote access to web interface====
 
By default, the CUPS web interface can only be accessed by the ''localhost''; i.e. the computer that it is installed on. To remotely access the interface, make the following changes to the {{Filename|/etc/cups/cupsd.conf}} file. Replace the line:
 
Listen localhost:631
 
with
 
port 631
 
so that CUPS listens to incoming requests.
 
 
 
There are three levels of access that can be granted:
 
<Location />          #access to the server
 
<Location /admin> #access to the admin pages
 
<Location /admin/conf> #access to configuration files
 
 
 
To give remote hosts access to one of these levels, add an {{codeline|Allow}} statement to that level's section. An {{codeline|Allow}} statement can take one or more of the forms listed below:
 
Allow all
 
Allow host.domain.com
 
Allow *.domain.com
 
Allow ip-address
 
Allow ip-address/netmask
 
 
 
Deny statements can also be used. For example, if wanting to give all hosts on the 192.168.1.0/255.255.255.0 subnet full access, file {{Filename|/etc/cups/cupsd.conf}} would include this:
 
# Restrict access to the server...
 
# By default only localhost connections are possible
 
<Location />
 
    Order allow,deny
 
    Allow From localhost
 
    '''Allow From 192.168.1.0/255.255.255.0'''
 
</Location>
 
 
# Restrict access to the admin pages...
 
<Location /admin>
 
    # Encryption disabled by default
 
    #Encryption Required
 
    Order allow,deny
 
    Allow From localhost
 
    '''Allow From 192.168.1.0/255.255.255.0'''
 
</Location>
 
 
# Restrict access to configuration files...
 
<Location /admin/conf>
 
    AuthType Basic
 
    Require user @SYSTEM
 
    Order allow,deny
 
    Allow From localhost
 
    '''Allow From 192.168.1.0/255.255.255.0'''
 
</Location>
 
 
 
==Troubleshooting==
 
The best way to get printing working is to set 'LogLevel' in {{Filename|/etc/cups/cupsd.conf}} to:
 
LogLevel debug
 
 
 
And then viewing the output from {{Filename|/var/log/cups/error_log}} like this:
 
# tail -n 100 -f /var/log/cups/error_log
 
 
 
The characters at the left of the output stand for:
 
*D=Debug
 
*E=Error
 
*I=Information
 
*And so on
 
 
 
These files may also prove useful:
 
*{{Filename|/var/log/cups/page_log}} -  Echoes a new entry each time a print is successful
 
*{{Filename|/var/log/cups/access_log}} - Lists all cupsd http1.1 server activity
 
 
 
Of course, it is important to know how CUPS works if wanting to solve related issues:
 
# An application sends a .ps file (PostScript, a script language that details how the page will look) to CUPS when 'print' has been selected (this is the case with most programs).
 
# CUPS then looks at the printer's PPD file (printer description file) and figures out what filters it needs to use to convert the .ps file to a language that the printer understands (like PJL, PCL), usually GhostScript.
 
# GhostScript takes the input and figures out which filters it should use, then applies them and converts the .ps file to a format understood by the printer.
 
# Then it is sent to the back-end. For example, if the printer is connected to a USB port, it uses the USB back-end.
 
 
 
Print a document and watch {{Filename|error_log}} to get a more detailed and correct image of the printing process.
 
  
===Problems resulting from upgrades===
+
{{Note|1=<nowiki></nowiki>
''Issues that appeared after CUPS and related program packages underwent a version increment''
+
* Programy pomocnicze używają użytkownika i grupy {{ic|cups}}. Dzięki temu mają dostęp do sterowników drukarki i plików konfiguracyjnych w {{ic|/etc/cups/}}, które należą do grupy {{ic|cups}}.
 +
* Przed {{Pkg|cups}} 2.2.6-2, grupa {{ic|lp}} [https://git.archlinux.org/svntogit/packages.git/commit/trunk?h=packages/cups&id=a209bf21797a239c7ddb4614f0266ba1e5238622 była używana zamiast grupy cups]. Po aktualizacji {{ic|/etc/cups}} powinna należeć do grupy {{ic|cups}} oraz w pliku konfiguracyjnym {{ic|/etc/cups/cups-files.conf}} powinny się znaleźć {{ic|User 209}} i {{ic|Group 209}}.
 +
}}
  
====CUPS stops working====
+
=== USB ===
The chances are that a new configuration file is needed for the new version to work properly. Messages such as "404 - page not found" my result from trying to manage CUPS via localhost:631, for example.
+
By sprawdzić, czy drukarka USB jest wykrywana:
 +
{{hc|$ lsusb|
 +
(...)
 +
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse
 +
}}
  
To use the new configuration, copy /etc/cups/cupsd.conf.default to /etc/cups/cupsd.conf (backup the old the configuration if needed):
+
=== Parallel port ===
# cp /etc/cups/cupsd.conf.default /etc/cups/cupsd.conf
+
By użyć Parallel portu, wymagane są moduły {{ic|lp}}, {{ic|parport}} i {{ic|parport_pc}} [[kernel modules]].
and restart CUPS to employ the new settings.
 
  
====Error with gnutls====
+
{{hc|$ dmesg {{!}} grep -i parport|
If receiving errors such as:
+
parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series
  /usr/sbin/cupsd: error while loading shared libraries: libgnutls.so.13: cannot open shared object file: No such file or directory
+
  lp0: using parport0 (polling)
gnutls may be in need of updating:
+
}}
# pacman -S gnutls
 
  
After updating, there may be a file named {{Filename|cupsd.conf.pacnew}} in {{Filename|/etc/cups}}. This is the unmodified original configuration file that has been placed as part of the update. Compare it with the currently installed version and adjust to preference.
+
=== Sieć ===
 +
[[Avahi]] może zostać użyty do wykrycia drukarek w sieci lokalnej. By użyć hostname [[Avahi]], uzyskaj adres [[Avahi#Hostname_resolution|hostname.local]] i zainicjuj [[restart]] {{ic|org.cups.cupsd.service}}.
  
====All jobs are "stopped"====
+
Jeżeli łączysz się drukarkę przez protokół [[Samba]], lub system ma być serwerem drukarki dla klientów Windows, zainstaluj pakiet {{Pkg|samba}}.
If all jobs sent to the printer become "stopped", delete the printer and add it again.
 
Using the [http://localhost:631 CUPS web interface], go to Printers > Delete Printer.
 
  
To check the printer's settings go to ''Printers'', then ''Modify Printer''. Copy down the information displayed, click 'Modify Printer' to proceed to the next page(s), and so on.
+
== Sterowniki ==
 +
Sterowniki mogą pochodzić z wielu źródeł. Sprawdź [[CUPS/Printer-specific problems]] by zobaczyć niekompletną listę sterowników, które zadziałały innym.
  
====The PPD version is not compatible with gutenprint====
+
Do obsługi drukarki CUPS potrzebuje pliku PPD i dla większości drukarek [https://www.cups.org/doc/man-filter.html niektórych filtrów].
Run:
+
W celu dowiedzenia się jak CUPS używa plików PPD i filtrów, sprawdź [https://www.cups.org/doc/postscript-driver.html].
# /usr/sbin/cups-genppdupdate
 
  
And restart CUPS (as pointed out in gutenprint's post-install message)
+
Lista [http://www.openprinting.org/printers OpenPrinting Printer List] zawiera rekomendacje sterowników dla wielu drukarek. Dostarcza także plików PPD dla każdej drukarki, choć większość jest dostępna w [[#Foomatic|foomatic]] lub rekomendowanym pakiecie sterownika.
  
===USB printers under CUPS 1.4.x===
+
Kiedy dostarczysz plik PPD do CUPS, serwer CUPS zapisze go w {{ic|/etc/cups/ppd/}}.
New CUPS 1.4.x introduces many changes:
 
  
====Configuration file====
+
=== CUPS ===
The syntax of the configuration file cupsd.conf changed. Start with a new cupsd.conf file based on /etc/cups/cupsd.conf.default.
+
CUPS zawiera niektóre pliki PPD i filtry w standardzie, co powinno wystarczyć w większości przypadków. CUPS wspiera [[wikipedia:AirPrint|AirPrint]] i [http://www.pwg.org/ipp/everywhere.html IPP Everywhere].
  
====Blacklisting usblp====
+
=== Foomatic ===
CUPS now uses libusb and printer USB devices (under /dev/bus/usb/) instead of the usblp generated /dev/usb/lpX ones. In order to get USB printers working, the usblp module needs disabling. This can be done by blacklisting it in /etc/rc.conf, or by adding "blacklist usblp" to a configuration file in /etc/modprobe.d. Some users have also reported that they needed to reinstall their printer.
+
Projekt [https://wiki.linuxfoundation.org/openprinting/database/foomatic foomatic] dostarcza PPD dla wielu sterowników drukarek, zarówno wolnych jak niewolnych. By dowiedzieć się jak działa foomatic, sprawdź [http://www.openprinting.org/download/kpfeifle/LinuxKongress2002/Tutorial/IV.Foomatic-Developer/IV.tutorial-handout-foomatic-development.html Foomatic from the Developer's View].
  
====Device node permissions====
+
By używać foomatic, [[Zainstaluj]] {{pkg|foomatic-db-engine}} i jedno z {{pkg|foomatic-db}}, {{pkg|foomatic-db-ppds}}, {{pkg|foomatic-db-nonfree-ppds}} lub {{pkg|foomatic-db-gutenprint-ppds}}.
In addition to usblp not being loaded, CUPS also needs the ownership of the USB device file of the printer to be root:lp, and permissions to be 660. E.g.
 
$ ls -l /dev/bus/usb/003/002
 
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
 
  
This is supposed to be achieved by two udev rules in /lib/udev/rules.d/50-udev-default.rules:
+
Pliki PPD z pakietu foomatic mogą wymagać dodatkowych filtrów, takich jak {{pkg|gutenprint}}, {{pkg|ghostscript}} lub z innych źródeł (np. {{aur|min12xxw}}).
# hplip and cups 1.4+ use raw USB devices, so permissions should be similar to
+
Dla {{pkg|ghostscript}}, {{pkg|gsfonts}} mogą być także wymagane.
# the ones from the old usblp kernel module
 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="", IMPORT{program}="usb_id --export %p"
 
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}==":0701*:", GROUP="lp", MODE="660"
 
  
However, for some devices, in particular combined printer/scanner devices, these rules either do not trigger, or are overwritten by rules of the 'sane' package. In these cases a custom udev rule needs to be added. See below.
+
=== Dedykowane sterowniki do drukarek ===
 +
Wielu producentów drukarek dostarcza swoje własne sterowniki dla Linuxa. Są one często dostępne w oficjalnym repozytorium Arch lub w [[AUR]].
  
=====Device node permission troubleshooting=====
+
Niektóre z nich są dokładniej opisane w [[CUPS/Printer-specific problems]].
Get the printer's device file and its permissions with:
 
$ lsusb
 
...
 
Bus 003 Device 002: ID 04b8:0841 Seiko Epson Corp.
 
$ ls -l /dev/bus/usb/003/002
 
crw-rw---- 1 root lp 189, 257 20. Okt 10:32 /dev/bus/usb/003/002
 
  
If the permissions are not already root:lp 660, enforce it by creating a custom udev rule, e.g
+
== Interfejs konfiguracyjny Web i jego narzędzia ==
cat /etc/udev/rules.d/10-usbprinter.rules
 
ATTR{idVendor}=="04b8", ATTR{idProduct}=="0841", MODE:="0660", GROUP:="lp"
 
  
Note that idVendor and idProduct are from the lsusb listing above.
+
Gdy demon <code>cups</code> jest już uruchomiony, otwórz przeglądarkę i przejdź do strony http://localhost:631.
  
=====Loading firmware=====
+
Twoim oczom ukaże się panel administracyjny z masą różnych kreatorów dotyczących konfiguracji drukarki. Regułą jest, aby rozpocząć konfigurację klikając w <code>Adding Printers and Classes (Dodawanie Drukarki i klas)</code>, a następnie <code>Add Printer (Dodaj drukarkę)</code>. Gdy pojawi się monit o nazwę użytkownika i hasło, zaloguj się jako root. Nazwa przypisana do drukarki nie ma znaczenia, to samo dotyczy lokalizacji i opisu. Następnie, na liście urządzeń do wyboru zaznacz swoją drukarkę. Rzeczywista jej nazwa pojawia się obok etykiety (np. obok USB Printer # 1 dla drukarek USB). Na koniec wybierz odpowiednie sterowniki. Konfiguracja jest zakończona.
  
Some printers and drivers need to load firmware to the printer (such as HP LaserJet 10xx printers using foo2zjs) and do this by writing directly to the lp device, a functionality provided by usblp. A work around until this issue is resolved is to install the usblp module until the firmware is loaded, then remove the module to allow CUPS to work.  This can be accomplished by manually running "$ modprobe usblp", waiting for the firmware to load, then "$ rmmod usblp".  You can also not blacklist usblp, then put "rmmod usblp" to /etc/rc.local, allowing the firmware to be loaded on boot before rc.local is run, then removing usblp.
+
Teraz nadszedł test konfiguracji. Naciśnij w rozwijanym menu <code>Konserwacja</code>, następnie <code>Drukuj stronę testową</code>. Jeśli drukarka nie drukuje i nie ma pewności co do poprawności stosowanych ustawień, to problem jest najprawdopodobniej z powodu braku odpowiedniego sterownika drukarki.
  
===Other===
+
{{Note|Podczas ustawiania drukarki USB, gdy zamierzamy dodać swoją drukarkę ale mamy do wyboru tylko tylko drukarkę SCSI, to prawdopodobnie oznacza, że CUPS nie rozpoznaje naszego urządzenia.}}
  
=====CUPS permission errors=====
+
== Alternatywne interfejsy CUPS ==
*Some users fixed 'NT_STATUS_ACCESS_DENIED' (Windows clients) errors by using a slightly different syntax:
+
Jeżeli używasz [[GNOME (Polski)|GNOME]], w zarządzaniu i konfiguracji drukarki pomogą Tobie pakiety:
smb://workgroup/username:password@hostname/printer_name
+
* {{AUR|gnome-cups-manager}}{{Broken package link|{{aur-mirror|gnome-cups-manager}}}}
 +
* {{Pkg|system-config-printer-gnome}}{{Broken package link|package not found}}
 +
W przypadku pakietu <code>system-config-printer</code> musisz wykonać poniższe czynności.
  
*Sometimes, the block device has wrong permissions:
+
- Utwórz grupę <code>lpadmin</code> i dodaj do niej użytkownika:
# ls /dev/usb/
 
lp0
 
# chgrp lp /dev/usb/lp0
 
 
 
====HPLIP printer sends "/usr/lib/cups/backend/hp failed" error====
 
Make sure dbus is installed and running, e.g. check DAEMONS in {{Filename|/etc/rc.conf}} or run {{Codeline|ls /var/run/daemons}}.
 
 
 
====hp-toolbox sends an error, "Unable to communicate with device"====
 
If running hp-toolbox as a regular user results in:
 
# hp-toolbox
 
# error: Unable to communicate with device (code=12): hp:/usb/<printer id>
 
or, "{{Codeline|Unable to communicate with device"}}", then it may be needed to add the user to the lp group by running the following command:
 
# gpasswd -a <username> lp
 
 
 
====CUPS returns '"foomatic-rip" not available/stopped with status 3' with a HP printer====
 
If receiving any of the following error messages in {{Filename|/var/log/cups/error_log}} while using a HP printer, with jobs appearing to be processed while they all end up not being completed with their status set to 'stopped':
 
Filter "foomatic-rip" for printer "<printer_name>" not available: No such file or director
 
or:
 
PID 5771 (/usr/lib/cups/filter/foomatic-rip) stopped with status 3!
 
make sure '''hplip''' has been installed, in addition to [[#Packages|the packages mentioned above]], '''net-snmp''' is also needed. See [http://bbs.archlinux.org/viewtopic.php?id=65615 this forum post].
 
# pacman -S hplip
 
 
 
====Printing fails with unauthorised error====
 
If the user has been added to the lp group, and allowed to print (set in {{Filename|cups.conf}}), then the problem lies in {{Filename|/etc/cups/printers.conf}}. This line could be the culprit:
 
AuthInfoRequired negotiate
 
 
 
Comment it out and restart CUPS.
 
 
 
====Print button greyed-out in GNOME print dialogs====
 
:''<small>Source: [http://bbs.archlinux.org/viewtopic.php?id=70418 I can't print from gnome applications. - Arch Forums]</small>''
 
 
 
Be sure the package: '''libgnomeprint''' is installed
 
 
 
Edit {{filename|/etc/cups/cupsd.conf}} and add
 
# HostNameLookups Double
 
 
 
Restart CUPS:
 
# /etc/rc.d/cups restart
 
 
 
====CUPS fails to print with 'Unable to open device "hal:///[...]": Permission denied'====
 
The permissions on some files are wrong:
 
# cd /usr/lib/cups/backend
 
# chmod 700 hal # (previously 755)
 
# chmod 700 usb # (previously 755)
 
 
 
====Unknown supported format: application/postscript====
 
Comment the lines:
 
application/octet-stream        application/vnd.cups-raw        0      -
 
from {{Filename|/etc/cups/mime.convs}}, and:
 
application/octet-stream
 
in {{Filename|/etc/cups/mime.types}}.
 
 
 
====Finding URIs for Windows Print Servers====
 
 
 
Sometimes Windows is a little less than forthcoming about exact device URIs (device locations).  If having trouble specifying the correct device location in CUPS, run the following command to list all shares available to a certain windows username:
 
$ smbtree -U ''windowsusername''
 
This will list every share available to a certain Windows username on the local area network subnet, as long as Samba is set up and running properly.  It should return something like this:
 
<pre> WORKGROUP
 
\\REGULATOR-PC 
 
\\REGULATOR-PC\Z             
 
\\REGULATOR-PC\Public       
 
\\REGULATOR-PC\print$        Printer Drivers
 
\\REGULATOR-PC\G             
 
\\REGULATOR-PC\EPSON Stylus CX8400 Series EPSON Stylus CX8400 Series</pre>
 
What is needed here is first part of the last line, the resource matching the printer description.  So to print to the EPSON Stylus printer, one would enter:
 
smb://username.password@REGULATOR-PC/EPSON Stylus CX8400 Series
 
as the URI into CUPS.  Notice that whitespaces are allowed in URIs, whereas backslashes get replaced with forward slashes.
 
 
 
==Appendix==
 
 
 
===Alternative CUPS interfaces===
 
If using [[GNOME]], a possibility is to manage and configure the printer by using system-config-printer-gnome. This package is available through pacman:
 
# pacman -S system-config-printer-gnome
 
 
 
For system-config-printer to work as it should, running as root may be required, or alternatively set up a "normal" user to administer CUPS (if so '''follow steps 1-3''')
 
 
 
* 1. Create group, and add a user
 
 
  # groupadd lpadmin
 
  # groupadd lpadmin
  # usermod -aG lpadmin <username>
+
  # usermod -aG lpadmin nazwa_użytkownika
 
+
- Dodaj w pliku {{ic|/etc/cups/cupsd.conf}} wpis <code>lpadmin<code> do wiersza:
* 2. Add "lpadmin" (without the quotes) to this line in {{Filename|/etc/cups/cupsd.conf}}
+
  {{hc|/etc/cups/cupsd.conf|SystemGroup sys root '''lpadmin'''}}
  SystemGroup sys root <insert here>
+
- Zrestartuj CUPS:
 
 
* 3. Restart cups, log out and in again (or restart computer)
 
 
  # /etc/rc.d/cups restart
 
  # /etc/rc.d/cups restart
  
[[KDE]] users can modify their printers from the Control Center. Both should refer to those desktop environments' documentation for more information on how to use the interfaces.
+
Użytkownicy środowiska [[KDE (Polski)|KDE]] mogą konfigurować swoje drukarki z Centrum Zarządzania (Control Center).
 
 
There is also gtklp:
 
# pacman -S gtklp
 
 
 
===PDF virtual printer===
 
CUPS-PDF is a nice package that allows one to setup a virtual printer that will generate a PDF from anything sent to it. Obviously this package is not necessary, but it can be quite useful.
 
 
 
Find generated PDF documents in a sub-directory located at <code>/var/spool/cups-pdf</code>. Normally, the subdirectory is named after the user who performed the job.
 
 
 
This package can be installed by the following command:
 
# pacman -S cups-pdf
 
 
 
After installing the package, set it up as if it were for any other printer by using the web interface. For the Device, select '''CUPS-PDF (Virtual PDF Printer)'''; Make/Manufacturer, choose '''Generic'''; Model/Driver, select '''Generic postscript color printer''' or '''Generic Cups-PDF Printer'''. Alternatively, provide the PPD file from [http://www.physik.uni-wuerzburg.de/~vrbehr/cups-pdf/cups-pdf-CURRENT/extra/CUPS-PDF.ppd this link].
 
 
 
==== Print to postscript: CUPS-PDF virtual printer trick ====
 
 
 
Printing to PDF in most applications like OpenOffice is no problem; just hit the button. Yet when printing out to postscript, matters take a little more work. For applications like OpenOffice where printing to kprinter is nebulous at best, there has to be another way -- and there is. The CUPS-PDF (Virtual PDF Printer) actually creates a postscript file and then creates the PDF using the ps2pdf utility. To print to postscript, what needs to be done is capturing the intermediate postscript file created by CUPS-PDF. This is easily accomplished with by selecting the "print to file" option in the print dialog. (choose either .ps or .eps as the extension) After selecting the "print to file" checkbox simply enter the filename and click "print".
 
 
 
=====Configuring CUPS-PDF virtual printer=====
 
1. Install cups & cups-pdf from extra.
 
 
 
2. Start cups with:
 
# /etc/rc.d/cups
 
 
 
{{Note|Add 'cups' to the deamons line in /etc/rc.conf to start automatically at boot.}}
 
 
 
3. Access the cups print manager: http://localhost:631 and select:
 
Administration -> Add Printer
 
Select CUPS-PDF (Virtual PDF), choose for the make and driver:
 
Make: Generic
 
Driver: Generic CUPS-PDF Printer
 
 
 
Now to print to postscript, just print as usual, in the print dialog choose "CUPS-PDF" as the printer, then select the checkbox for "print to file", hit print, enter the filename.ps and click save. This is handy for faxes, etc...
 
  
===Another source for printer drivers===
+
== Informacje końcowe ==
[http://www.turboprint.de/english.html Turboprint] is a proprietary driver for many printers not yet supported by GNU/Linux (Canon i*, for example). Unlike CUPS, however, high quality prints are either marked with a watermark or are a pay-only service.
+
Przeczytaj także angielskojęzyczne artykuły:
 +
* [[CUPS printer sharing|Konfiguracja drukarki sieciowej]]
 +
* [[CUPS#Troubleshooting|Rozwiązywanie problemów]]

Latest revision as of 10:54, 30 January 2019

Tango-view-fullscreen.pngThis article or section needs expansion.Tango-view-fullscreen.png

Reason: Artykuł wymaga rozszerzenia i sprawdzenia poprawności istniejących już informacji. (Discuss in Talk:CUPS (Polski)#)

Wstęp

CUPS (Common UNIX Printing System) jest nowoczesnym, przenośnym systemem obsługi urządzeń drukujących dla systemów bazujących na architekturze UNIX.

Instalacja

Zainstaluj cups.

Jeżeli chcesz zapisać wydruk jako dokument PDF, zainstaluj także cups-pdf. Domyślnie, pliki pdf znajdują się w /var/spool/cups-pdf/$USER. Ta lokalizacja może zostać zmieniona w /etc/cups/cups-pdf.conf.

Enable oraz start dla serwisu org.cups.cupsd.service.

Konfiguracja

Dodatkowe kroki w celu wykrycia drukarki są podane poniżej dla konkretnych interfejsów.

Note:
  • Programy pomocnicze używają użytkownika i grupy cups. Dzięki temu mają dostęp do sterowników drukarki i plików konfiguracyjnych w /etc/cups/, które należą do grupy cups.
  • Przed cups 2.2.6-2, grupa lp była używana zamiast grupy cups. Po aktualizacji /etc/cups powinna należeć do grupy cups oraz w pliku konfiguracyjnym /etc/cups/cups-files.conf powinny się znaleźć User 209 i Group 209.

USB

By sprawdzić, czy drukarka USB jest wykrywana:

$ lsusb
(...)
Bus 001 Device 007: ID 03f0:1004 Hewlett-Packard DeskJet 970c/970cse

Parallel port

By użyć Parallel portu, wymagane są moduły lp, parport i parport_pc kernel modules.

$ dmesg | grep -i parport
 parport0: Printer, Hewlett-Packard HP LaserJet 2100 Series
 lp0: using parport0 (polling)

Sieć

Avahi może zostać użyty do wykrycia drukarek w sieci lokalnej. By użyć hostname Avahi, uzyskaj adres hostname.local i zainicjuj restart org.cups.cupsd.service.

Jeżeli łączysz się drukarkę przez protokół Samba, lub system ma być serwerem drukarki dla klientów Windows, zainstaluj pakiet samba.

Sterowniki

Sterowniki mogą pochodzić z wielu źródeł. Sprawdź CUPS/Printer-specific problems by zobaczyć niekompletną listę sterowników, które zadziałały innym.

Do obsługi drukarki CUPS potrzebuje pliku PPD i dla większości drukarek niektórych filtrów. W celu dowiedzenia się jak CUPS używa plików PPD i filtrów, sprawdź [1].

Lista OpenPrinting Printer List zawiera rekomendacje sterowników dla wielu drukarek. Dostarcza także plików PPD dla każdej drukarki, choć większość jest dostępna w foomatic lub rekomendowanym pakiecie sterownika.

Kiedy dostarczysz plik PPD do CUPS, serwer CUPS zapisze go w /etc/cups/ppd/.

CUPS

CUPS zawiera niektóre pliki PPD i filtry w standardzie, co powinno wystarczyć w większości przypadków. CUPS wspiera AirPrint i IPP Everywhere.

Foomatic

Projekt foomatic dostarcza PPD dla wielu sterowników drukarek, zarówno wolnych jak niewolnych. By dowiedzieć się jak działa foomatic, sprawdź Foomatic from the Developer's View.

By używać foomatic, Zainstaluj foomatic-db-engine i jedno z foomatic-db, foomatic-db-ppds, foomatic-db-nonfree-ppds lub foomatic-db-gutenprint-ppds.

Pliki PPD z pakietu foomatic mogą wymagać dodatkowych filtrów, takich jak gutenprint, ghostscript lub z innych źródeł (np. min12xxwAUR). Dla ghostscript, gsfonts mogą być także wymagane.

Dedykowane sterowniki do drukarek

Wielu producentów drukarek dostarcza swoje własne sterowniki dla Linuxa. Są one często dostępne w oficjalnym repozytorium Arch lub w AUR.

Niektóre z nich są dokładniej opisane w CUPS/Printer-specific problems.

Interfejs konfiguracyjny Web i jego narzędzia

Gdy demon cups jest już uruchomiony, otwórz przeglądarkę i przejdź do strony http://localhost:631.

Twoim oczom ukaże się panel administracyjny z masą różnych kreatorów dotyczących konfiguracji drukarki. Regułą jest, aby rozpocząć konfigurację klikając w Adding Printers and Classes (Dodawanie Drukarki i klas), a następnie Add Printer (Dodaj drukarkę). Gdy pojawi się monit o nazwę użytkownika i hasło, zaloguj się jako root. Nazwa przypisana do drukarki nie ma znaczenia, to samo dotyczy lokalizacji i opisu. Następnie, na liście urządzeń do wyboru zaznacz swoją drukarkę. Rzeczywista jej nazwa pojawia się obok etykiety (np. obok USB Printer # 1 dla drukarek USB). Na koniec wybierz odpowiednie sterowniki. Konfiguracja jest zakończona.

Teraz nadszedł test konfiguracji. Naciśnij w rozwijanym menu Konserwacja, następnie Drukuj stronę testową. Jeśli drukarka nie drukuje i nie ma pewności co do poprawności stosowanych ustawień, to problem jest najprawdopodobniej z powodu braku odpowiedniego sterownika drukarki.

Note: Podczas ustawiania drukarki USB, gdy zamierzamy dodać swoją drukarkę ale mamy do wyboru tylko tylko drukarkę SCSI, to prawdopodobnie oznacza, że CUPS nie rozpoznaje naszego urządzenia.

Alternatywne interfejsy CUPS

Jeżeli używasz GNOME, w zarządzaniu i konfiguracji drukarki pomogą Tobie pakiety:

W przypadku pakietu system-config-printer musisz wykonać poniższe czynności.

- Utwórz grupę lpadmin i dodaj do niej użytkownika:

# groupadd lpadmin
# usermod -aG lpadmin nazwa_użytkownika

- Dodaj w pliku /etc/cups/cupsd.conf wpis lpadmin do wiersza:

/etc/cups/cupsd.conf
SystemGroup sys root lpadmin

- Zrestartuj CUPS:

# /etc/rc.d/cups restart

Użytkownicy środowiska KDE mogą konfigurować swoje drukarki z Centrum Zarządzania (Control Center).

Informacje końcowe

Przeczytaj także angielskojęzyczne artykuły: