Drucken

CUPS

ServerInstallation / Konfiguration

CUPS wird normalerweise bei der Suse-Installation schon mit installiert.
So wird ein Drucker auf einem Server freigegeben:
Zuerst als root per yast einen freizugebenden Drucker lokal installieren und testen:

yast2 printer

dann als root cups stoppen und die Datei /etc/cups/cupsd.conf editieren.

rccups stop
cp /etc/cups/cupsd.conf /tmp/cupsd.conf.old
mcedit /etc/cups/cupsd.conf 
...
# Only listen for connections from the local machine.
Listen *:631
Listen localhost:631
Listen /var/run/cups/cups.sock

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS
BrowseAddress @LOCAL

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
<Location />
Allow @LOCAL
Order allow,deny
Allow from all
# 127.0.0.2
</Location>
DefaultLanguage de
DefaultPaperSize A4
...

dann als root cups wieder starten:

rccups start

Clientinstallation / Konfiguration

CUPS wird normalerweise bei der Installation schon mit installiert.
Wenn der Druckserver im selben VLAN steht und UDP-Pakete vom Server empfangen kann so ist der Client sofort konfiguriert und kann sofort losdrucken.
Wenn der Druckserver in einem anderen VLAN steht, muss auf dem Client noch die Cupskonfiguration wie folgt angepasst werden:
als root cups stoppen und die Datei /etc/cups/cupsd.conf editieren.

rccups stop
cp /etc/cups/cupsd.conf /tmp/cupsd.conf.old
mcedit /etc/cups/cupsd.conf 
...
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS
BrowsePoll meinTollerCupssrv
...

dann als root cups wieder starten. Der entfernte Drucker steht jetzt dem normalen Benutzer zur Verfügung.

Druckernamen nachträglich auf dem Druckserver ändern:

rccups stop
mcedit /etc/cups/printers.conf
...
<Printer meinfreierDruckername>
Info <lieber nicht ändern!>
Location beim Chef im Büro
...

dann als root den Drucker wieder starten. Die Clients sehen den neuen Namen sofort.

rccups start

Sonstiges

  • root als Druckadmin in SUSE hinzufuegen:
lppasswd -g lpadmin -a root

oder (Versionsabhängig):

lppasswd -g sys -a root

Danach kann man über die Webseite http://localhost:631 auf die Cups-Druckerverwaltung zugreifen.
eine Alternative ist „yast2 printer“ um einen Drucker grafisch zu erstellen.

  • einen normalen Linuxdrucker erstellen:

(die PPD-Datei muss vorher in das Verzeichnis /usr/share/cups/model/ gelegt werden.)

lpadmin -p MeinDrucker -E -v socket://Printer3:9100 -D "Platz 3" -m Laserjet.ppd

oder

lpadmin   -p securePrint -E -v lpd://meinxeroxsrv/securePrint -D "FollowMe-Printer to meinxeroxsrv / Printer needs a localuser with the same name as the domainuser" \
          -m OpenPrintingPPDs/postscript/Xerox-WorkCentre_7345.Postscript.ppd.gz -L "meinxeroxsrv"
lpoptions -p securePrint -o PageSize=A4
  • alle Drucker vom winsrv01 anzeigen:
rpcclient winsrv01 -U user_a%passwort -c 'enumprinters'| grep name:
  • Druckertreiber vom lxsrv1 anzeigen:
rpcclient lxsrv1 -U user_a%passwort -c 'enumdrivers'
  • Druckertreiberdetails vom lxsrv1 anzeigen:
rpcclient lxsrv1 -U user_a%passwort -c 'enumdrivers 3'
  • einen Drucker im SAMBA umbenennen:
rpcclient lxsrv1 -U user_a%passwort -c 'setprintername alterName neuerName'
  • Drucker von winsrv01 auslesen und übernehmen:

(alle Zeilen mit „name: greppen)+ und nach „srv01“suchen:

rpcclient winsrv01 -U user_a%passwort -c 'enumprinters'| grep name: | awk 'BEGIN{FS="SRV01\\"}{print $2}' | awk  'BEGIN{FS="]"}{print $1}'
  • druckertreiber von Windows aus hinzufügen:
rundll32 printui.dll,PrintUIEntry /s /t1 /n\\lxsrv1
  • Cups debuggen:
cupsctl LogLevel=debug2

zurück