OK, isso levou a pesquisa de vários sites / páginas. Estou descobrindo que a impressão em rede usando o SAMBA em um ambiente misto do Ubuntu-Windows pode ser um assunto complexo, e isso pode não resolver os problemas de todos ... mas se os seus sintomas são os mesmos, você pode tentar uma solução. (Para todas as codificações abaixo, substitua o nome do seu computador por "computername" e seu nome de login do Ubuntu por "username", etc.)
Ao tentar adicionar uma impressora em rede / compartilhada conectada a uma máquina Ubuntu a um cliente Windows (para poder imprimir a partir da máquina Windows), a mensagem de erro do Windows fornecida acima ("O Windows não pode conectar-se à impressora. você digitou o nome corretamente ... ") pode indicar que o nome da impressora sendo informado pela máquina Ubuntu está incorreto. O Windows parece ser muito esquisito sobre o nome de redes e recursos de rede. A partir do terminal, usando o comando rpcclient localhost , então enumprinters , você pode ver a saída assim:
% bl0ck_qu0te%Observe que o campo de nome contém apenas "\ LOCALHOST \" ... isso está incompleto; o nome da sua impressora também deve estar entre parênteses (neste caso, "\ LOCALHOST \ HP-SuperJet-10").
A solução sugerida é usar o comando setprintername no rpcclient, mas isso pode gerar o erro WERR_ACCESS_DENIED em vez de WERR_INVALID_PRINERNAME. Isso parece indicar que você, como usuário, não tem permissões para fazer alterações na impressora do sistema. Mas depois de passar um monte de rigamarole tentando me dar os direitos (por exemplo, usando SePrintOperatorPrivileges ) e recebendo erros adicionais (NT_STATUS_ACCESS_DENIED), verifiquei ( net rpc rights list -S Computername -U Nome de usuário ) e descobri que eu já tinha sido configurado com esses direitos! Isso é o que me avisa que algo estava errado.
A solução que encontrei é adicionar uma linha ao arquivo de configuração do Samba na seção [global] . Na janela do terminal, digite gksu gedit /etc/samba/smb.conf
A linha a adicionar é:
% bl0ck_qu0te%Salve suas alterações, feche o programa gedit e, na janela do terminal, reinicie os serviços necessários:
% bl0ck_qu0te%Isso deve ativar / impor suas permissões para alterar o nome da impressora. Digite rpcclient localhost para voltar ao rpcclient. Agora, aqui está outra captura que encontrei: Para o comando setprintername , parece que você precisa digitar o nome da impressora DUAS VEZES ... simplesmente digitando setprintername = HP-SuperJet- 10 não funcionou; depois de testar e falhar novamente, uma verificação de enumprinters no rpcclient mostrou que o nome da impressora STILL mostrava apenas "\ LOCALHOST \". (Eu estou supondo aqui, mas pode ser porque essa é a sintaxe apropriada para o comando setprintername ). Digite:
% bl0ck_qu0te%Para mim, "yourprintername" era "HP-SuperJet-10". Um comando enumprinters desta vez deve mostrar algo assim:
% bl0ck_qu0te%Se você puder ver o nome correto da impressora anexado ao final de LOCALHOST no campo de nome, você o fez. Descobri que, ao aplicar essa correção, minhas máquinas Windows podem até ver a impressora na rede sempre que eu tento "adicionar uma impressora" a elas.
Notas adicionais: esta solução só funcionou comigo até o momento em máquinas com o Windows Vista. O Windows 7 parece estar me dando mensagens de erro diferentes, o que quase certamente exigirá uma solução diferente. Me deseje sorte!