Seguindo a sugestão do @Roland Smith, criei um portsjail no meu FreeNAS. Eu dei ao portsjail um endereço IP estático, desativei o VIMAGE e configurei o gateway padrão. Em seguida, entrei no shell baseado na Web do FreeNAS e fiz o seguinte:
- Digite
jls
, anote o número da prisão e digitejexec [number] sh
. - Uma vez no tipo de cadeia
pkg install cups hplip py27-cups
. -
Em seguida, utilize o CUPS.conf no tutorial mencionado na minha pergunta:
cd /usr/local/etc/cups mv cupsd.conf cupsd.conf.org wget http://dl.dropbox.com/u/42238/pogoplug/cupsd.conf
-
Siga as etapas do tutorial do FreeBSD no CUPS , salve a parte referente ao compartilhamento SMB para concluir a configuração do CUPS. Terminando iniciando o CUPS:
/etc/rc.d/devfs restart /usr/local/etc/rc.d/cupsd restart
-
Em seguida, faça o login em
http://[hostname]:631
e configure a impressora (infelizmente, a detecção automática de dispositivos de rede do CUPS não parece estar funcionando na minha prisão BSD , então eu tive que configurar manualmente o Brother MFC-7820N usando a opção HP JetDirect. Eu imprimi uma página de teste Para confirmar que minha impressora estava funcionando, configurei a impressora para ser compartilhada durante a configuração e habilitei o compartilhamento na página administrativa principal do CUPS. -
Para oferecer suporte ao iOS 6 e superior, digite o seguinte, ligeira variação para a correção mais comum no shell preso:
echo "image/urf urf string(0,UNIRAST<00>)" > /usr/share/cups/mime/airprint.types echo "image/urf application/vnd.cups-postscript 66 pdftops" > /usr/share/cups/mime/airprint.convs
-
Agora, use o prático gerador AirPrint para criar um anúncio de serviço Avahi:
cd / wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py python AirPrint-generate.py
-
Em seguida,
exit
the jail para retornar ao servidor principal. Então, eu copiei o serviço AirPrint para o próprio sistema avahi do servidor (desde que execute Avahi na cadeia parece não funcionar de forma confiável ). No entanto, como a pasta / etc / é recriada cada Quando o FreeNAS é iniciado , em vez de copiá-lo diretamente, precisamos criar um script de pré-inicialização no FreeNAS para copiá-lo na inicialização. Para fazer isso, faça o login na interface administrativa do FreeNAS novamente, clique na categoria Sistema e, em seguida, "Adicionar Init / Shutdown Script", defina o tipo como "Pre Init" e insira o seguinte como o comando:cp [PathToYourJail]/usr/local/etc/avahi/services/AirPrint-*.service /etc/local/avahi/services
-
Clique em "OK", reinicie e você verá que o (s) dispositivo (s) AirPrint está sendo transmitido pelo FreeNAS.
-
De lá, você deve estar pronto para ir!
Vinculei minhas duas perguntas sobre o SuperUser sobre CUPS auto descoberta e Avahi desligando dentro do ambiente preso. Se alguém tiver sugestões sobre como resolver esses problemas, eu ficaria grato, mas isso não impede o trabalho acima, eles simplesmente tornam desnecessariamente deselegante.
Eu ainda não tentei ver se é possível obter suporte de áudio para trabalhar no FreeNAS for AirPlay; Eu posso tentar isso em algum momento ainda.