AirPrint и AirPlay на FreeNAS

10031
Timothy R. Butler

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

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

3

3 ответа на вопрос

4
Timothy R. Butler

Следуя совету @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; Я могу попробовать это в какой-то момент еще.

Чтобы добавить к очень полезному ответу Тимоти (я не могу комментировать его с этим сайтом, так как у меня недостаточно баллов «Репутация»), для меня в тюрьме на FreeNas каталог конфигурации cups MIME был «/ usr / local / etc / cups "а не" / usr / share / cups / mime / ". Greg Quinn 10 лет назад 1
В Freenas 9.3 перезапуск devfs не работает (правило devfs: ioctl DEVFSIO_RGETNEXT: операция не разрешена). Кажется, кое-что изменилось с BSD 10.0 ... damian 9 лет назад 0
Спасибо, похоже, CUPS работает. Для печати из OSX мне пришлось указать графический интерфейс принтера и сканера по адресу IPP `http: //freenas.local: 631 / printers /`, затем измените драйвер на raw на клиенте OSX (для этого потребовалось выполнить` sudo cupsctl WebInterface = yes` на клиенте OSX, а затем перейти к `http: // localhost: 631`). Я не могу понять, как заставить правила `devfs` применяться в тюрьме, поэтому мне приходится вручную` chmod a + rw / dev / ulpt0` в тюрьме каждый раз, когда она запускается. damian 9 лет назад 1
`pkg install cups hplip py27-cups` выдает мне ошибку:" Не найдено пакетов, соответствующих 'py27-cups' .. "Есть идеи? Quest 8 лет назад 1
1
Roland Smith

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

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

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

1
Oxcom

With regards to the pkg install error "No packages matching 'py27-cups'. The new package is called py27-pycups. That should install.

Похожие вопросы