Dem Vorschlag von @Rand Smith folgend erstellte ich auf meinem FreeNAS ein Portsjail. Ich gab dem Portsjail eine statische IP-Adresse, deaktivierte VIMAGE und stellte das Standard-Gateway ein. Ich ging dann in die FreeNAS Web-basierte Shell und tat Folgendes:
- Geben
jls
Sie die Nummer des Gefängnisses ein, und geben Sie dann die Nummer einjexec [number] sh
. - Einmal im Gefängnistyp
pkg install cups hplip py27-cups
. Als nächstes verwenden Sie die CUPS.conf aus dem in meiner Frage erwähnten Tutorial:
cd /usr/local/etc/cups mv cupsd.conf cupsd.conf.org wget http://dl.dropbox.com/u/42238/pogoplug/cupsd.conf
Befolgen Sie die Schritte im FreeBSD-Lernprogramm für CUPS, außer für den Teil, der die SMB-Freigabe betrifft, um die Einrichtung von CUPS abzuschließen. Beenden durch Starten von CUPS:
/etc/rc.d/devfs restart /usr/local/etc/rc.d/cupsd restart
Melden Sie
http://[hostname]:631
sich dann beim Drucker an und richten Sie ihn ein (leider funktioniert die automatische Erkennung von Netzwerkgeräten durch CUPS in meinem BSD-Gefängnis nicht. Daher musste ich den Brother MFC-7820N mithilfe der Option HP JetDirect manuell einrichten. Ich habe gedruckt Auf einer Testseite wurde bestätigt, dass der Drucker funktioniert hat. Ich habe den Drucker so eingestellt, dass er während des Setups freigegeben wird, und die Freigabe auf der Haupt-CUPS-Verwaltungswebseite aktiviert.Um die Unterstützung für iOS 6 und höher bereitzustellen, geben Sie die folgende, geringfügige Abweichung vom häufigsten Fix in der Jail-Shell ein:
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
Verwenden Sie jetzt den praktischen AirPrint-Generator, um eine Avahi-Serviceanzeige zu erstellen:
cd / wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py python AirPrint-generate.py
Als nächstes muss
exit
das Gefängnis zum Hauptserver zurückkehren. Dann habe ich den AirPrint-Dienst auf das eigene avahi-System des Servers kopiert (da das Ausführen von Avahi im Gefängnis scheinbar nicht zuverlässig funktioniert ). Da der Ordner / etc / bei jedem Start von FreeNAS neu erstellt wird , müssen Sie, anstatt ihn direkt zu kopieren, ein Pre-Init-Skript auf dem FreeNAS erstellen, um es beim Start zu kopieren. Melden Sie sich dazu erneut bei der Administrationsoberfläche von FreeNAS an, klicken Sie auf die Kategorie System und dann auf "Add / Shutdown Script hinzufügen". Setzen Sie den Typ auf "Pre Init" und geben Sie als Befehl Folgendes ein:cp [PathToYourJail]/usr/local/etc/avahi/services/AirPrint-*.service /etc/local/avahi/services
Klicken Sie auf "OK", und starten Sie den Computer neu. Sie werden feststellen, dass Ihre AirPrint-Geräte jetzt vom FreeNAS übertragen werden.
Von dort aus solltest du gut sein!
Ich habe eine Verbindung zu meinen zwei verbleibenden SuperUser-Fragen zur automatischen Erkennung von CUPS und zum Herunterfahren von Avahi in der Inhaftiertenumgebung hergestellt. Wenn jemand Vorschläge zur Lösung dieser Probleme hat, wäre ich dankbar, obwohl dies die oben genannten Maßnahmen nicht verhindert, sie machen es einfach unnötig.
Ich habe noch nicht versucht zu sehen, ob es möglich ist, Audio-Support für FreeNAS for AirPlay zu erhalten. Das kann ich irgendwann noch probieren.