En skrivare är inte den mest praktiska av kringutrustning. De ser ut på plats på de flesta arbetsdiskar och skapar ganska racket när man spitar ut sidor.

Du kan kasta några hundra quid på en snygg ny nätverksskrivare som sitter i ett hörn någonstans och kan få utskriftsbeställningar från vilken dator som helst i det lokala nätverket eller du kan bara koppla din vanliga USB-skrivare till Raspberry Pi och njuta av samma bekvämligheter som erbjuds överst på nätverksskrivarna.

Om du inte redan har använt din skrivare på Linux, innan du börjar med det här projekthuvudet på webbplatsen för utskrift för att kontrollera om din skrivare är kompatibel med CUPS-skrivarserverns programvara.

Om din skrivare är listad kopplar du den till Raspberry Pi med en av USB-portarna. För detta projekt använder vi Raspbian distro och Raspberry Pi är ansluten till det lokala nätverket via en kompatibel trådlös adapter.

Du kan dock också ansluta Raspberry Pi till ditt nätverk via den trådbundna Ethernet-porten.

Du kan följa anvisningarna i den här handledningen genom att komma åt Raspberry Pi på distans från någon annan dator i nätverket. Se bara till att SSH-servern i Raspbian är aktiverad med hjälp av raspi-config-verktyget. Det är också en bra idé att tilldela en fast IP-adress till Raspberry Pi.

Du kan göra det enkelt från din routers administratörssida. För denna handledning antar vi att IP-adressen till din Raspberry PI är 192.168.3.111.

Du kan nu komma åt Pi från Windows med hjälp av PuTTY-klienten eller från någon Linux-distro med SSH CLI-kommandot med:

$ sudo ssh [email protected]

Installera CUPS

När du är inne i Raspbian, uppdatera du repositories (repos) med $ sudo apt-get uppdatering och installera sedan uppdateringar med $ sudo apt-get uppgradering . Dra nu in CUPS-skrivarservern med $ sudo apt-get installera koppar

När den är installerad lägger du till din användare i gruppen som skapats av CUPS som heter lpadmin som har åtkomst till skrivarkön.

Du kan också bläddra igenom den omfattande dokumentationen från CUPS webbläsarbaserade kontrollpanel

Om du inte har skapat en anpassad användare kallas standardanvändaren på Raspbian pi. Använd följande kommando så att det kan interagera med skrivaren: $ sudo usermod -a -G lpadmin pi

Här använder vi verktyget usermod för att lägga till ( -en ) pi-användaren till lpadmin-gruppen ( -G ). Som standard kan CUPS bara konfigureras från den lokala datorn som den är installerad på.

Eftersom det inte fungerar i vårt fall måste vi redigera sin konfigurationsfil så att vi kan göra ändringar på servern från en fjärrdator. Först och främst måste du skapa en säkerhetskopia av den ursprungliga konfigurationsfilen med:

$ sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.orig

Öppna sedan filen med nano textredigeraren: $ sudo nano /etc/cups/cupsd.conf . Inne i filen, rulla ner till följande avsnitt:

# Lyssna bara på anslutningar från den lokala maskinen
Lyssna localhost: 631

Kommentera den raden (genom att lägga till # till början av raden) och lägg till en annan för att be CUPS att acceptera anslutningar från vilken dator som helst i nätverket. Se till att avsnittet ser ut så här:

# Lyssna bara på anslutningar från den lokala maskinen
# Lyssna localhost: 631
Hamn 631

Bläddra sedan längre ner i konfigurationsfilen tills du når avsnitt och lägg till en ny rad som läser Tillåt @ lokalt strax före avsnittet. Avsnittet med den bifogade raden ska nu läsas så här:


# Begränsa åtkomst till servern
Order tillåter, förneka
Tillåt @ lokalt

Lägg nu till Tillåt @ lokal linje till de andra två platsavsnitten - och

Spara filen och starta om CUPS-servern med: $ sudo /etc/init.d/cups omstart

Du ska nu kunna komma åt CUPS administrationspanel via vilken dator som helst i ditt lokala nätverk genom att peka webbläsaren på din Pi. Följ sedan walkthroughen över sidan för att lägga till din skrivare i CUPS.

Vissa Linux diströser skepp med en restriktiv iptables-brandväggspolicy som inte tillåter anslutningar via CUPS-portarna.

Även om Raspbian inte gör det, se till att det inte slänger några oväntade fel genom att slå hål i brandväggen med:

$ sudo iptables -A INPUT -i wlan0 -p tcp -m tcp --port 631 -j
ACCEPTERA
$ sudo iptables -A INPUT -i wlan0 -p utp -m utp - port 631
-j ACCEPT

Om du ansluter till Raspberry Pi via Ethernet istället för en trådlös adapter, ändra kommandot och byt ut det wlan0 med eth0 . När du går igenom konfigurationen av din skrivare med CUPS administrationspanelen är det dags att göra det tillgängligt för andra maskiner i ditt nätverk.

Medan Linux distros har inga problem att upptäcka din nya nätverksskrivare, gör dem synliga för Windows och Apple-enheter kräver ett par extra steg.

På fliken Skrivare kan du spåra statusen för varje jobb på varje skrivare

Nätverksövergripande åtkomst

För Windows, installera Samba-servern på Raspberry Pi med $ sudo apt-get installera samba . Öppna sedan sin konfigurationsfil (/etc/samba/smb.conf) i nano textredigeraren och leta efter avsnittet märkt [skrivare] och se till att det innehåller raden:

gäst ok = ja

Bläddra sedan ner till sektionen [skriv ut $] och ändra dess väg till följande:

sökväg = / usr / share / cups / drivers

Bläddra sedan upp till avsnittet Globala inställningar högst upp i konfigurationsfilen. Ändra arbetsgruppsparametern inom för att peka på namnet på din arbetsgrupp, som som standard heter WORKGROUP .

Aktivera även vinststöd genom att lägga till raden vinner support = ja

Spara nu filen och starta om Samba med $ sudo /etc/init.d/samba starta om .

Gå sedan över till Windows-maskinen och starta guiden Lägg till ny skrivare och klicka på alternativet för att installera en nätverksskrivare. Tack vare den modifierade Samba-konfigurationen upptäcker guiden och listar alla skrivare anslutna till Raspberry Pi.

Om du har Apple-enheter kan du aktivera support för Apples AirPrint-system, vilket gör att du kan skriva ut från iPad och iPhone. För detta, installera bara Avahi-demonen med sudo apt-get installera avahi-daemon på Raspberry Pi, som sedan gör den anslutna skrivaren synlig för AirPrint-kompatibla enheter.

Förutom möjligheten att använda vår nätverksskrivare från grafiska applikationer över alla plattformar, kan vi också använda den för att skriva ut från kommandoradsgränssnittet. Dessutom kan vi också interagera med skrivaren med Python programmeringsspråk.

  • Kolla in vår samling fantastiska Raspberry Pi-projekt