Toon posts:

[debian] Cups + samba ---> print niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
K, beetje rare topictitel, maar dit is het probleem :

Na lang zoeken heb ik eindelijk mijn printer (HP DeskJet 720C) aan de praat gekregen op mijn Debian servertje.
Na het installen van foomatic-db, hp-ppd en pnm2ppa kon ik eindelijk de goede driver aanklikken in KDEprint om het allemaal werkende te krijgen.

Alles werkt via CUPS, en lijkt netjes te werken zolang het printcommando vanop mijn server zelf wordt gegeven.
Maar ik wil ook kunnen printen vanop mijn Win2k workstations ...
Dus heb ik samba (2.2.3a-12 for debian) installed, en dis is mijn configfile :

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
[global]
        workgroup = BLOMME
        server string = %h server (Samba %v)
        encrypt passwords = Yes
        log file = /var/log/samba/log.%m
        max log size = 50
        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
        printing = cups
        printcap name = cups
        dns proxy = No

[homes]
        comment = Home Directories
        read only = No
        browseable = Yes

[printers]
        comment = All Printers
        path = /var/spool/samba
        create mask = 0700
        printable = Yes
        public = Yes
        browseable = No
        printer admin = root
        print command = lpr -P %p -o raw %s -r
        lpq command = lpq -P%p
        lprm command = lprm -P%p %j


Ik heb zelf de /var/spool/samba dir aangemaakt, aangezien die niet bestond.
Een tussenvraagje is ook, hoe ik die permissies moet zetten, en wie de owner moet zijn, momenteel staat het zo :

code:
1
drwsrwsrwt    2 root     root         4096 Mar  1 21:57 samba


En dat blijkt wel te werken, want ik kreeg eerst :

code:
1
2
[2003/03/01 21:54:15, 0] printing/printing.c:print_job_start(952)
  print_job_start: insufficient permissions to open spool file /var/spool/samba/smbprn.000025.H8ocD5.


En nu ik die permissies het gezet zoals ze staan, heb ik dat niet meer.
Maar het lijkt mij zo onveilig zoals het nu is.

Anyway, terug naar het hoofdprobleem :
Als ik iets wil printen vanop mijn win2k PC's, kzijg ik :

code:
1
2
[2003/03/01 21:57:18, 0] printing/print_cups.c:cups_job_submit(655)
  Unable to print file to HP720C - client-error-document-format-not-supported


Ik heb al gekeken op google en hier in de search ... maar ik wordt er niet wijzer van :(

  • eppie
  • Registratie: Maart 2000
  • Niet online
(overleden)
Owner veranderen:
code:
1
chown nieuwe_eigenaar ./map


rechten veranderen:
code:
1
chmod


ff manual page van chmod lezen die kan het ff beter uitleggen dan mij :)

Verwijderd

Topicstarter
Ja, maar wie moet daar de eigenaar van zijn ?
En welke permissies moet ik juist zetten ?

Verwijderd

ik weet dat dit een oude topic is, maar ik ga ff een werkwijze meegeven die voor mij gelukt is, ik heb er wel een hele tijd mee zitten worstelen om het in orde te krijgen ...

het systeem is debian woody stable

volledige stap per stap werkwijze :

Ik heb gekozen voor de mogelijkheid om de windows drivers te gebruiken om te printen, niet alleen omdat deze iets beter printen van kwaliteit, maar ook omdat ik te veel verschillende besturingssystemen heb
Om deze mogelijkheid te gebruiken zal dus de verwerking op de windhoos gebeuren en dan zal deze file doorgestuurd worden naar de debian
De file die dan doorgestuurd werd, moet op de debian als raw afgeprint worden.
Dit is de grote 'setup'.


apt-get update

apt-get install mpage
( om te kunnen non-ps verwerken )

apt-get install cupsys cupsys-client cupsys-bsd cupsomatic-ppd
( cups-systeem )

apt-get install hpijs
( indien je een HP-printer hebt die niet ondersteund wordt door cups )

open nu je favoriete browser en ga naar
http://localhost:631
"Manage Printers"
"Add Printer"
en voeg hier je printer toe

als dit gedaan is moet het al mogelijk zijn om van de linux-machine zelf te printen, test dit door een testpagina te printen.

HINT: als je niet naar localhost kan connecten, kijk dan even of je de proxy op localhost wel uitgeschakeld hebt


de volgende stap is samba installeren, instellen en raw printing mogelijk maken

apt-get install samba swat
( swat is een handige web-interface om samba snel te configureren, start op inetd )

smbpasswd <je linux_box_account>
( niet echt nodig voor het printen aan gezien we gaan guest ok instellen, maar handig voor samba zelf )

nano /etc/services
( nano is mijn texteditor, gebruik gelijk welke overeenkomstige )

swat 901/tcp # toevoegen
( houd de volgorde in achting, zo is het makkelijker later dingen terug te vinden )

nano /etc/inetd.conf
( swat uncommenten, dit staat op een van de laatste regels )

/etc/init.d/inetd restart

neem terug je favo browser en ga naar :
http://localhost:901

global variables
workgroup: <zelf in te stellen, gelijk aan windows-werkgroep>
printcap name: /etc/printcap
printing: bsd

printers
create printer: deskjet930C
guest ok: yes
max print jobs: 10
print command: lpr -r -P %p -oraw %s
use client driver: yes

( soms is het nodig om op advanced view te drukken, vergeet niet per tabblad je gegevens op te slaan, deskjet930c is hier slechts een voorbeld, noem de printer zodat je hem later terugvind )

/etc/init.d/samba restart

ok, nu zou je de printer in de windows-omgeving al moeten kunnen zien
check dit even door via netwerkomgeving naar de linux-server te gaan en kijken of je printer er bijstaat

voila
veel printplezier :)

voetnootje:

omdat ve -oraw gebruikt hebben bij de print command, moeten we onze mime niet aanpassen, we geven direct raw als type mee
/etc/cups/mime.types en /etc/cups/mime.convs zorgen voor de filtering

tevens gebruiken we een andere printcap en printing: bsd omdat anders de print command niet uitgevoerd wordt, en samba direct een verbinding probeert te maken met de cups gui

laatste hint in geval van totale nood:
om te weten te komen of die print command wel degelijk uitgevoerd werd, kan je deze vervangen door "touch /tmp/testjeeeeeeeeeeeee"
dan zou er op het moment dat hij moet de file doorgeven naar cups, dit bestand aangemaakt worden :)

bonne chance en happy printing