3

Я хотел бы добавить поддержку AirPrint к устаревшему сетевому принтеру Brother и, если возможно, также передавать потоковое аудио AirPlay на стереосистему на той же полке. Я наткнулся на большое руководство о том, как это сделать, установив CUPS (для AirPrint) и Shairport (для AirPlay) на Pogoplug с Arch Linux. Это заставило меня задуматься о том, можно ли заставить все более расширяемую платформу FreeNAS делать то же самое - у меня уже есть сервер FreeNAS для резервного копирования, а не Pogoplug и мой сервер, работающие одновременно, когда все работает на одном устройстве. кажется более эффективным. Однако мне не удалось найти какие-либо учебные пособия, направленные на достижение этой цели.

Есть ли относительно простой способ получить CUPS и Shairport на FreeNAS 9 (возможно, в "тюрьме")?

3 ответа3

4

Следуя совету @Roland Smith, я создал портовую тюрьму на FreeNAS. Я дал portjail статический IP-адрес, отключил VIMAGE и установил шлюз по умолчанию. Затем я вошел в веб-оболочку FreeNAS и сделал следующее:

  • Введите jls , запишите номер тюрьмы, а затем введите jexec [number] sh .
  • После того, как в тюрьме наберите pkg install cups hplip py27-cups .
  • Затем используйте CUPS.conf из учебника, упомянутого в моем вопросе:

    cd /usr/local/etc/cups
    mv cupsd.conf cupsd.conf.org
    wget http://dl.dropbox.com/u/42238/pogoplug/cupsd.conf
    
  • Следуйте инструкциям в руководстве по FreeBSD для CUPS , за исключением части, касающейся совместного использования SMB, чтобы завершить настройку CUPS. Завершение запуска CUPS:

    /etc/rc.d/devfs restart
    /usr/local/etc/rc.d/cupsd restart
    
  • Затем войдите в http://[hostname]:631 и настройте принтер (к сожалению, автоматическое обнаружение сетевых устройств CUPS не работает в моей BSD-тюрьме , поэтому мне пришлось вручную настроить Brother MFC- 7820N с использованием опции HP JetDirect. Я распечатал тестовую страницу, чтобы убедиться, что мой принтер работает. Я установил общий доступ к принтеру во время установки и включил общий доступ на главной административной веб-странице CUPS.

  • Чтобы обеспечить поддержку iOS 6 и выше, введите следующее, небольшое изменение к наиболее распространенному исправлению в тюрьме оболочки:

    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
    
  • Теперь используйте удобный генератор AirPrint для создания рекламного объявления службы 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
    
  • Затем exit из тюрьмы, чтобы вернуться на главный сервер. Затем я скопировал службу AirPrint в собственную серверную систему avahi (поскольку запуск Avahi в тюрьме , похоже, не работает надежно). Однако, поскольку папка /etc / воссоздается при каждом запуске FreeNAS , вместо того, чтобы копировать ее напрямую, нам нужно создать сценарий Pre-Init на FreeNAS, чтобы скопировать его при запуске. Для этого снова войдите в административный интерфейс FreeNAS, щелкните категорию "Система", а затем «Добавить сценарий инициализации / завершения работы», установите тип "Pre Init" и введите в качестве команды следующее:

    cp [PathToYourJail]/usr/local/etc/avahi/services/AirPrint-*.service /etc/local/avahi/services
    
  • Нажмите "ОК", перезагрузитесь, и вы обнаружите, что ваши устройства AirPrint теперь транслируются FreeNAS.

  • Оттуда вам должно быть хорошо идти!

Я связал свои два оставшихся вопроса SuperUser, касающихся автоматического обнаружения CUPS и отключения Avahi в тюрьме. Если у кого-то есть предложения о том, как решить эти проблемы, я был бы признателен, однако те не мешают работе вышеупомянутого, они просто делают его излишне неэлегатным.

Я еще не пытался выяснить, можно ли получить поддержку аудио для работы с FreeNAS для AirPlay; Я могу попробовать это в какой-то момент еще.

1

Что касается ошибки установки pkg "Нет пакетов, соответствующих 'py27-cups'. Новый пакет называется py27-pycups. Это должно установить.

1

И CUPS, и shairport доступны в коллекции портов FreeBSD.

Вы можете установить их на FreeNAS, как описано здесь.

Использование пакетов, вероятно, самый простой способ. Если вы хотите собрать кубки с опциями не по умолчанию, вам придется строить из исходного кода.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .