Concepten
Basisconcepten openSUSE Linux
Dit artikel beschrijft enkele basisconcepten van openSUSE en referenties naar enkele basisprogramma's. Het is bedoeld voor nieuwe Linux-gebruikers die openSUSE gebruiken. Dit artikel gaat er vanuit dat de nieuwe Linux-gebruiker al enige ervaring met computers heeft.
Wat u als eerste moet doen met uw nieuwe openSUSE
Het eerste dat u als nieuwe openSUSE-gebruiker wilt doen is meteen aan de slag gaan met het nieuwe systeem. Maar voordat u dat doet is het slim om eerst de basis te leren van hoe Linux werkt. Dit voorkomt dat u daar later veel tijd aan kwijt zult zijn. Dit omdat Linux namelijk heel anders werkt dan MacOS of Windows. Om tijd te besparen is het daarom belangrijk dat u die verschillen leert kennen.
Er zijn 2 basistypen verschillen.
Het eerste is aan het oppervlak dat iedereen kan zien.
De Grafische User Interface (GUI) is enigzins verschillend. De meeste gebruikers zullen niet veel verschil zien in hoe de GUI werkt, speciaal als zij de K Desktop Environment (KDE) gebruiken, de grafische elementen zijn een beetje verschillend. De basis is natuurlijk hetzelfde, window is window en het heeft een frame, titelbalk, window-instellingsknop aan de linkerkant van de titelbalk, evenals een minimaliseer-, maximaliseer- en afsluitknop aan de rechterkant van een titelbalk. Hoewel, dit kan verschillen als de gebruiker een ander thema gaat gebruiken, maar de standaarden staan zo dat deze zo min mogelijk verwarring geven aan de nieuwe Linux gebruikers.
Het tweede zijn verschillen onder de motorkap.
Deze zijn groot. Het eerste dat nieuwe gebruikers snel uit zullen vinden is dat programma's ontwikkeld voor Windows een speciale emulatielaag nodig hebben die geboden wordt door het programma Wine (Windows Emulator) die werkt voor vele, maar niet alle windows programma's. Het volgende is dat Linux gebruiken als beheerder/administrator (traditioneel genaamd root) niet wijs is en sterk ontmoedigd wordt. De lijst is langer en dit zal in meer detail later worden uitgelegd, maar deze 2 voorbeelden zouden moeten uitleggen dat geavanceerde gebruikers hun gewoonten moeten aanpassen aan Linux. Waarom alleen geavanceerde? Eenvoudig omdat zij voor de configuratie-opties onder het oppervlak zullen moeten reiken waardoor zij veel meer details moeten begrijpen over een computer en een op Linux gebaseerd systeem is niet anders.
Vrije software
Linux is ontwikkeld volgens het Free-Software-concept. De term "free" betekent hier "vrij" in plaats van "gratis". De software is vrij in de zin dat u
- het mag kopiëren
- toegang hebt tot de broncode
- het recht hebt deze code te wijzigen
- het recht hebt om de originele versie weg te geven
- het recht hebt om gewijzigde versies van de software weg te geven
Meer informatie over vrije software kunt u vinden in het artikel Filosofie achter vrije software
Maar waarom is vrije (en opensource) software belangrijk voor een nieuwe Linux-gebruiker? Het is belangrijk omdat het de filosofische basis is van hoe Linux en vrijwel alle Linux-software is gestructureerd.
Linux-kernel & het GNU-Project
Een kernel is het laagste niveau van het besturingssysteem, ook wel de kern genoemd. Hier vindt alle interactie met de hardware plaats. De vrije Linux-kernel is oorspronkelijk door Linus Torvalds in 1991 gemaakt. Op dat moment had het GNU-Project reeds vele componenten gemaakt die nodig zijn voor een besturingssysteem met vrije software, alleen de eigen kernel was niet compleet en niet beschikbaar. Door de software uit het GNU-project en de Linux-kernel te combineren, was de basis voor een besturingssysteem zoals openSUSE gelegd.
- Linux_kernel: (nederlands)
- GNU: (engels)
Distributies
Zoals hierboven vermeld is Linux alleen de kernel van het besturingssysteem. Het complete besturingssysteem is de zogenaamde GNU/Linux-distributie. Die bestaat uit heel wat meer dan alleen de kernel. U kunt bijvoorbeeld de K Desktop Environment (KDE) gebruiken als uw grafische gebruikersomgeving. KDE is geen "Linux". Het is deze modulaire opbouw die zorgt voor een grote verscheidenheid aan Linux distributies. Komend vanaf een ander besturingssysteem kan het moeilijker zijn om te wennen aan het concept dat niet alles in een besturingssysteem eenvoudig Linux of Windows is, maar veeleer een combinatie van vele meer of minder van elkaar onafhankelijk in projecten ontworpen pakketten. Bij het oplossen van problemen is het daarom belangrijk te begrijpen in welk onderdeel het probleem zit.
Alleen vanwege de vrijheid, zoals die hiervoor is genoemd, is het mogelijk voor een distributeur, zoals Novell, om een Linux distributie te maken. Deze staat distributeurs toe om wijzigingen aan te brengen, zaken te bundelen en software te herdistribueren.
Het behandelen van software in openSUSE (pakketbeheer)
In openSUSE zijn er in hoofdzaak twee soorten softwarepakketten:
Enige opmerkingen over beiden:
Linux-tar-archief/Tarball
Een tar-archief, ook wel "tarball" genoemd is een gebundeld/gecomprimeerd bestand. Een tarball bevat de broncode van het programma en bestaan meestal uit scripts voor compilatie. Bovendien bevat de tarball meestal ook documentatie met informatie over het gebruik van het pakket, vaak genoemd "readme.txt" of "instal.txt". Vaak is het nodig om de inhoud van de tarball te compileren. Gebruikelijke extensies van een tarball zijn: "tar.gz", "tgz" of "tar.bz2".
RPM
Het updaten van software via RPM is de meest gebruikte methode door de gemiddelde openSUSE gebruiker. RPM staat voor RedHat Package Manager, een hulpmiddel bij het installeren, updaten, verwijderen, verifiëren en afvragen van software ingepakt in dit formaat, en ook voor de bestanden die hiermee gamaakt worden (RPM's).
Waarom is RPM nuttig?
In vele gevallen maakt een software ontwikkelaar een tarball van zijn software. De tarball wordt gebruikt voor het kunnen compileren van de inhoud en om de bestanden in de juiste mappen te krijgen. Dit is minder makkelijk dan het klinkt, het kan lastig zijn en veel tijd kosten voor een beginnende Linux gebruiker. Daarom is de RPM gemaakt. Een RPM kan met een enkel commando geïnstalleerd worden, dit in tegenstelling met de inhoud van een tarball die meer dan één commando nodig heeft om geïnstalleerd te worden.
Verdere RPM aspecten:
Het maken van een RPM is niet eenvoudig. Vaak is er veel kennis omtrent het gebruiken van broncode en bronbestanden nodig voor nodig. Daarom zijn er capabele verpakkers die deze taak op zich hebben genomen en deze leveren hun pakketten aan de gemeenschap.
Een RPM wordt vaak speciaal voor een bepaalde versie van een distributie gemaakt, zoals voor SUSE Linux 9.3, 10.0, 10.1, openSUSE 10.2, 10.3, 11.0, etc. Een RPM die is gemaakt voor SUSE Linux 9.3 werkt waarschijnlijk niet op openSUSE 11.0 omdat de afhankelijkheden anders zijn.
Onder omstandigheden worden Linux programma's en programmabibliotheken gemaakt op eerder gemaakte softwarecode. De reden hiervoor is dat de programmeur ontwikkeltijd wil besparen. Dit komt omdat de afhankelijkheden vaak erg groot kunnen zijn: software A moet software B hebben, software B moet software C hebben, enzovoort. Uiteindelijk moet de applicatie werken, dus al deze afhankelijkheden moeten worden gecontroleerd. Als bij controle blijkt dat het niet goed is dan kan dat veroorzaakt zijn door een afhankelijkheidsprobleem bij het installeren van de software.
Pakketbeheerders voor software
Zoals gezegd kan het installeren van Linux software (RPMs) leiden tot een zogenaamd afhankelijkheidsprobleem. Om deze problemen op te lossen zijn er zogenaamde pakketbeheerders (SPMs) gemaakt die de installatie van de RPM's op zich nemen. Als het nodig is zal deze SPM alle benodigde software van CD's, DVD's, bestandsservers en dergelijke halen.
Om een SPM te kunnen laten communiceren met een internet-bestandsserver moet een koppeling naar de bestandsserver worden toegevoegd aan de SPM. Deze bestandsservers worden ook wel kanalen of repositories genoemd (in de Nederlandse vertaling van openSUSE installatiebronnen genoemd). De SPM kan zowel met als zonder GUI gebruikt worden.
Dit soort programma's zijn onder andere: APT/Synaptic, Smart, YUM, en uiteraard YaST/Zypper (gemaakt door SUSE zelf).
Verdere informatie:
- Pakketbeheer
- openSUSE specifieke details over het opzetten pakketbronnen
- YaST
- Apt
- Smart
- YUM
- Zypper
- YUM
- Smart
- Apt
Installatiebronnen van door derden gemaakte softwarepakketten
Naast de officiële installatiebronnen zijn er bronnen gemaakt door derden die verbeterde of speciale versies van RPM's bevatten of RPM's met erg nieuwe of onbekende pakketten. De meest populaire SUSE Linux/openSUSE installatiebron van een derde partij is Packman (die de pakketten bevat die voorheen, vóór openSUSE 10.3, door Guru werden onderhouden. Als u één van deze wilt toevoegen kijk dan hier voor een handleiding.
Multimedia op openSUSE
Referentie multimedia - openSUSE mist standaard enkele multimedia functies (zoals het afspelen van het met het propriëtaire mp3 geformatteerde audio-bestanden met een pakket anders dan RealPlayer) vanwege licentie/patentredenen. Daarom zal een nieuwe openSUSE gebruiker die mp3 audio-bestanden, avi-bestanden met verschillende codecs, commerciële vidio-dvd's etc..... af wil spelen, een pakket/programma van het Internet moeten halen dat niet door openSUSE is gemaakt.
Een site die je hier bij helpt op een open manier is de opensuse-community site hier: http://opensuse-community.org
Te beginnen in openSUSE 10.3, om de ervaring met multimedia te vereenvoudigen, is een één-klik methode geïmplementeerd, waarmee half geautomatiseerd de multimedia software geüpgrade wordt voor nieuwe openSUSE gebruikers.
OpenSUSE 10.3 en 11.0 Één-klik multimedia-installatie: http://opensuse-community.org/Multimedia
Geluid
De drivers voor het geluid in openSUSE 11.0 komen uit de alsa-familie van rpm-pakketten. Een algemeen theoretisch overzicht over geluid in openSUSE staat in Geluidsconcepten. Een basishandleiding voor hulp bij problemen met geluid in de openSUSE Linux PC om audio werkend te krijgen is de openSUSE audioprobleemoplossingshandleiding
Linux shell / Commandoregel-interface
De "shell" is een commandoregel-interface die veel lijkt op MS-DOS (en de commando-prompt in bijvoorbeeld Windows XP) maar dan met de kracht van Linux om meerdere taken tegelijkertijd te draaien. Afhankelijk van hoe je de Shell binnenkomt is het op het volle scherm of in een window. De "bash shell" wordt het meest gebruikt omdat bash een Unix shell is die is gemaakt voor het GNU project. Bash is de standaard shell op de meeste Linux systemen. Daarnaast wordt bash ook gebruikt in Mac OS X en de meeste Unix-achtige besturingssystemen. In het geval van openSUSE wordt de bash shell meestal geopend door konsole te starten. (druk op <ALT><F2> en voer konsole in) Soms wordt in plaats van konsole xterm gebruikt. Een Linux shell wordt gebruikt als je werkt in een van de lagere boot-levels (zoals 1 tot en met 3.) Programma's kunnen, in plaats van via het startmenu, ook via de shell gestart worden, iets wat soms erg handig kan zijn, bijvoorbeeld bij het zoeken van fouten (debugggen).
Het volgende plaatje laat de versimpelde versie van informatie en commando gebruik zien als een gebruiker met Linux werkt.
- Linux commandoregel-interface: [1]
- Unix shell: [2]
- Bash shell: in het Engels in het Nederlands
- Inleiding - De shell leren gebruiken: http://www.linuxcommand.org/learning_the_shell.php
- Run Levels: [3]
X Window – basis concepten
Nieuwe gebruikers komen vaak verwijzingen naar X Window tegen. X Window (ook bekend als X11 of X) verzorgt voor Linux PCs de grafische omgeving in welke de verschillende grafische desktops werken (die geven een grafische voorstelling die typisch is voor de OS van moderne computers, zoals die in Mac of MS-Windows). Zonder X Window zou je enkel in de shell, de commandoregel, kunnen werken op uw Linux PC (zonder grafische schil dus). Om een gebruiksvriendelijke "grafische gebruikersomgeving" (GUI) te maken werkt er een Window Manager of een desktop omgeving bovenop X Window (bij een Mac en bij MS-Windows is er niet zo'n duidelijke scheiding tussen de shell en de grafische omgeving. Daardoor kan een Mac of MS-Windows gebruiker geen andere GUI kiezen en een Linux gebruiker wel). Meer informatie over de Window Manager en de Desktop omgeving kan worden gevonden op de bijbehorende wiki: Window managers and desktop environments. Drie van de meest populaire dektops voor openSUSE zijn:
Er zijn nog veel meer desktops beschikbaar voor openSUSE. Meer informatie vind je op de GUI pagina. Meer informatie over het X Window System:
- X window wiki: X-Window-systeem]
X window aspecten
X window is erg krachtig doordat de architectuur goed is gestructureerd met geplitste client en server aspecten. Voor een PC waar maar één gebruiker achter werkt, werken zowel de "client" als de "server" op dezelfde PC (en daardoor is deze client/serverscheiding transparent). X window is zo gemaakt dat de client en de server op aparte machines kunnen draaien. Hierdoor kan een X Window applicatie op een computer op afstand werken terwijl de grafische vensters van dezelfde applicatie kunnen worden getoond op de locale Linux PC.
Netwerken met Linux
Linux PC netwerkcontact met MS-Windows PCs
MS-Windows/Linux bestands/printer delen
Voor het delen van bestanden en printers tussen een MS-Windows en een Linux PC gebruiken de meeste Linux gebruikers het programma samba.
- Samba wiki: Samba
Als Samba is opgestart is het netwerken tussen Windows en Linux (with there being a Linux PC in the Local Area Net (LAN)) voor het grootste gedeelte transparant voor de MS-Windows PC gebruiker. Zo kunnen bestanden en printers worden gedeelt met de standaard bestands- en printmanagers.
Bestanden kunnen ook worden getransporteerd van een Linux PC naar een MS-Windows PC, gebruik makend van KDE & smb (Server Message Block) ondersteund door KDE in het programma Konqueror en vanaf de MS-Windows PC naar de Linux PC, gebruik makend van Secure Copy (scp) of Secure FTP (sftp) via pakketen zoals de WINscp freeware software. In openSUSE is scp niet zo naadloos "geintegreerd" als nfs of samba.
- SCP: http://en.wikipedia.org/wiki/Secure_copy
- SFTP: http://en.wikipedia.org/wiki/SSH_file_transfer_protocol
- SMB: http://nl.wikipedia.org/wiki/Server_Message_Block
Er kunnen ook printers tussen Linux en Windows PCs gedeeld worden met het gebruik van CUPS en/of IPP.
- IPP http://en.wikipedia.org/wiki/Internet_Printing_Protocol
- CUPS: http://en.wikipedia.org/wiki/Common_Unix_Printing_System of http://www.cups.org/ of http://www.answers.com/topic/common-unix-printing-system
Delen tussen Linux-PC's
Linux/Linux bestanden delen
Om bestanden te delen tussen PCs gebruiken de meeste Linux gebruikers het programma Network File System (NFS). Dat programma maakt het mogelijk om bijvoorbeeld een netwerkmap te gebruiken alsof hij gewoon aanwezig is op de locale computer.
In plaats van NFS word er ook wel eens gebruik gemaakt van bestandstransport via ssh (via de “scp”, genoemd hierboven). Een ssh netwerk bestandstransport implementatie is “FIles transferred over SHell” (bekend als “fish”) welke gebruikt kan worden om bestanden tussen Linux PCs te verplaatsen. KDE's Konqueror bestandsbeheerder, Gnome's Nautilus en Midnight Commander bestandsbeheerder ondersteunen “fish” netwerk bestandstransporten gebruik maken van een gebruiksvriendelijke GUI.
En, zoals eerder opgemerkt, SFTP (SSH File Transfer Protocol) kan worden gebruikt voor het overbrengen van bestanden van Linux PC naar Linux PC. De bestandsbeheerders in KDE's Konqueror en Gnome's Nautilus ondersteunen “SFTP” networkbestandsoverdracht met een gebruikersvriendelijke GUI.
Linux Commando Shell op afstand
Met Linux kan een konsole/shell op afstand worden geopend en gebruikt. Dit is mogelijk door applicaties zoals telnet of ssh te gebruiken. ssh voorziet in beter beveiligd datatransport en heeft dus de voorkeur.
Linux' bureaublad op afstand
Er zijn verschillende manieren om een bureaublad op afstand te hebben. Een manier is het gebruik van Virtual Network Computing. (vnc) Hiermee kan een Linux PC vanaf een andere Linux PC of een MS-Windows worden overgenomen. vnc zendt alle toetsenbord- en muisacties van de ene computer naar de andere en stuurt de grafische display weer terug in de andere richting, over een netwerk. Een Linux applicatie die deze functionaliteit ook kan leveren is "x11vnc". Een bureablad op afstand kan worden gebruikt over een lokaal LAN-netwerk of over het internet. In het geval van het gebruik van een "MS-windows" PC om de controle van een Linux pc's Xwindow desktop over te nemen zijn er veel client programma's, waarvan enkele gratis zijn. De vnc wikipedia link hieronder geeft een overzicht van de MS-Windows pakketten.
- vnc: http://en.wikipedia.org/wiki/Virtual_Network_Computing
- x11vnc: http://en.wikipedia.org/wiki/X11vnc
Linux Mappen Structuur
De Linux Mappen Structuur (ook bekend als de bestandssysteem hierarchie standaard, Filesystem Hierarchy Standard): In Linux worden alle bestanden opgeslagen in een mappenstructuur die veel verschilt van die in MS-Windows. Alles in Linux start vanaf de root map (voorgesteld door / ) en het wordt uitgebreid in submappen in plaats van het hebben van schijven zoals is MS-Windows. Linux sorteert mappen aflopend vanaf de root map / , theoretisch gezien naar hoe belangrijk ze zijn in het opstartproces. Normaal gesproken weet het systeem bij het opstarten niets van het bestaan van verschillende partities of apparaten. in plaats daarvan zijn alle verschillende harde schijven en partities naadloos in de linux mappenstructuur geplaatst, transparant voor de gebruiker. Dit is ook bekend als het Unified Filesystem. Meer informatie vind je hier:
- File System Hierarchy: http://en.wikipedia.org/wiki/Filesystem_Hierarchy_Standard
Hardware onder Linux
Ondersteuning voor hardware onder openSUSE varieert. Sommige fabrikanten zorgen voor drivers voor hun hardware, andere niet. In veel gevallen hebben vrije-software enthousiastelingen de Linux drivers voor hun hardware gemaakt en deze beschikbaar gesteld. Omdat sommige fabrikanten gesloten (en dus niet gratis) drivers voor hun hardware hebben, kan het zijn dat een standaard openSUSE installatie deze drivers wel, of niet, standaard aan boord heeft. En daarom geen standaard ondersteuning voor alle hardware. Het kan daarom zijn dat er wat tijd benodigd is voor het afstemmen van openSUSE op de hardware. En uiteraard zijn er mensen die dat niet hoeven te doen. Het hangt er eenvoudigweg vanaf. Het kan bijvoorbeeld zijn dat iemands grafische spullen, audio, wifi en dergelijke meteen werken. Het kan ook niet meteen werken. Normaal gesproken hebben voor nieuwe gebruikers de grafische items, internet en audio prioriteit.
Let bij het kopen van hardware op of de HCL met Linux werkt.
Harde Schijven: Terminologie, Partitie Tabel
In Linux worden de harde schijven anders genoemd dan in MS-Windows. In openSUSE (voor openSUSE 10.3) krijgen EIDE/IDE harde schijven een naam beginnend met “hd” en daarna een letter (bijv: hda, hdb, hdc ... etc ). Een scsi/sata schijf krijgt een naam beginnend met “sd” en een letter (bijv: sda, sdb, sdc ... etc). De verschillende partities op de harde schijven worden genummerd door de naam van de harde schijf te pakken en daar een nummer achter te plakken. (ie hda1, hdb1, hdb2, hdb3, hdc1, sda1, sda2). Een diskette heet meestal fd.
Beginnend met openSUSE 10.3, door middeld van de libata applicatie, krijgen EIDE/IDE harde schijven ook een naam volgens de sda, sdb, etc. conventie.
Het partitioneren van de harde schijven in Linux gebeurd volgens de PC standaard en is niet Linux-specifiek (de partitionering is hetzelfde als in Windows). Elke harde schijf heeft minimaal 1 partitie en moet precies 1 partitietabel hebben. Er kunnen 0 - 4 partities in de tabel worden opgenomen. Dit maximum van 4 partities kan worden verdeeld tussen maximaal 4 primare partities en maximaal 1 uitgebreide partitie. Alle logische partities in de uitgebreide partitie hebben een nummer van 5 of hoger. Hier is een overzicht van hoe normaal gesproken een harde schijf is gepartitioneerd als er een schijf aanwezig is die zowel door Linux als Windows gebruikt wordt:
| Naam | Bestandssysteem type | Grootte | Gebruikt voor | Aankoppelpunt | Notities |
| hda1 | NTFS | 32 GB | Windows OS | /windowc/C | Is verkleind |
| hda2 | NTFS | 8 GB | Windows Restore | Niet aangekoppeld | Is verplaatst |
| hda3 | - | 80 GB | Bevat alle linux bestanden | - | Uitgebreide partitie |
| hda5 | ext3 | 12 GB | Linux OS | / | Logische partitie |
| hda6 | swap | 1 GB | Extension of RAM | - | Logische partitie |
| hda7 | ext3 of reiserfs | 67 GB | Gebruikers bestanden | /home | Logische partitie |
Een meer geavanceerde partitie verdeling (deze keer met de libata naamconventie uit openSUSE 10.3):
| Naam | Bestandssysteem type | Grootte | Gebruikt voor | Aankoppelpunt | Notities |
| sda1 | NTFS | 32 GB | Windows OS | /windows/C | Is verkleind |
| sda2 | NTFS | 8 GB | Windows Restore | Niet aangekoppeld | Is verplaatst |
| sda3 | - | 80 GB | Bevat alle linuxbestanden | - | Uitgebreide partitie |
| sda5 | reiserfs | 14 GB | Linux OS | / | Logische partitie |
| sda6 | reiserfs | 5 GB | Programma's van de gebruiker | /usr/local | Logische partitie |
| sda7 | swap | 2 GB | Swapping | - | Logische partitie |
| sda8 | ext3 of reiserfs | 20 GB | Gebruikers bestanden | /home | Logische partitie |
| sda9 | ext3 of reiserfs | 35 GB | Gebruikers data | /data | Logische partitie |
| sda10 | reiserfs | 4 GB | Encrypted data | /enc (niet standaard aangekoppeld) | Logische partitie |
Nogmaals, voor openSUSE 10.3 en 11.0, de EIDE/IDE harde schijven zijn bekend onder sdx, in tegestelling tot hdx.
Linux-veiligheid
Root / Standaard Linux Gebruiker
In Linux is er een “root” gebruiker (dat is de administrator) en er zijn standaard gebruikers (vaak user genoemd). Linux gebruikers zouden altijd als gewone gebruiker in moeten loggen, en “su” of “sudo” in moeten typen om heel even root te worden om zo belangrijke taken uit te voeren. Indien je standaard inlogt als root, of niet oppast met de root permissies zorgt dit voor een groot beveiligingsrisico voor een nieuwe gebruiker (als hun PC aan het Internet is aangesloten). Het creert ook een werk risico omdat het met root permissies vrij simpel is om je systeem "kapot" te maken: het start niet meer op. Een voorbeeld van zoiets is het in de root-directory zijn met root permissies en het uitvoeren van het volgende commando:
chown -R sammy:users *
Dit zorgt ervoor dat je systeem niet meer op kan starten.
Enkele super gebruiker definities zijn:
- su: (substitute user): http://en.wikipedia.org/wiki/Su_(Unix)
- sudo: http://en.wikipedia.org/wiki/Sudo
- superuser: http://nl.wikipedia.org/wiki/Rootgebruiker
Printen onder Linux
Filosofie van een standaard print formaat
Linux gebruikt een standaard print formaat om de print ondersteuning te vereenvoudigen. Het standaard concept van het print formaat onder Linux is dat een Linux ontwikkelaar zijn programma's maar voor een printtaal hoeft te schrijven (het PostScript formaat) en dat de printer driver (om te werken met Linux) alleen dat formaat hoeft te accepteren en het zo kan veranderen in een taal die die printer verstaat. Dit is erg efficient omdat het zowel de printer fabrikant als de programma ontwikkelaar zo tijd bespaard.
Daarom worden onder Linux normaal gesproken alle printers als PostScript printers gezien, en genereren de meeste applicaties een PostScript bestand. Als een printer PostScript zelf niet snapt (wat meestal zo is) wordt het PostScript bestand door de Linux PostScript interpreter vertaald naar de printer's eigen taa (PCL, ESC/P 2, ... of iets gesloten) met de ondersteuning van de printer driver.
Er is een goede theoretische achtergrond om te printen (gebruik makend van postscript) onder een besturingssysteem zoals Linux hier: http://www.linuxprinting.org/kpfeifle/LinuxKongress2002/Tutorial/III.PostScript-and-PPDs/III.PostScript-and-PPDs.html
- Linux print details: http://www.linux-foundation.org/en/OpenPrinting
- PostScript: http://nl.wikipedia.org/wiki/PostScript
- GhostScript http://nl.wikipedia.org/wiki/Ghostscript
PPD Files/PostScript printers
Er zijn veel Linux programma's die gebruik maken van de PostScript Printer Definitie (PPD) bestanden om erachter te komen wat de printer allemaal kan zodat alle mogelijkheden van de printer in de dialoogvensters met de gebruiker kunnen verschijnen. Daarnaast kan er nog extra printer informatie worden achterhaald. Een PPD is een tekstbestand dat alle mogelijkheden exact beschrijft en aangeeft hoe een bepaalde functie moet worden aangeroepen. Print programma's kunnenn PPDs lezen en weten hoe ze bepaalde mogelijkheden van de printers kunnen benutten en weergeven. Als de gebruiker specifieke keuzes maakt (zoals dubbelzijdig printern) weet het programma welke code het daarvoor moet gebruiken. Daarnaat kunnen PPD bestandn ook gebruikt worden op Windows, Mac of Line Printer Remote / Line Printer Daemon (LPR/LPD) clienten om toegang te krijgen tot de mogelijkheden en opties van de printer.
Normaal gesproken wordt er voor elke printer door de fabrikant 1 PPD gemaakt en beschikbaar gesteld dat alle printerspecifieke bevat. Het Linux print systeem Common Unix Printing System (CUPS) en LPR/LPD ondersteunen deze PPD's standaard terwijl alle andere print systemen gebruik maken van een instelbaar printer filter (Foomatic). Foomatic is een stukje software dat PostScript omzet naar het standaardformaat van de printer, gebruik makend van het PPD bestand als configuratie. Dat maakt een laag-level driver noodzakelijk (specifiek voor elke printer) om de uiteindelijk code te kunnen maken. Meestal maakt foomatic gebruik van ghostscript op de achtergrond, gebruik makend van het PPD bestand van de printen. CUPS indersteunt ook het Internet Print Protocol (IPP) die een standaard protocol definieerd voor printen en het bijhouden van print taken, papiergroottes, resolutie etc.
- PPD: http://en.wikipedia.org/wiki/PostScript_Printer_Description and http://www.linux-foundation.org/en/OpenPrinting/Database/PPDDocumentation
- Foomatic: http://en.wikipedia.org/wiki/Foomatic
- CUPS: http://en.wikipedia.org/wiki/Common_Unix_Printing_System or http://www.cups.org/ or http://www.answers.com/topic/common-unix-printing-system
- LPD/LPR: http://en.wikipedia.org/wiki/Line_Printer_Daemon_protocol
- IPP: http://en.wikipedia.org/wiki/Internet_Printing_Protocol
- Samba hoe-doe-ik op cups-printing: http://samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html
openSUSE print implementatie
Details over de openSUSE specifieke print implementatie kan hier worden gevonden:
LSB (Linux Standard Base) DDK (Driver Development Kit):
Er is nu ontwikkelwerk gaande om distributie-onafhankelijke pakketten voor Linux drivers te maken, genaamd de LSB (Linux Standard Base) DDK (Driver development kit). De bedoeling hiervan is om printermakers (of iedere andere geïnteresseerde) het gemakkelijk te maken hun printer-driver (of een andere driver) beschikbaar te stellen als een distributie-onafhankelijk binair pakket.
Op deze manier kunnen gebruikers gemakkelijk drivers in hun distributie installeren die niet bij hun distributie zit of alleen in de vorm van een oude versie. Er behoeven geen compilers geïnstalleerd te worden en er is geen kennis nodig over hoe de driver te bouwen vanuit de broncode. De bedoeling is dat pakketten gemakkelijk later weer verwijderd kunnen worden.
Ook het volledig automatisch downloaden van deze drivers door setuphulpmiddelen voor printers is gepland bij de ondersteuning. De intentie is dat zodra een setuphulpmiddel voor printers deze functionaliteit bevat het printen gewoon werkt, ook voor printers die niet door de distributie ondersteund worden.
Extra verwijzingen
- Wikibook Linux voor nieuwelingen handleiding: http://en.wikibooks.org/wiki/Linux_For_Newbies (Engels)
- Wikpedia over Linux: http://nl.wikipedia.org/wiki/Linux (Nederlands)




