Zugriff auf freigegebenen Windowsdrucker mit Suse9
Hallo zusammen, ich habe ein Konfigurationsproblem mit einem Drucker in Suse9. Folgende Situation: * WindowsXP-Pro Rechner mit verschiedenen Freigaben u.a. auch einem Drucker (HP OfficeJet) * Suse9 Rechner (frisch installiert nur die YO-Updates gelaufen) Ich kann über die Shell auf dem Drucker drucken: echo -en "\rHallo\r\f" | smbclient "//HOST/SHARE" "PASSWORD" -c 'print -' -N -U "USER" Lt. SDB-Artikel (http://portal.suse.com/sdb/de/2002/04/jsmeix_print-80-probleme.html) funktioniert. Aber wenn ich über yast den Drucker einrichten möchte findet er auch den Host als SMB-Share-Anbieter, aber keine Druckerfreigabe. Wenn ich den Freigabenamen manuell eingebe und teste, findet er den Rechner (Verbindung funktioniert) kann sich aber keinen connect zur WORKGROUP aufbauen ... Unter Suse 8.2 funktionierte das :( und auch mit einer RedHat9. Ratlos grüßt Andreas
Hallo, On Nov 14 13:18 A.Loesch wrote (shortened):
echo -en "\rHallo\r\f" | smbclient "//HOST/SHARE" "PASSWORD" -c 'print -' -N -U "USER" Lt. SDB-Artikel (http://portal.suse.com/sdb/de/2002/04/jsmeix_print-80-probleme.html) funktioniert.
Aber wenn ich über yast den Drucker einrichten möchte findet er auch den Host als SMB-Share-Anbieter, aber keine Druckerfreigabe. Wenn ich den Freigabenamen manuell eingebe und teste, findet er den Rechner (Verbindung funktioniert) kann sich aber keinen connect zur WORKGROUP aufbauen ...
Was ist die DeviceURI in /etc/cups/printers.conf ? Ist die so, wie es gemäss "man smbspool" sein sollte: · smb://server/printer · smb://workgroup/server/printer · smb://username:password@server/printer · smb://username:password@workgroup/server/printer Ist die so, wie es den Eintragungen für Username Password Workgroup SMB-Server SMB-Share (Printer) in der entsprechenden YaST-Maske entspricht ? Sind diese Eintragungen "normale" Worte, oder enthalten die seltsame Sonderzeichen (oder Leerzeichen etc.) ? Unter Windows ist meines Wissens so einiges erlaubt, was unter Linux direkt in die Quoting-Hölle führt. Gruss, Johannes Meixner ----------------------------------------------------------- SUSE LINUX AG, Deutschherrnstr. 15-19 Mail: jsmeix@suse.de 90429 Nuernberg, Germany WWW: http://www.suse.de/ -----------------------------------------------------------
Hallo zusammen, Vorweg vielen Dank an Johannes Meixner für die Lösungssuche :), ich möchte die Liste gerne an der Problemlösung teilhaben lassen: [Problem:]
ich habe ein Konfigurationsproblem mit einem Drucker in Suse9.
Folgende Situation: * WindowsXP-Pro Rechner mit verschiedenen Freigaben u.a. auch einem Drucker (HP OfficeJet) * Suse9 Rechner (frisch installiert nur die YO-Updates gelaufen)
Ich kann über die Shell auf dem Drucker drucken:
echo -en "\rHallo\r\f" | smbclient "//HOST/SHARE" "PASSWORD" -c 'print -' -N -U "USER" Lt. SDB-Artikel (http://portal.suse.com/sdb/de/2002/04/jsmeix_print-80-probleme.html) funktioniert.
Aber wenn ich über yast den Drucker einrichten möchte findet er auch den Host als SMB-Share-Anbieter, aber keine Druckerfreigabe. Wenn ich den Freigabenamen manuell eingebe und teste, findet er den Rechner (Verbindung funktioniert) kann sich aber keinen connect zur WORKGROUP aufbauen ...
Die Lösung steckt darin, dass man alle Fehlermeldungen von YAST an dieser Stelle ignorieren muss und die _bekannten_ Namen für Host und Share eingibt und sich freut :( irgendwie kommt Yast da mit den NetBIOS und TCP-IP-Namen durcheinander... leider lässt sich so das auswählen der Drucker in Yast nicht verwenden. Gruss Andreas
Hallo, es geht hier darum, dass beim Drucken von einem Linux-Rechner auf einen Drucker an einem SMB-Rechner (normalerweise ist das ein Windows-Rechner) in /etc/cups/printers.conf die korrekte DeviceURI für das zum Drucker gehörende "Share" bzw. für die zum Drucker gehörende "Freigabe" steht. Die DeviceURI muss so sein, wie es in "man smbspool" steht: · smb://server/printer · smb://workgroup/server/printer · smb://username:password@server/printer · smb://username:password@workgroup/server/printer Welche Eintragungen wirklich korrekt sind, kann man mit echo -en "\r" | smbclient "//SERVER/PRINTER" "PASSWORD" \ -c 'print -' -N -U "USERNAME" -W "WORKGROUP" testen. Kann der Drucker ASCII-Text direkt drucken, dann muss man mit echo -en "\rHello\f" | smbclient "//SERVER/PRINTER" "PASSWORD" \ -c 'print -' -N -U "USERNAME" -W "WORKGROUP" ein Blatt mit dem Wort "Hello" drucken können. Beim Einrichten mit YaST gibt es Probleme, insbesondere wenn eine Workgroup eingetragen wird. Am sichersten funktioniert es, wenn man die Werte für WORKGROUP, SERVER, PRINTER, USERNAME und PASSWORD genau so in die YaST-Maske einträgt, aber dann nicht den SMB-Zugang testet, sondern weitermacht und erst am Ende mit dem Ausdruck der YaST-Testseite testet, ob alles korrekt funktioniert. Je nachdem, wie auf SMB-Seite die Freigabe definiert ist, wird von WORKGROUP, SERVER, PRINTER, USERNAME und PASSWORD nicht alles benötigt. Was nicht benötigt wird, wird einfach weggelassen. Eine Erklärung der derzeitigen Fehler in YaST: 1. Vermischung von NetBIOS Namen (SMB-Fall) und DNS Namen bzw. IP Adressen (TCP/IP-Fall): Bei obigem Eintrag setzt YaST als "sever" evtl. nicht nur den Servernamen, sondern fälschlicherweise den Rechnernamen plus eine Domain ein - nämlich genau so, wie es die automatische Erkennung in YaST liefert. Die automatische Erkennung im SMB-Fall liefert also einen für den SMB-Fall falschen Servernamen, nämlich den Server+Domain-Namen, der im TCP/IP-Fall richtig wäre. Bei NetBIOS (also im SMB-Fall) ist die DNS-Domain (also die Domain vom TCP/IP-Fall) sinnlos, denn NetBIOS hat einen anderen Namensraum (normalerweise Rechnernamen und Workgroups) als DNS. Es gibt seit einer Windows NT Version auch NetBIOS-Domains, die aber scharf zu unterscheiden sind von den DNS-Domains bei TCP/IP. Ebenso ist die IP im NetBIOS-Namensraum normalerweise sinnlos, denn die IP gehört zum TCP/IP-Namensraum, es sei denn, der Rechner hat z.B. tatsächlich den NetBIOS-Rechnernamen "192.168.1.2". 2. Fehlerhaftes Test-Script um den SMB-Zugang zu testen falls eine Workgroup verwendet wird: Es kommt in dem Fall etwa folgende Meldung im YaST: Ein Problem ist aufgetreten. Ihr Netzwerkzugang ist nicht richtig konfiguriert ... ... bitte Namen des Druckers überprüfen ... auch wenn alle Eintragungen korrekt sind, was natürlich nur zu Verwirrung führt. Eine Lösung auf die Schnelle ist, das Test-Script /usr/lib/YaST2/bin/test_remote_smb wie folgt zu ändern: Die Zeilen [ -z "$WORKGROUP" ] || HOST="$WORKGROUP/$HOST" echo -en "\r" | smbclient "//$HOST/$QUEUE" "$PASSWORD" ... durch folgende Zeilen ersetzen: echo -e "\nTesting $QUEUE on $WORKGROUP $HOST:" echo -en "\r" | smbclient "//$HOST/$QUEUE" "$PASSWORD" \ -c 'print -' -N -U "$USER" -W "$WORKGROUP" (die zweite Zeile ist als eine einzige Zeile ohne den '\' am Ende fortlaufend zu schreiben) Gruss, Johannes Meixner ----------------------------------------------------------- SUSE LINUX AG, Deutschherrnstr. 15-19 Mail: jsmeix@suse.de 90429 Nuernberg, Germany WWW: http://www.suse.de/ -----------------------------------------------------------
participants (2)
-
A.Loesch
-
Johannes Meixner