AirPrint e AirPlay no FreeNAS

3

Eu gostaria de adicionar o suporte do AirPrint a uma impressora de rede Brother herdada e, se possível, também ter o streaming de áudio do AirPlay em um estéreo na mesma prateleira. Eu corri em um ótimo tutorial sobre como fazer exatamente isso instalando CUPS (para AirPrint) e Shairport (para AirPlay) em um Pogoplug com o Arch Linux. Isso me fez pensar se a plataforma FreeNAS, ainda mais extensível, poderia ser persuadida a fazer a mesma coisa - eu já tenho um servidor FreeNAS para backups e não um Pogoplug e meu servidor rodando ao mesmo tempo, tendo tudo rodando em um dispositivo parece mais eficiente. No entanto, não consegui encontrar nenhum tutorial destinado a atingir esse objetivo.

Existe uma maneira relativamente simples de obter o CUPS e o Shairport no FreeNAS 9 (talvez em uma "prisão")?

    
por Timothy R. Butler 10.11.2013 / 00:09

3 respostas

4

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 digite jexec [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.

    
por 27.11.2013 / 23:21
1

Ambos os COPOS e shairport estão disponíveis na coleção de ports do FreeBSD.

Você pode instalá-los no FreeNAS conforme documentado aqui .

Usar pacotes é provavelmente a maneira mais fácil. Se você quiser construir xícaras com opções não padrão, terá que criar a partir do código-fonte.

    
por 10.11.2013 / 14:48
1

Com relação ao erro de instalação do pkg "Nenhum pacote correspondente a 'py27-cups'. O novo pacote é chamado py27-pycups. Isso deve ser instalado.

    
por 20.04.2016 / 13:55