3.15. Configurando o Samba como servidor de impressão
Se você configurar o Samba como um servidor de impressão, os clientes em sua rede podem usar o Samba para imprimir. Além disso, os clientes Windows podem, se configurados, baixar o driver do servidor Samba.
Partes desta seção foram adotadas a partir da documentação de Criação do Samba como um Servidor de Impressão publicada no Samba Wiki. Licença: CC BY 4.0. Autores e colaboradores: Veja a guia Histórico na página Wiki.
Pré-requisitos
O Samba foi criado em uma das seguintes modalidades:
3.15.1. O serviço Samba spoolssd
O Samba spoolssd
é um serviço que está integrado ao serviço smbd
. Habilite spoolssd
na configuração do Samba para aumentar significativamente o desempenho em servidores de impressão com um alto número de trabalhos ou impressoras.
Sem spoolssd
, Samba forca o processo smbd
e inicializa o cache printcap
para cada trabalho de impressão. No caso de um grande número de impressoras, o serviço smbd
pode ficar sem resposta por vários segundos enquanto o cache é inicializado. O serviço spoolssd
permite iniciar os processos smbd
pré-fabricados que estão processando os trabalhos de impressão sem qualquer atraso. O processo principal spoolssd
smbd
usa uma quantidade baixa de memória, e forca e encerra processos infantis.
O procedimento a seguir explica como habilitar o serviço spoolssd
.
Procedimento
Edite a seção
[global]
no arquivo/etc/samba/smb.conf
:Adicione os seguintes parâmetros:
rpc_server:spoolss = external rpc_daemon:spoolssd = fork
Opcionalmente, você pode definir os seguintes parâmetros:
Parâmetro Padrão Descrição spoolssd:prefork_min_children
5
Número mínimo de processos infantis
spoolssd:prefork_max_children
25
Número máximo de processos infantis
spoolssd:prefork_spawn_rate
5
O Samba forca o número de novos processos infantis estabelecidos neste parâmetro, até o valor estabelecido em
spoolssd:prefork_max_children
, se uma nova conexão for estabelecidaspoolssd:prefork_max_allowed_clients
100
Número de clientes, um processo infantil serve
spoolssd:prefork_child_min_life
60
Duração mínima de um processo infantil em segundos. 60 segundos é o mínimo.
Verifique o arquivo
/etc/samba/smb.conf
:#
testparm
Reinicie o serviço
smb
:#
systemctl restart smb
Depois de reiniciar o serviço, Samba inicia automaticamente
smbd
processos infantis:#
ps axf
... 30903 smbd 30912 \_ smbd 30913 \_ smbd 30914 \_ smbd 30915 \_ smbd ...