Tim*_*ler 4 freebsd freenas printing cups airplay
我想为旧版 Brother 网络打印机添加 AirPrint 支持,如果可能,还可以将 AirPlay 音频流传输到同一架子上的立体声音响。我通过在带有 Arch Linux 的 Pogoplug 上安装 CUPS(用于 AirPrint)和 Shairport(用于 AirPlay)来了解如何做到这一点的很棒的教程。这让我想知道是否可以诱使更可扩展的 FreeNAS 平台做同样的事情——我已经有一个 FreeNAS 服务器用于备份,而不是让 Pogoplug 和我的服务器同时运行,让所有东西都在一个设备上运行似乎更有效率。但是,我一直无法找到任何旨在实现此目标的教程。
是否有一种相对简单的方法可以在 FreeNAS 9 上获取 CUPS 和 Shairport(可能在“监狱”中)?
按照@Roland Smith 的建议,我在我的 FreeNAS 上创建了一个 portjail。我给了 portjail 一个静态 IP 地址,禁用了 VIMAGE 并设置了默认网关。然后我进入 FreeNAS 基于 web 的 shell 并执行以下操作:
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
Run Code Online (Sandbox Code Playgroud)按照FreeBSD 教程中关于 CUPS的步骤进行操作,除了有关 SMB 共享的部分完成 CUPS 设置。通过启动 CUPS 完成:
/etc/rc.d/devfs restart
/usr/local/etc/rc.d/cupsd restart
Run Code Online (Sandbox Code Playgroud)然后,登录http://[hostname]:631并设置打印机(不幸的是,网络设备的 CUPS 自动检测在我的 BSD jail 中似乎不起作用,所以我不得不使用 HP JetDirect 选项手动设置 Brother MFC-7820N。我打印了确认我的打印机工作的测试页。我在设置期间将打印机设置为共享,并在主 CUPS 管理网页上启用共享。
要提供对 iOS 6 及更高版本的支持,请输入以下对被监禁 shell 中最常见修复程序的轻微变化:
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
Run Code Online (Sandbox Code Playgroud)现在,使用方便的 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
Run Code Online (Sandbox Code Playgroud)接下来,exitjail 返回到主服务器。然后,我将 AirPrint 服务复制到服务器自己的 avahi 系统(因为在监狱中运行 Avahi似乎不能可靠地工作)。但是,由于每次FreeNAS启动时都会重新创建/etc/文件夹,而不是直接复制它,我们需要在FreeNAS上创建一个Pre-Init脚本,以便在启动时复制它。为此,再次登录 FreeNAS 管理界面,单击系统类别,然后单击“添加初始化/关机脚本”,将类型设置为“预初始化”并输入以下命令:
cp [PathToYourJail]/usr/local/etc/avahi/services/AirPrint-*.service /etc/local/avahi/services
Run Code Online (Sandbox Code Playgroud)单击“确定”,重新启动,您应该会发现您的 AirPrint 设备正在被 FreeNAS 广播。
从那里,你应该很高兴去!
我已经链接到我剩下的两个关于CUPS 自动发现和Avahi在被监禁环境中关闭的超级用户问题。如果有人对如何解决这些问题有任何建议,我将不胜感激,但是这些并不能阻止上述工作,它们只会使它变得不必要地不雅。
我还没有尝试查看是否有可能获得音频支持以在 FreeNAS 上为 AirPlay 工作;我可能会在某个时候尝试一下。