PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : lpr kommuniziert nicht mit cups



Dismember
26.01.06, 12:15
Hi,

ich hab auf meinem Server cups laufen, und will mit meinem Notebook mit dem Drucker, der am Server angeschlossen ist, drucken. Dazu habe ich cups auf meinem Notebook so konfiguriert, dass es auf den Drucker am Server zeigt. Wenn ich nun unter dem Webinterface von cups auf dem Notebook eine Testseite drucke, funktioniert das auch reibungslos.

Wenn ich nun aber per "lpr datei" einen Druckauftrag auf dem Notebook abschicke, kommt die Fehlermeldung "lpr: error - scheduler not responding!"
Bei lpstat kommt: "lpstat: Unable to connect to server: Connection refused"
Normalerweise sollte das doch reibungslos funktionieren, wenn der Drucker in Cups richtig erkannt wird und auch funktioniert, oder?

Was mache ich falsch? Welche Dateien sind hier zur Fehlersuche bzw. -behebung relevant?

Gruß
-dis-

L00NIX
26.01.06, 16:50
Die Positionen der Dateien weichen evtl. je nach verwendeter Distribution ab.

Die Server-Config: /etc/cups/cupsd.conf


Läuft der CUPS-daemon überhaupt?

Lauscht der cupsd eventuell nur auf die IP von localhost?

Das Kommando "lpr" ist kein cups-Kommando sondern im Kompatibilitätspaket zu LPD (von BSD-UNIX) enthalten. Ist es der "richtige" Befehl oder der CUPS-Wrapper?


Der TCP-Wrapper /etc/hosts.allow (man hosts.access):

Darf dein Client auf den spezifischen Dienst zugreifen?


Gruß
L00NIX

Dismember
26.01.06, 21:21
Läuft der CUPS-daemon überhaupt?



Ja, der läuft und funktioniert (wie gesagt: Ich kann über das Webinterface auf den Netzwerkdrucker zugreifen und eine Testseite drucken)



Lauscht der cupsd eventuell nur auf die IP von localhost?


Wie überprüfe ich das?



Das Kommando "lpr" ist kein cups-Kommando sondern im Kompatibilitätspaket zu LPD (von BSD-UNIX) enthalten. Ist es der "richtige" Befehl oder der CUPS-Wrapper?


Und wie überprüfe ich das?



Der TCP-Wrapper /etc/hosts.allow (man hosts.access):

Darf dein Client auf den spezifischen Dienst zugreifen?

"man hosts.access" findet es bei mir nicht.
Beschränkt die hosts.allow nicht jeglichen Zugriff über Netzwerk? Also per ssh oder ftp usw. kann ich z.B. auf den Server vom Notebook aus zugreifen.
Auf den spezifischen Dienst wohl auch, sonst könnte ich keine Testseite drucken, oder?

Vielen Dank schonmal für deine Hilfe!

Gruß
Alex

L00NIX
27.01.06, 00:03
Ja, der läuft und funktioniert (wie gesagt: Ich kann über das Webinterface auf den Netzwerkdrucker zugreifen und eine Testseite drucken)

Das wird lokal abgehandelt, selbst wenn du von einem anderen Rechner aus auf das Webinterface zugreifst.



Laufender cupsd, wie überprüfe ich das?



netstat -plant | grep cups

Dann siehst du die Adresse, auf die der cupsd lauscht. Ist es 127.0.0.1, lauscht er nur intern und ist im Netzwerk nicht erreichbar. Ist das der Fall, musst du in der cupsd.conf eine Zeile hinzufügen:



Listen 192.168.0.10


192.168.0.10 ist hierbei die IP deines PCs, auf dem der cupsd läuft.



Beschränkt die hosts.allow nicht jeglichen Zugriff über Netzwerk?


Depends...

Zuerst wird geprüft, ob in hosts.allow der Dienst für die IP freigegeben ist, danach wird geprüft, ob die IP in hosts.deny gesperrt ist. Wenn nicht, wird der Zugriff gewährt.



Also per ssh oder ftp usw. kann ich z.B. auf den Server vom Notebook aus zugreifen.
Auf den spezifischen Dienst wohl auch, sonst könnte ich keine Testseite drucken, oder?


Ich vermute mal bei dir zwei leere Dateien hosts.allow und hosts.deny. Also kann es daran nicht liegen.

Dismember
27.01.06, 05:20
Das wird lokal abgehandelt, selbst wenn du von einem anderen Rechner aus auf das Webinterface zugreifst.

Es ist nicht so, dass ich von einem anderen Rechner auf das Webinterface vom Server zugreife, sondern ich hab auf beiden Rechnern cups installiert, auf Notebook und Server, und unter beiden funktioniert "Testseite drucken". Dabei habe ich das cups auf meinem Notebook so eingerichtet, dass es über http auf den auf dem Server freigegebenen Netzwerkdrucker zugreift.





netstat -plant | grep cups

Dann siehst du die Adresse, auf die der cupsd lauscht. Ist es 127.0.0.1, lauscht er nur intern und ist im Netzwerk nicht erreichbar. Ist das der Fall, musst du in der cupsd.conf eine Zeile hinzufügen:



Listen 192.168.0.10


192.168.0.10 ist hierbei die IP deines PCs, auf dem der cupsd läuft.


Ich glaube nicht, dass es an der Konfiguration von cupsd auf meinem Server liegt - zumindest kann ich von Windowsclients reibungslos über Netzwerk drucken. Ich vermute eher, dass auf meinem Notebook, das eben noch Probleme diesbezüglich macht, der lpr-Befehl nicht an cups weitergeleitet wird, sondern irgendwo im Sande verläuft.
Trotzdem hier mal die cups-betreffende Ausgabe von netstat -plant:



Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:632 0.0.0.0:* LISTEN -




Depends...

Zuerst wird geprüft, ob in hosts.allow der Dienst für die IP freigegeben ist, danach wird geprüft, ob die IP in hosts.deny gesperrt ist. Wenn nicht, wird der Zugriff gewährt.



Ich vermute mal bei dir zwei leere Dateien hosts.allow und hosts.deny. Also kann es daran nicht liegen.

Richtig. Auf meinem Server sind beide Dateien leer.

L00NIX
27.01.06, 11:05
OT: Ist irgendwas mit der Quoting-Funktion des Forums nicht in Ordnung? :ugly:




Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:632 0.0.0.0:* LISTEN -



CUPS horcht normalerweise auf Port 631, ich denke, dass ist ein Abschreibefehler?

Wozu zwei CUPS-Server? Ist an beide Rechner lokal ein Drucker angeschlossen?

Welche Desktop Umgebung benutzt du? Ist es KDE, kannst du in den Druckverwaltungseinstellungen einfach die IP-Adresse (das doofe Ding versucht den Hostnamen via DNS aufzulösen, was nicht klappt, wenn kein DNS-Server läuft) des CUPS-Servers eintragen und dann via CUPS-Client auf die eingerichteten Drucker zugreifen.

Das Problem ist nämlich unter anderem, dass du eventuell Probleme mit dem hin- und herkonvertieren des Druckformats bekommst.

Dismember
27.01.06, 12:41
OT: Ist irgendwas mit der Quoting-Funktion des Forums nicht in Ordnung? :ugly:
Wieso, was gibts an meinen Quotes auszusetzen? :)




CUPS horcht normalerweise auf Port 631, ich denke, dass ist ein Abschreibefehler?

Ne, ich habs auf 632 geändert - dürfte ja kein Prob sein, oder?



Wozu zwei CUPS-Server? Ist an beide Rechner lokal ein Drucker angeschlossen?

Hab gedacht, dass man auch auf den Clients einen cups-Server braucht. Wenn du so fragst, ist das wohl nicht so. (Dadurch erklärt sich auch Port 632 von cups auf dem Server, weil zwei cups-Server unter gleichem Port nicht gehen.) Nur wo stelle ich dann auf dem Client ein, wohin er den Druckauftrag schicken soll, wenn da kein cups-Server läuft?



Welche Desktop Umgebung benutzt du?

Fluxbox :(

L00NIX
27.01.06, 12:59
Wieso, was gibts an meinen Quotes auszusetzen? :)

Nichts. Wenn ich auf "Zitieren" klicke, fehlen aber ein paar [ quote ]s. :confused:



Ne, ich habs auf 632 geändert - dürfte ja kein Prob sein, oder?


Problem nicht, aber die Ports bis 1023 sind die sogenannten "well-known" Ports und normalerweise lässt man die Dienste auf ihrem Port so stehen, damit man weiß, was für ein Dienst sich dahinter verbirgt. Sicherheitsprobleme bringt das in der Regel keine mit sich, es sei denn die Dienste lauschen auf die externe IP-Adresse (Internet).



Hab gedacht, dass man auch auf den Clients einen cups-Server braucht.


Nein. Dachte ich aber auch mal. ;)



Wenn du so fragst, ist das wohl nicht so. (Dadurch erklärt sich auch Port 632 von cups auf dem Server, weil zwei cups-Server unter gleichem Port nicht gehen.)


Auf zwei unterschiedlichen Rechnern geht das. Klar.



Nur wo stelle ich dann auf dem Client ein, wohin er den Druckauftrag schicken soll, wenn da kein cups-Server läuft?




cupsdoprint -H dein_server:631 -P durckername datei(en)


Wenn du dich authentifizieren musst (wozu?), gibt es noch die Option -U, einfach mal "man cupsdoprint" aufrufen und rumprobieren.


Fluxbox :(

Minimalist! ;)

Dismember
28.01.06, 04:06
cupsdoprint -H dein_server:631 -P durckername datei(en)



Volltreffer. Genau das hab ich gesucht! Vielen Dank!