Den viktigaste mekanismen för skrivare och skrivartjänster i Ubuntu är Common UNIX Printing System (CUPS). Det här skrivarsystemet är ett fritt tillgängligt, portabelt utskriftslager som har blivit den nya standarden för utskrifter i de flesta GNU/Linux-distributioner.
CUPS hanterar utskriftsjobb och utskriftsköer och erbjuder nätverksutskrifter med hjälp av standardprotokollet Internet Printing Protocol (IPP), samtidigt som det ger dig stöd för ett väldigt stort antal skrivare, från matris till laser och många därimellan. CUPS stödjer även PostScript Printer Description (PPD) och automatisk detektering av nätverksskrivare, och har ett enkelt webbaserat konfigurations- och administrationsverktyg.
För att installera CUPS till din Ubuntudator, använd helt enkelt sudo med kommandot apt-get och skicka med paketet du vill installera som första parameter. En komplett CUPS-installation har många paketberoenden, men de går alla att skriva på samma kommandorad. Skriv följande vid en terminalprompt för att installera CUPS:
sudo apt-get install cupsys cupsys-client
När du har autentiserat dig med ditt lösenord bör paketen laddas ner och installeras utan några felmeddelanden. När installationen avslutas kommer CUPS-servern att startas automatiskt. Om du vill felsöka kan du komma åt CUPS-serverns felmeddelanden via loggfilen för fel: /var/log/cups/error_log
. Om felmeddelandet inte visar tillräckligt med information för att felsöka problemet du stöte på kan du justera hur mycket CUPS ska loga genom att ändra på parametern LogLevel i konfigurationsfilen (diskuteras nedan) till "debug" eller till och med "debug2" från standardvärdet "info", vilket kommer att logga allt. Om du gör den här ändringen, kom ihåg att ändra tillbaka den när du har löst problemet för att undvika att loggfilen blir onödigt stor.
CUPS-serverns beteende konfigureras genom parametrarna i filen /etc/cups/cupsd.conf
. CUPS konfigurationsfil följer samma syntax som HTTP-servern Apaches huvudsakliga konfigurationsfil, så de som är vana vid att ändra i Apaches konfiguration bör känna sig hemma när de ändrar i CUPS konfigurationsfil. Här följer några exempel på inställningar du kan vilja ändra.
Innan du ändrar på konfigurationsfilen bör du göra en kopia av originalfilen och göra den skrivskyddad, så att du har kvar originalinställningarna som en referens, och så att du kan återanvända dem om det skulle krävas.
Kopiera filen /etc/cups/cupsd.conf
och gör den skrivskyddad med följande kommandon som du skriver vid en terminalprompt:
sudo cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.original sudo chmod a-w /etc/cups/cupsd.conf.original
ServerAdmin: För att konfigurera vilken e-postadress administratören för CUPS-servern har, ändra konfigurationsfilen /etc/cups/cupsd.conf
med den textredigerare du tycker bäst om, och ändra på raden ServerAdmin till det du vill ska stå där. Om du skulle vara administratör för CUPS-servern, och din e-postadress är 'bjoy@somebigco.com' skulle du skriva om ServerAdmin-raden så att den ser ut såhär:
ServerAdmin bjoy@somebigco.com
För fler exempel på konfigurationsmöjligheter i CUPS-serverns konfigurationsfil kan du läsa manualsidan för filen genom att skriva följande kommando vid en terminalprompt:
man cupsd.conf
När du gör ändringar i konfigurationsfilen /etc/cups/cupsd.conf
måste du starta om CUPS-servern genom att skriva följande kommando vid en terminalprompt:
sudo /etc/init.d/cupsys restart
Viss annan konfiguration för CUPS-servern görs i filen /etc/cups/cups.d/ports.conf
:
Listen: Normalt i Ubuntusystem lyssnar CUPS-servern bara på loopback-gränssnittet på IP-adressen emphasis>127.0.0.1
Listen 127.0.0.1:631 # existing loopback Listen Listen /var/run/cups/cups.sock # existing socket Listen Listen 192.168.10.250:631 # Listen on the LAN interface, Port 631 (IPP)
I ovastående exempel vill du kanske kommentera ut eller ta bort raden för loopback-adressen (127.0.0.1) om du inte vill att cupsd ska lyssna på det gränssnittet, utan bara på ethernet-gränssnitt på det lokala nätverket (LAN). För att göra så att CUPS-servern lyssnar på alla nätverksgränssnitt som ett specifikt värddatornamn är bundet till, inklusive loopback, skulle du skriva en Listen-rad med det datornamnet (i det här exemplet använder vi socrates) så här:
Listen socrates:631 # Listen on all interfaces for the hostname 'socrates'
eller genom att ta bort alla Listen-rader och istället använda Port, såhär:
Port 631 # Listen on port 631 on all interfaces