Il giorno mar, 03/10/2017 alle 19.34 +1030, Tim ha scritto:
Firstly, things can be easier, or more consistent, if you only use
one method of configuring printing, such as the CUPs webserver
interface, rather than a desktop tool.
I have configure my two USB home printers via
https://localhost:631
Running a central printer server for several clients requires a few
things:
The print server's configuration needs to be set up to share its
printers. From the CUPs configuration at <
http://localhost:631/>,
you need to go into the "administration" section and select the"share
printers connected to this system" option, then click on the "change
settings" form button to save that change.
Yes, my cups server (igloo) is configured like you suggest.
[ lesca@igloo ~]$ sudo cupsctl
[sudo] password di lesca:
_debug_logging=0
_remote_admin=0
_remote_any=1
_share_printers=1
_user_cancel_any=1
BrowseLocalProtocols=dnssd
DefaultAuthType=Basic
JobPrivateAccess=default
JobPrivateValues=default
MaxLogSize=0
PageLogFormat=
SubscriptionPrivateAccess=default
SubscriptionPrivateValues=default
WebInterface=Yes
Note the flag _remote_admin=0 and _remote_any=1
Remote admin is disable but if I try to connect to
http://igloo:631/
from my notebook (dodo) I can connect to it and configure any token and
printers.
I also try to enable remote any but nothing is change.
This makes the server publish its printers to clients, and should
make the server listen for connections on all LAN interfaces.
Yes, my server is accessible on 631/tcp port and is bind on all
interface.
[ lesca@igloo ~]$ sudo netstat -natup |grep 631
[sudo] password di lesca:
tcp 0 0 0.0.0.0:631 0.0.0.0:* LISTEN
6871/cupsd
tcp6 0 0 :::631 :::* LISTEN
6871/cupsd
On the server, the firewall must be opened for ports 631 for TCP and
UDP traffic.
The firewall is open on port 631/TCP, but the port 631/UDP ? ... what
is it for?
Only if I start cups-browsed there is a 631/udp port listening on all
server IP, but this service is only useful on the client, on the server
is not necessary, from man page:
"cups-browsed - A daemon for browsing the Bonjour broadcasts of
shared, remote CUPS printers"
On my printers server do not want "broadcasts of shared, remote CUPS
printers". This is what I try to do on Client.
On printers server I want share two printers and this printer are
shared:
[ root@igloo ~]# grep -E '(Printer|Shared)' /etc/cups/printers.conf
# Printer configuration file for CUPS v2.2.2
<DefaultPrinter Cups-PDF>
MakeModel Generic CUPS-PDF Printer
Shared No
</DefaultPrinter>
<Printer HP_Deskjet_5900>
Location Local Printer
Shared Yes
</Printer>
<Printer Samsung_ML-1710>
Location Local Printer
Shared Yes
</Printer>
If you're using the firewall configuration GUI
Thanks for your explanation but my firewalld is off, I use shorewall
and the all port/proto are open for all PC into my lan to cups server.
You should enable and start the cups service,
Yes, all the necessary cups services are enabled and start:
[ root@igloo ~]# systemctl list-unit-files |grep ^cups
cups.path enabled
cups-browsed.service disabled
cups.service enabled
cups.socket enabled
and I can't recall whether you also need to do the same with
the
cups-browsed service, the following commands will do it (as root or
using sudo):
systemctl enable cups
systemctl start cups
systemctl enable cups-browsed
systemctl start cups-browsed
Only cups-browsed is not start on server, it's not necessary, and also
if I try start this service, none printer is pushed to my client.
-----------------------------------
On the clients, the firewall must be opened for ports 631 using UDP
traffic.
On the client firewalld and SElinux are disabled, then all ports is
open.
You should not have to set up any printers on the clients, they
should simply find the printers offered by the server, and you can
select which one to print to when you want to print something. You
can, optionally, preset one as the default printer. And your
programs would print to it, by default, if you don't choose another
printer.
NB: If you start setting up printers on the clients (e.g. selecting
drivers, etc.), then you lose the convenience of having a central
server, and have to individually set up each printer on the client,
including all the special options that you want.
But for the automatic printer discovery, you should enable and start
the cups service, *and* the cups-browsed service, the following
commands will do it (as root or using sudo):
systemctl enable cups
systemctl start cups
systemctl enable cups-browsed
systemctl start cups-browsed
As best as I can recall, that's all I've had to do. Forgetting the
cups-browsed service is what always catches me. There's no reminder
about that when you're reading the CUPs options in the web browser.
On my client all this service is enabled and start and I have do
anythings you suggest.
[ root@dodo :~]# systemctl list-unit-files |grep ^cups
cups.path enabled
cups-browsed.service enabled
cups.service enabled
cups.socket enabled
This is the point: all what you suggest are done, but none printers are
pushed from server to my client.
If I power on the old server with Fedora 19, and connect it to my lan,
all printers on this old server are pushed to my client, without change
nothing on client.
This is all. I no longer know what to try to do to solve my problem
Many thanks for you help.
--
Dario Lesca
(inviato dal mio Linux Fedora 26 Workstation)