Skrivarservice med Cups
Detta är en enkel guide som kan ge några få riktlinjer för installering av en skrivarserver på en Raspberry körandes Linux, med vilken det ska kunna gå att dela ut skrivare till Windows, Mac och Linux och även Apple och Android hand-enheter.
# apt-get install cups
Sen behöver användare, i detta faller pi läggas till som avändare i både lpadmin och lp (ja, den senare är jag inte säker på om det behövs, utan jag gjorde det för säkerhets skull). Så här gör man det
# usermod -a -G lpadmin pi
# usermod -a -G lp pi
Om det skulle bli fel och du behöver ta bort användaren från gruppen, (i det här exemplet lp) gör du det enkelt med deluser
# userdel lp pi Och gruppen försvinner inte i och med det här kommandot.
Bäst fungerar utskrifter från Linux till Cups skrivarservern om skrivaren installeras med socket://10.0.1.88:9100 där skrivarservern finns på ip-adressen 10.0.1.88 och på port 9100. Det kan vara lurigt att få Windows att hitta skrivare som går på Cups-servern, men det verkar fungera bättre om de installeras med socket-protokollet i Cups, så här: socket://10.0.1.88/socket där skrivarnamn byts ut mot det namn du vill ge skrivaren. I WIndows föreslås man sedan vid skrivartilläggning ange TCP/IP-port och namn på det här viset: http://10.0.1.88:631/printers/skrivarnamn.
Men som sagt: det kan vara mycket krångel med konfigurationsfilen /etc/cups/cupsd.conf på skrivarservern för att Windows ska förmås hitta skrivarna. Men man behöver inte installera samba för Cups för att få det att lira.
Denna Cups-server snurrar på en Raspberry B med 512mb ram-minne och kör Debian 8 eller Jessie som den också kallas. Ett stort problem var att drivrutinerna att bita. Men till en Samsung ML-3310ND var bästa alternativet inte Samsungs drivrutiner för Linux, fastän de har gjort sådana till arm-arkitekturen också. Men genom att installera OpenSource-drivrutiner för Samsung fungerar det bra. Det fanns till och med drivrutiner exakt för ML-3310ND. Annars brukar man få välja några som heter ML-331x-series. Men de installerade jag med apt-get.
# apt-get install printer-driver-splix
Förutom det har jag en Canon Pixma MG-2450. Till den hade Cups drivrutinerna klara, ja alltså skrivardrivrutiner. Den har ju annars skanner och kopiator och detta har jag inte fått att fungera från Cups-servern.
Detta är de ändringar jag gjorde i konfigurationsfilen /etc/cups/cupsd.conf. Du ser de i fetstil.
# Listen localhost:631
Port 631
< Location / >
# Restrict access to the server...
Order allow,deny
Allow @local
< /Location >
< Location /admin >
# Restrict access to the admin pages...
Order allow,deny
Allow @local
< /Location >
< Location /admin/conf >
AuthType Default
Require user @SYSTEM
# Restrict access to the configuration files...
Order allow,deny
Allow @local
< /Location >
Sen är det bara att gå till serverns ip-adress med webbläsaren följt av portnummer. T ex http://10.0.1.88:631. Mycket kan krångla, men ge inte upp. Det går att fixa. Dock har jag inte tagit med allt jag behövde göra för att få det att fungera.
Sätta upp en nätverksskanner
Sane as a server
Set sane to run as a server, ie expect connections Edit /etc/default/saned to read:
# Set to yes to start saned RUN=yes
You must be root to edit this file (hint, use sudo)
Share with
Set the subnet that will be able to see the scanner Edit /etc/sane.d/saned.conf to share the printer on your subnet, for example:
192.168.1.0/24
Make sure it is in your range of IPs. It hit me badly when I mis-configured it for 192.168.0.0 when I meant 192.168.1.0 !
The /24 means to share with everybody in xxx.xxx.xxx.0 to 255.
User setup
In some cases, correct permissions needs to be set. E.g. for HP DesignJet 2050 All-in-one device, the saned user has to be inserted into lp group. To do that by typing
sudo adduser saned lp eller usermod -a -G lp saned
To verify the saned user has the correct permissions to access the scaner device, run the following commands:
sudo -s su -s /bin/bash saned scanimage -L
As a result, you should see a device identified, e.g.
Och sen ska vi bara testa att skanna ett dokument. Lägg något i skannern. Sen skannar du så här enkelt.
# scanimage > test.ppm
Och sen är det bara att öppna och kolla resultatet med en bildvisare. Om allt är okej. Tänk inte på kvalitén nu utan bara det blev en bild är det ok.
Sen ska vi starta bildläsarprocessen som ska gå i bakgrunden. Debian 8 har ju börjat med systemctl så för att gå i gång skannerprocessen måste vi göra så här.
# systemctl enable saned.socket
Redigera vilka som ska få tillträde till skannern i /etc/sane.d/saned.conf
:
## Access list 10.0.1.3 eller hela nätverket 10.0.1.0/24
Sen måste brandväggen på servern tillåta inkommande skannertrafik. Debian 8 har iptables så då gör vi så här:
# iptables
-A INPUT -s 10.0.1.3 -p tcp --dport 6566 -j ACCEPT
Här kan man förstås också tillåta hela nätverket på samma sätt som i konfigurationsfilen saned.conf
Sen ska man försäkra sig om att sane-servern går genom att skriva in nedanstående i
/etc/default/saned
:
RUN=yes
Det är om du använder sysv init system, men på Deiban 8 har vi ju systemctl:
# systemctl enable saned.socket
Det fungerar i alla fall.
Konfiguration på klienten
På en Linux-klient behöver man inte göra mycket mer än att skriva in två rader i /etc/sane.d/net.conf
connect_timeout = 60
minserver
Och då fungerer det med antingen ip-adressen till servern eller värdnamnet om du har en dns-server på det lokala nätet som kan slå upp ip-adressen via namnet. Man måste förstås ha ett verktyg med vilket man kan läsa in bilder. Jag har bara provat med Simple Scan som ingår i skrivbordsmiljön Gnome 3. Där dyker min nätverksanslutna skanner upp automatiskt och är mycket enkel att använda. Emellertid finns det inga inställningsmöjligheter. För den som vill ha det kan man, om man har Gimp installerat, få fler finesser genom att installera ett tillägg vid namn xsane-gimp och installeras i Fedora med kommandot:
# dnf install xsane-gimp
Möjligen skriver jag några rader om hur man kan hantera skannern från Windows- och Macdatorer. Om det går förstås.