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