Het handboek van kdm Oswald Buddenhagen Vertaling van het handboek: Niels Reedijk Vertaler/Nalezer: Natalie Koning Vertaler/Nalezer: Freek de Kruijf
Het handboek van kdm
2
Inhoudsopgave 1
Inleiding
6
2
Snelstartgids
7
3
Het aanmeldscherm
9
4
kdm instellen 4.1 De module ´´Aanmeldscherm´´ in de Systeeminstellingen . . . . . . . . . . . . . . . 4.1.1
Algemeen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1.2
Dialoog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
12
4.1.3
Achtergrond . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
13
4.1.3.1
Geavanceerde opties . . . . . . . . . . . . . . . . . . . . . . . . . .
15
4.1.3.2
Toevoegen, verwijderen en wijzigen van achtergrondafbeeldingen en patronen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
16
4.1.4 4.1.5 4.1.6 4.1.7
Thema . . . . . . . . . . . . . . . . . . . Afsluiten . . . . . . . . . . . . . . . . . . Gebruikers . . . . . . . . . . . . . . . . . Gemak . . . . . . . . . . . . . . . . . . . 4.1.7.1 Automatisch aanmelden . . . 4.1.7.2 Voorgeselecteerde gebruiker 4.1.7.3
5
11 11
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
16 16 17 17 18 18
Aanmelden zonder wachtwoord . . . . . . . . . . . . . . . . . . .
18
De bestanden die door kdm voor de configuratie gebruikt worden
19
5.1
kdmrc - Het belangrijkste configuratiebestand van kdm . . . . . . . . . . . . . . . .
19
5.1.1 5.1.2
20 22
De sectie [General] van kdmrc . . . . . . . . . . . . . . . . . . . . . . . . . . . De sectie [Xdmcp] van kdmrc . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2
5.1.3 De sectie [Shutdown] van kdmrc . . . . 5.1.4 De sectie-klasse [X-*-Core] van kdmrc . 5.1.5 De sectie-klasse [X-*-Greeter] van kdmrc Permanente X-Servers specificeren . . . . . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
. . . .
23 24 30 36
5.3
Beheer van XDMCP-toegang . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
5.4
Aanvullende programma’s . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.4.1
Het Setup-programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.4.2
Het Startup-programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
5.4.3
Het Session-programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
5.4.4
Het Reset-programma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Het handboek van kdm
6
7
Thema’s aanmaken voor de kdm-begroeting
41
6.1 6.2
Thema-overzicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Gedetailleerde omschrijving van het thema-xml-formaat . . . . . . . . . . . . . . .
41 42
6.2.1
Toplevel-node . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
6.2.2 6.2.3
Itemnodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Opmaakcontainer-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42 44
6.2.4 6.2.5 6.2.6
6.2.3.1 Box-nodes . . . . . . . . . . 6.2.3.2 Vaste nodes . . . . . . . . . Positie nodes . . . . . . . . . . . . . Nodes tonen . . . . . . . . . . . . . . Normale/actieve/oplichtend nodes
. . . . .
44 44 45 45 46
6.2.7
Widget-stijl-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
6.2.8
Kleur-nodes voor gezichtsbladerprogramma . . . . . . . . . . . . . . . . . .
48
6.2.9 Text-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.10 Stock-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.2.11 Buddy-nodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
48 48 49
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Uw systeem configureren voor het gebruik van kdm
50
7.1
50
kdm instellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8
Meerdere vensterbeheerders ondersteunen
53
9
kdm gebruiken voor aanmelden op afstand (XDMCP)
55
10 Geavanceerde onderwerpen
56
10.1 Commando-sockets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
56
11 Overige informatiebronnen
60
12 Dankbetuigingen en licentie
61
13 Woordenlijst
62
4
Samenvatting Dit document beschrijft kdm, de Display manager van KDE Display Manager. kdm staat ook wel bekend als het ‘Aanmeldscherm’.
Het handboek van kdm
Hoofdstuk 1
Inleiding kdm biedt een grafische interface om u bij een systeem aan te melden. Het vraagt om de gebruikersnaam en het wachtwoord, bevestigt de identiteit van de gebruiker en start een ‘sessie’. kdm is op een aantal manieren veel beter dan xdm, de X-Display Manager.
6
Het handboek van kdm
Hoofdstuk 2
Snelstartgids Dit is een snelstartgids voor gebruikers die in het volgende profiel passen: • X is geconfigureerd en werkt vanaf de commandoregel met het commando startx. • Iedere gebruiker gebruikt in het algemeen één enkele vensterbeheerder of bureaubladomgeving en verandert de gemaakte keuze niet al te vaak, of vindt het vrij eenvoudig om een enkel tekstbestand te bewerken om de gemaakte keuze te wijzigen Dit scenario voldoet voor veel systemen, waar een enkele gebruiker, of verscheidene gebruikers de computer opstarten en in de bureaubladomgeving van hun keuze werken. 1. Maak of open het bestand ~/.xinitrc Als u al over het bestand ~/.xinitrc beschikt, gaat u door met de volgende stap 2. Voeg een regel toe, als deze er nog niet is, aan het bestand ~/.xinitrc om de vensterbeheerder of bureaubladomgeving van uw keuze te starten. Voor KDE moet u het volgende intypen: startkde
Voor andere vensterbeheerders of bureaubladomgevingen kunt u het beste de betreffende documentatie raadplegen voor het juiste commando. 3. Maak eek koppeling, dit gaat als volgt: ln -s ~/. xinitrc ~/. xsession
Wanneer u nu startx op de commandoregel intypt, moet X opstarten met een KDE-sessie. De volgende taak is: kdm uitproberen. Als root typt u kdm op de commandoregel. U moet nu een aanmeldvenster zien, dit venster wordt uitgebreider beschreven in het gedeelte hoofdstuk 3. Typ uw gewone gebruikersnaam en uw wachtwoord in de daarvoor bestemde velden en laat het sessietype standaard gemarkeerd, er wordt nu een KDE-sessie voor uw gebruiker geopend. Als u nog voor meer gebruikers moet configureren, herhaalt u de procedure voor iedere gebruiker.
7
Het handboek van kdm
OPMERKING Deze korte uitleg is genoeg om u op weg te helpen. U wilt waarschijnlijk kdm verder aanpassen, bijvoorbeeld de namen van de systeem-accounts verbergen, meer sessies toestaan, enzovoort. Verderop in deze handleiding kunt u lezen hoe u dit soort zaken moet doen.
8
Het handboek van kdm
Hoofdstuk 3
Het aanmeldscherm Het gebruikersinterface van kdm bestaat uit dialoogvensters. Het hoofddialoogvenster bevat: • Widgets waarmee u zich kunt authenticeren. Bij de ´´klassieke´´ authenticatiemethode zijn deze: – Een veld Gebruikersnaam: waar u uw gebruikersnaam kunt intypen. – Een veld Wachtwoord: waar u uw wachtwoord kunt intypen. • (Optioneel) een grafische afbeelding van elke gebruiker (bijvoorbeeld een digitale foto). Klikken op een afbeelding staat gelijk aan the typen van de geassocieerde gebruikersnaam in het veld Gebruikersnaam:. • (Optioneel) een veld, rechts van of boven het authenticatiegebeid, om een statische afbeelding of een analoge klok weer te geven. • Een knop Ga! die de gebruikersnaam en het wachtwoord valideert en dan een sessie van het geselecteerde type start. • Een knop Menu die een menu met de volgende items opent: – (Optioneel) Een Sessietype-item om het type te starten sessie te kiezen (bureaubladomgeving, vensterbeheerder). Zie hoofdstuk 8 om uit vinden hoe de verschillende sessietypen in te stellen. – (Optioneel) Een item Authenticatiemethode om te schakelen tussen verschillende authenticatiemethodes zoals de klassieke gebruikersnaam+wachtwoord, smartcard, biometrie, etc. De actuele authenticators zijn combinaties van PAM-modulen en overeenkomstige frontendmodulen (‘conversatie-plugins’). Zie PluginsLogin. – (Optioneel op lokale schermen) Een item Gebruiker wisselen... om te schakelen tussen lokale sessies die draaien op verschillende virtuele terminals van deze computer. – (Optioneel op lokale schermen) Een item X-server herstarten die de draaiende X-Server afsluit, een nieuwe opstart en een nieuw aanmeldscherm weergeeft. Deze optie kunt u gebruiken als het beeld op de een of andere manier vervormd is. – (Optioneel op schermen op afstand) Een item Verbinding verbreken dat de verbinding met de XDMCP-server verbreekt. Als de verbinding tot stand gekomen is door middel van een zogenaamde host-chooser, wordt deze geopend, in alle andere gevallen wordt de X-Server opnieuw gestart en wordt het aanmeldscherm opnieuw geopend. – (Optioneel op lokale schermen) Een item Extern aanmelden die een dialoog toont met een keuze voor hosts met een XDMCP-server waarop men zich kan aanmelden. – (Optioneel op lokale schermen) Een item Console-modus dat de X-Server afsluit en u een commandoregel geeft om u weer aan te melden. kdm Zie ConsoleTTYs en ServerTTY. – (Optioneel) Een knop Afsluiten... die het dialoogvenster Afsluiten opent. 9
Het handboek van kdm
Het dialoogvenster Afsluiten toont een set knoppen waarmee u één van de volgende acties kunt uitvoeren: De computer uitschakelen Sluit het systeem op een gecontroleerde manier af, klaar om de stroom uit te schakelen. Computer herstarten Sluit het systeem af start het weer op. Op systemen die Lilo of Grub gebruiken wordt een lijst getoond waarin u een bepaalde besturingssysteem-kernel kunt kiezen die voor het herstarten gebruikt moet worden. Plannen... Als deze optie is ingeschakeld, zou u het kunnen gebruiken om een meer complexe afsluitdialoog in te gaan. Zie ScheduledSd voor details. Klikken op Annuleren laat u terugkeren naar het hoofdvenster van kdm.
10
Het handboek van kdm
Hoofdstuk 4
kdm instellen In dit hoofdstuk wordt aangenomen dat kdm op uw systeem werkt en dat u het alleen gedrag ervan wilt veranderen. Wanneer kdm start, leest het de configuratie uit de map $KDEDIR /share/config/kdm/ (afhankelijk van het systeem kan dit ook /etc/kde4/kdm/ of nog iets anders zijn). Het belangrijkste bestand is kdmrc;, naar alle andere bestanden wordt vanuit dit bestand verwezen en deze bestanden kunnen onder elke willekeurige naam overal op het systeem opgeslagen zijn - maar in het algemeen is dat vanzelfsprekend niet echt zinvol (één uitzondering kan de verwijzing naar de configuratiebestanden van een geïnstalleerde xdm zijn - wanneer er echter een nieuwe kdm wordt geïnstalleerd, worden de instellingen uit de configuratiebestanden van de geïnstalleerde xdm geïmporteerd). Omdat kdm moet draaien voordat gebruikers zich kunnen aanmelden, is het niet met een bepaalde gebruiker geassocieerd. Daarom is het ook niet mogelijk dat gebruikers eigen configuratiebestanden hebben; voor alle gebruikers gelden de instellingen in de algemene kdmrc. Hieruit volgt dat de configuratie van kdm alleen gewijzigd kan worden door gebruikers met schrijfrechten voor $KDEDIR /share/config/kdm/kdmrc (gewoonlijk beperkt tot systeembeheerders die aangemeld zijn als root). U kunt het bestand kdmrc dat door het systeem gebruikt wordt bekijken en u kunt kdm configureren door dit bestand te bewerken. Hiervoor kunt u ook het grafische hulpmiddel van de Systeeminstellingen gebruiken (de module Aanmeldscherm in de categorie Systeembeheer. In de rest van dit hoofdstuk wordt de configuratie van kdm via het Systeeminstellingen beschreven. In het volgende hoofdstuk worden de beschikbare opties in kdmrc zelf beschreven. Als u alleen voor lokale gebruikers moet configureren, zou de module van Systeeminstellingen voldoende moeten zijn. Als u aanmeldingen op afstand moet configureren of als u meerdere kdmsessies draait zult u verder moeten lezen.
4.1
De module ´´Aanmeldscherm´´ in de Systeeminstellingen
In deze module kunt u kdm, het grafische aanmeldscherm van KDE, configureren. U kunt het uiterlijk wijzigen, bepalen wie er toegang heeft tot het aanmeldscherm en wie het systeem kan uitzetten.
11
Het handboek van kdm
OPMERKING Alle instellingen worden in het configuratiebestand kdmrc weggeschreven. Het oorspronkelijke bestand bevat heel veel commentaren die u kunnen helpen bij de configuratie van kdm. Als u de module van de Systeeminstellingen gebruikt, worden deze commentaren uit het bestand verwijderd. Alle beschikbare opties in kdmrc worden beschreven in hoofdstuk 5. De opties die in dit hoofdstuk vermeld worden hebben een kruisverwijzing naar hun equivalenten in kdmrc. Alle opties die in de module van de Systeeminstellingen beschikbaar zijn, zijn ook direct beschikbaar in kdmrc, maar het omgekeerde is niet altijd waar.
Deze module is in verscheidene secties verdeeld om al deze opties te ordenen: Algemeen, Dialoog, Achtergrond, Thema, Afsluiten, Gebruikers en Gemak. U kunt tussen deze secties heen en weer schakelen door op de tabs bovenin het venster te klikken.
OPMERKING U kunt alleen wijzigingen aanbrengen als u deze module met systeembeheerdersrechten uitvoert.
4.1.1
Algemeen
Eerst krijgt u een afrolmenu om de taal voor het aanmeldscherm kiezen. Deze optie correspondeert met Language in kdmrc. In de sectie Uiterlijk hebt u een optie om kdm te gebruiken in modus met een thema. Als Begroeting met thema gebruiken is geactiveerd, dan kunnen de instellingen op de pagina’s Dialoog en Achtergrond niet apart worden geconfigureerd. De KDE-stijl is afhankelijk van de instellingen die de gebruiker gemaakt heeft; de stijl die door kdm gebruikt wordt, kan geconfigureerd worden met de opties GUI-stijl: en Kleurenschema:. Deze opties corresponderen met GUIStyle en ColorScheme in kdmrc. In de sectie Lettertype op deze pagina kunt u de gebruikte lettertypen wijzigen die in het aanmeldscherm gebruikt worden. In de lijst staan alleen de lettertypen die voor alle gebruikers beschikbaar zijn, geen lettertypen die voor een enkele gebruiker geïnstalleerd zijn. U kunt in deze sectie drie verschillende stijlen voor het lettertype kiezen (Algemeen:, Foutmelding: en Begroeting:). Als u op de knop Kiezen... klikt, verschijnt er een dialoogvenster waarin u het lettertype en de stijl kunt kiezen. • Het lettertype van de optie Algemeen: wordt bijna overal in het aanmeldscherm gebruikt. • Het lettertype van de optie Foutmelding: wordt gebruikt wanneer een aanmelding mislukt. • Het lettertype van de optie Begroeting: wordt in de titelbalk gebruikt (Greeting String). U kunt het keuzevakje Anti-aliasing gebruiken voor tekst markeren als u rafelige tekst in het aanmeldscherm gladder wilt maken.
4.1.2
Dialoog
Op deze pagina kunt u het uiterlijk van kdm, het grafische aanmeldscherm van KDE’s wijzigen in een modus zonder thema. De Begroeting: is de titel van het aanmeldscherm. Het is vooral nuttig om deze optie in te stellen als er veel servers zijn waarop gebruikers zich kunnen aanmelden. U kunt diverse plaatshouders gebruiken, deze worden, met het corresponderende sleutelwoord, beschreven bij de optie Greet String in kdmrc. 12
Het handboek van kdm
Vervolgens kunt u kiezen om of de huidige systeemtijd, of een logo, of niets te laten weergeven. Maak uw keuze door op een radioknop bij Logogebied: te klikken. Dit correspondeert met Logo Area in kdmrc Als u Logo tonen hebt gekozen, kunt u nu een logo uitkiezen: • Sleep met de muis een afbeelding op de afbeeldingknop. • Klik op de afbeeldingknop en kies een afbeelding in het dialoogvenster. Als u geen logo specificeert, wordt het standaardlogo $KDEDIR /share/apps/kdm/pics/kdelogo .xpm gebruikt. Gewoonlijk wordt het aanmeldscherm in het midden van het scherm geplaatst. Sleep het anker als u het op een andere plaats wilt zetten. Met het toetsenbord is ook mogelijk: gebruik de pijltjestoetsen of Home om te centreren. Merk op dat de actuele verhoudingen van de dialoog waarschijnlijk verschillen. Dit correspondeert met het sleutelwoord GreeterPos in kdmrc.
4.1.3
Achtergrond
Hier kunt u de achtergrond van het bureaublad wijzigen die zal worden getoond voordat een gebruiker zich aanmeldt. Selectie van Achtergrond inschakelen stelt u in staat om de opties op dit tabblad te bewerken. Deze pagina bestaat uit drie gebieden: 1. Een gebied voor het bepalen van de achtergrondafbeeldingen 2. De monitor voor het achtergrondvoorbeeld 3. Een gebied voor het bepalen van de achtergrondkleur Monitor voor voorbeeld Dit is een voorbeeldvenster. Het geeft u gevoel voor wat u kunt verwachten met elke wijziging. Achtergrond Deze sectie stelt u in staat om een achtergrondafbeelding te laden bovenop een kleurverloop gekozen in de onderstaande sectie. Er zijn hier drie keuzes beschikbaar: Geen afbeelding Er wordt geen achtergrondafbeelding getoond. De kleur en het patroon, hieronder gekozen, zijn effectief. Afbeelding Een enkele afbeelding zal worden gebruikt als de achtergrond voor de geselecteerde bureaubladen. Hoe dit plaatje wordt gepositioneerd en geschaald kan hieronder fijn worden afgestemd. Diashow KDE stelt u in staat om een automatische diashow van achtergrondafbeeldingen te gebruiken. Om deze optie te gebruiken, drukt u op de knop Instellen.... In de dialoog die volgt kunt u elke afbeelding of map met afbeeldingen kiezen die beschikbaar is op uw computer, door de knop Toevoegen... te gebruiken om door uw bestandssysteem te gaan. Verwijderen zal het huidige geselecteerde item in de lijst verwijderen. U duur van het tonen van een afbeelding in het veld Afbeelding veranderen na: en u kunt kiezen met de knop Afbeeldingen in willekeurige volgorde tonen als u ze niet wilt tonen in de volgorde waarin ze staan. 13
Het handboek van kdm
TIP Een achtergrondafbeelding tonen vereist dat de afbeelding in geheugen wordt gehouden. Als u weinig geheugen hebt, dan is het aanbevolen om een kleine in tegels weergegeven afbeelding of helemaal geen afbeelding te gebruiken. Schalen of het centreren van een kleine afbeelding vereist toch het houden van een afbeelding met de grootte van uw scherm in het geheugen.
Opties P OSITIE : Gecentreerd De afbeelding wordt op het scherm gecentreerd zonder de grootte ervan te wijzigen. De achtergrondkleuren bedekken de ruimte die niet door de afbeelding bedekt wordt. Tegels De afbeelding wordt gedupliceerd, net zo vaak als nodig is om het gehele scherm te bedekken. De eerste afbeelding wordt in de linkerbovenhoek geplaatst en omlaag en naar rechts gedupliceerd. Tegels, gecentreerd De afbeelding wordt gedupliceerd, net zo vaak als nodig is om het gehele scherm te bedekken. De eerste afbeelding wordt in het midden geplaatst en omhoog, omlaag, naar rechts en naar links gedupliceerd. Max. grootte gecentreerd De afbeelding wordt in het midden van het scherm geplaatst en naar de grootte van het scherm geschaald. De beeldverhouding wordt niet gewijzigd, zodat de afbeelding niet vervormd wordt. Max. grootte, getegeld De afbeelding wordt in het midden van het scherm geplaatst en naar de grootte van het scherm geschaald. De beeldverhouding wordt niet gewijzigd, zodat de afbeelding niet vervormd wordt. Als er ruimte over is wordt de afbeelding gedupliceerd. Geschaald De afbeelding wordt naar de grootte van het scherm geschaald en eventueel uitgerekt. Dit kan de afbeelding vervormen. Gecentreerd, autopassend Als de afbeelding op het bureaublad past, dan werkt deze modus als de gecentreerde optie. Als de afbeelding groter is dan het bureaublad dan afgeschaald om te passen terwijl de lengte/breedte-verhouding gehandhaafd blijft. Schalen en bijsnijden Vergroot de afbeelding, zonder het te verstoren, totdat het past op de breedte en hoogte van het bureaublad (indien nodig wordt de afbeelding bijgesneden) en waarna het wordt gecentreerd op het bureaublad. Kleuren: Het eerste afrolvak stelt u in staat om het type kleur, kleurverloop of patroon te kiezen om te tonen onder (of in plaats van) de achtergrondafbeelding.
TIP Als u een afbeelding gaat gebruiken als achtergrondafbeelding, dan kunt u deze sectie van het dialoogvak overslaan. Als de door uw gekozen achtergrondafbeelding niet het gehele bureaublad bedekt dan worden de gekozen kleuren nog steeds getoond in de overblijvende ruimte.
14
Het handboek van kdm
Eenkleurig Bij deze optie kunt u één kleur kiezen door gebruik te maken van de eerste kleurbalk en de gehele achtergrond wordt met deze kleur bedekt. Horizontaal kleurverloop Bij deze optie kiest u twee kleuren (gebruik beide kleurknoppen). KDE begint met de primaire kleur aan de linkerkant van het scherm geselecteerd met de linker knop en verandert deze langzaam in de mengkleur, met de rechter knop geselecteerd, tot de rechterkant van het scherm bereikt is. Verticaal kleurverloop Bij deze optie kiest u twee kleuren (gebruik beide kleurknoppen). KDE begint met de primaire kleur, geselecteerd met de linker knop, aan de bovenkant van het scherm en verandert deze langzaam in de mengkleur, geselecteerd met de rechter knop, tot de onderkant van het scherm bereikt is. Piramidevormig kleurverloop Bij deze optie kiest u twee kleuren (gebruik beide kleurknoppen). KDE begint met de primaire kleur, geselecteerd met de linker knop, in de hoeken van het scherm en verandert deze langzaam in de mengkleur, geselecteerd met de rechter knop, tot het centrum van het scherm bereikt is. Gekruist kleurverloop Als u deze modus kiest, moet u twee kleuren selecteren (door middel van beide kleurknoppen). KDE zal dan met de primaire kleur, geselecteerd met de linker knop, beginnen in elke hoek van het scherm en zal deze langzaam veranderen in de mengkleur, geselecteerd met de rechter knop, naar het centrum van het scherm. De vorm van dit verloop is anders dan het piramideverloop. Ellipsvormig kleurverloop Bij deze optie kiest u twee kleuren (gebruik beide kleurknoppen). KDE begint met de primaire kleur, geselecteerd met de linker knop, in het midden van het scherm en verandert deze langzaam in de mengkleur, geselecteerd met de linker knop, tot de randen van het scherm bereikt zijn in een elliptisch patroon. Patroon
De rest van de lijst bevat de namen van de verschillende patronen of textures die u kunt kiezen. Voor meer over patronen, zie de sectie Toevoegen, verwijderen en wijzigen van patronen. Selecteer de primaire kleur met de eerste kleurbalk. Als u een patroon met twee in te stellen kleuren hebt gekozen dan kan de tweede kleur ingesteld worden door de bijbehorende knop in te drukken. Vermenging: Het afrolvak met het label Vermenging: bevat de opties om een gladde overgang (menging) van de achtergrondafbeelding naar de achtergrond te maken. 1. Een afrolvak stelt u in staat om de vermengingsmodus te selecteren. Veel van de modi zijn gelijk aan de vermengingsmodi voor achtergrondkleuren. Selecteer uw modus uit de lijst en het voorbeeldvenster toont u hoe het er uit gaat zien. 2. De Balans schuifregelaar past het mengen aan. Het resultaat is onmiddellijk in het voorbeeldvenster te zien. 3. De Rollen omkeren kan de rol van de afbeelding en de achtergrond omdraaien voor sommige typen van vermenging. 4.1.3.1
Geavanceerde opties
Onder de voorbeeldmonitor is een knop met het label Geavanceerde opties. Om een extern programma te gebruiken om de achtergrond van KDE te bepalen en te wijzigen, selecteer gewoon Gebruik het volgende programma voor het maken van de achtergrond. Beschikbare KDE-programma’s worden getoond, selecteer er een om te gebruiken. 15
Het handboek van kdm
4.1.3.2
Toevoegen, verwijderen en wijzigen van achtergrondafbeeldingen en patronen
Er is een knop onder de voorbeeldmonitor met label Nieuwe achtergrondafbeeldingen ophalen die u helpt om nieuwe achtergrondafbeeldingen op te halen vanaf een selectie van populaire afbeeldingen uit de website KDE-Look. U kunt natuurlijk elke afbeelding die u beschikbaar hebt als achtergrondafbeelding gebruiken en het kan zijn opgeslagen in elke locatie op uw harde schijf. Om een achtergrondafbeelding automatisch getoond te krijgen in de lijst voor alle gebruikers, dan zou u het moeten opslaan in de map $KDEDIR /share/wallpapers. Een patroon is een afbeeldingsbestand die KDE gebruikt als een sjabloon om uw achtergrond te maken. Het afbeeldingsbestand levert de vormen, maar KDE levert de kleuren. KDE bevat verschillende patronen en u kunt ook nieuwe patronen toevoegen. Om een nieuw patroon toe te voegen dat voor elke gebruiker beschikbaar is, zet het bestand eenvoudig in $KDEDIR /share/apps/kdm/patterns/ . Kopieer een .desktop-bestand uit deze map en geeft het dezelfde naam als het afbeeldingsbestand van uw nieuwe patroon. Wijzig de inhoud zodat het voldoet aan uw nieuwe patroon. Om een nieuw patroon voor een enkele gebruiker toe te voegen, voeg dan de bestanden toe aan $KDEHOME /share/apps/kdm/patterns/ . Voor de beste resultaten zou het patroon een grijs PNG-bestand moeten zijn.
4.1.4
Thema
Deze pagina bestaat uit drie secties: Een lijst met geïnstalleerde thema’s, waaruit u diegene selecteert die u wilt gebruiken. Een schermafbeelding met een voorbeeld van het geselecteerd thema en extra informatie zoals Copyright en Beschrijving. Drie knoppen om een thema te installeren of te verwijderen en een knop voor de dialoog Vers van de pers waar u nieuwe thema’s kunt downloaden.
OPMERKING De instellingen op deze pagina zijn alleen beschikbaar voor een modus met een thema.
4.1.5
Afsluiten
Toestemming voor afsluiten Kies in de keuzelijst wie er toestemming heeft om het systeem af te sluiten: • Niemand: Niemand kan de computer met behulp van kdm afsluiten. U moet aangemeld zijn en een commando uitvoeren. • Iedereen: iedereen kan de computer met behulp van kdm afsluiten. • Alleen root: kdm vereist dat het root-wachtwoord ingetypt wordt voordat de computer afgesloten kan worden. U kunt voor Lokaal: en Op afstand: apart instellen wie toestemming heeft om het systeem af te sluiten.. Commando’s Typ het precieze afsluit-commando in deze tekstvelden. Het commando Halt: is standaard /sbin/halt. Het commando Herstarten: is standaard /sbin/reboot. Wanneer Bootmanager is ingesteld op Grub of Lilo, dan zal kdm bij een herstart u opties bieden voor deze bootmanagers. Opmerking: deze optie is niet in alle besturingssystemen beschikbaar. 16
Het handboek van kdm
4.1.6
Gebruikers
Hier kunt u instellen hoe de gebruikers in het aanmeldscherm gerepresenteerd worden. Onafhankelijk van de gebruikers die u bij naam gespecificeerd hebt, kunt u de UID’s van het systeem gebruiken om een bereik van geldige UID’s te specificeren die in de lijst getoond moeten worden. Standaard worden gebruikers-id’s onder de 1000, wat vaak systeem- of daemongebruikers zijn, en boven de 30000, niet getoond. U kunt de lijst van gebruikers in kdm geheel uitschakelen in het gedeelte Gebruikers. U kunt kiezen uit: Lijst tonen Toont alleen de gebruikers die u in de lijst ernaast niet hebt uitgesloten Als u dit keuzevakje niet activeert, wordt er geen lijst getoond. Dit is de veiligste instelling, omdat een computerkraker dan zowel een geldige gebruikersnaam als een wachtwoord moet raden. Het is ook de beste keuze als er veel gebruikers in de lijst staan, waardoor de lijst nogal omslachtig wordt. Automatisch aanvullen Als deze optie is geselecteerd zal kdm automatisch gebruikersnamen aanvullen terwijl ze worden ingetypt in het invoerveld. Selectie inverteren Stelt u in staat om de gebruikers selecteren die in de lijst moeten komen, alle andere gebruikers worden niet in de lijst opgenomen. U kunt de optie Gebruikers sorteren inschakelen om de lijst op alfabetische volgorde te sorteren. Als deze optie uitgeschakeld is, wordt de volgorde uit het wachtwoordbestand gebruikt. kdm vult gebruikersnamen automatisch aan als u de optie Auto-aanvulling inschakelt. Als u instelt dat gebruikers getoond worden, laat het aanmeldscherm afbeeldingen (die u eerder geselecteerd hebt) van de gebruikers zien. Om aan te melden kan een gebruiker zijn naam of afbeelding kiezen en het wachtwoord intypen. Als u een gebruikersafbeelding toestaat, kunt u de Afbeeldingsbron voor gebruiker configureren. Hier kunt u opgeven waar kdm afbeeldingen vandaan zal halen die de gebruikers representeren. Systeem representeert de globale map; dit zijn de afbeeldingen die u hieronder kunt instellen. Gebruiker betekent dat kdm het bestand $HOME /.face.icon van de gebruiker zal lezen. De twee selecties in het midden bepalen welke volgorde gehanteerd wordt als beide bronnen beschikbaar zijn. Als u instelt dat gebruikers niet getoond worden, ziet het aanmeldscherm er wat traditioneler uit. Gebruikers moeten hun naam en wachtwoord intypen om toegang te krijgen. Dit is de manier die de voorkeur heeft als er veel gebruikers op deze terminal zijn.
4.1.7
Gemak
Op het tabblad Gemak kunt u enkele opties instellen, zoals automatisch aanmelden of wachtwoorden uitschakelen, om het leven van luie mensen wat gemakkelijker te maken,
BELANGRIJK Voordat u deze opties gebruikt, kunt u er beter nog eens goed over nadenken. Elke optie op het tabblad Gemak is uitstekend geschikt om de beveiliging van het systeem te schaden. In de praktijk komt het erop neer dat deze opties alleen in een totaal niet-kritieke omgeving gebruikt kunnen worden, bijv. een privécomputer thuis (zonder aansluiting op het internet).
17
Het handboek van kdm
4.1.7.1
Automatisch aanmelden
Automatisch aanmelden geeft iedereen, zonder enige verificatie, toegang tot een bepaalde account op uw systeem. U kunt dit instellen met de optie Automatisch aanmelden activeren. U kunt het account, dat gebruikt moet worden voor automatisch aanmelden, in de lijst Gebruiker: kiezen. Met Sessie vergrendelen zal de automatisch gestarte sessie zal onmiddellijk worden vergrendeld (alleen van toepassing op KDE-sessies). Dit kan worden gebruikt om een supersnelle aanmelding te krijgen die beperkt is tot één gebruiker. Automatisch aanmelden kan onderdrukt worden door de Shift-toets onmiddellijk nadat de XServer naar grafische modus schakelt in te drukken en los te laten wanneer de zandlopercursor van kdm verschijnt. 4.1.7.2
Voorgeselecteerde gebruiker
U kunt ook instellen welke gebruiker al ‘voorgeselecteerd’ is wanneer kdm start. De standaard is Geen, maar u kunt Vorige kiezen, kdm selecteert dan de gebruiker die zich als laatste succesvol heeft aangemeld. U kunt een bepaalde gebruiker die altijd geselecteerd wordt Specificeren. U kunt ook instellen dat kdm de focus in het tekstvak ´´Wachtwoord´´ plaatst, zodat na het verschijnen van het aanmeldscherm, het wachtwoord direct ingetypt kan worden. 4.1.7.3
Aanmelden zonder wachtwoord
Met deze optie kunt u bepaalde gebruikers toestemming geven om zich zonder een wachtwoord aan te melden. U kunt dit inschakelen bij Aanmelden zonder wachtwoord activeren. Onder deze optie staat een lijst van de gebruikers. Markeer het keuzevakje naast de gebruikersnaam om deze optie voor die gebruiker te activeren. Standaard is dit voor alle gebruikers uitgeschakeld.
BELANGRIJK Ook hier geldt weer dat deze optie alleen in een veilige omgeving gebruikt kan worden. Als u de optie op een publiek systeem inschakelt, zorg er dan voor dat alleen gebruikers met zeer beperkte rechten, bijv. guest, zich zonder wachtwoord kunnen aanmelden.
Met de optie Opnieuw aanmelden wanneer de X-server onverwacht wordt beëindigd kunt u de verificatie overslaan na een crash van de X-server.
18
Het handboek van kdm
Hoofdstuk 5
De bestanden die door kdm voor de configuratie gebruikt worden In dit hoofdstuk worden de bestanden beschreven die het gedrag van kdm besturen. Een aantal opties kunnen ook in de Systeeminstellingen-module ingesteld worden, maar niet allemaal.
5.1
kdmrc - Het belangrijkste configuratiebestand van kdm
De basisopmaak van het bestand lijkt op ‘INI-bestanden’. Opties zijn paren van sleutel/waarde, onderverdeeld in secties. Alle tekst in het bestand is hoofdlettergevoelig. Syntactische fouten en sleutel/sectie identifiers die niet herkend worden hebben tot gevolg dat kdm niet-fatale foutmeldingen geeft. Regels die met # beginnen zijn commentaren; lege regels worden ook genegeerd. Secties worden aangegeven door [Naam van sectie]. U kunt elke X-display individueel configureren. Elke display heeft een display-naam, die uit een host-naam (die leeg is voor lokale displays die in StaticServers of ReserveServers gespecificeerd zijn), een dubbele punt en een display-nummer. Bovendien behoort een display tot display-klasse (die in de meeste gevallen genegeerd kan worden). Secties met display-specifieke instellingen hebben de formele syntax [X- host [ : number [ _ cla ss ] ] - sub-section ] Alle secties met dezelfde sub-section vormen tezamen een sectie-klasse. U kunt het jokerteken * gebruiken (komt overeen met elk willekeurig teken) voor host, number , en class. U kunt erna komende componenten weglaten; er wordt aangenomen dat die dan * zijn. Het host-deel kan een domein-specificatie als .inf.tu-dresden.de zijn of het jokerteken + (komt overeen met niet-lege plaatsen). Deze regels bepalen vanuit welke sectie de instelling feitelijk overgenomen wordt: • Een exacte overeenkomst heeft voorrang op een gedeeltelijke overeenkomst (voor het hostdeel), die weer voorrang heeft op een jokerteken. (+ heeft voorrang op *). • Voorrang neemt af van links naar rechts voor precies gelijke overeenkomsten. • Voorbeeld: display name ‘myhost.foo:0’, klasse ‘dpy’ – [X-myhost.foo:0_dpy] heeft voorrang op 19
Het handboek van kdm
– – – – – – – – –
[X-myhost.foo:0_*] (hetzelfde als [X-myhost.foo:0]) heeft voorrang op [X-myhost.foo:*_dpy] heeft voorrang op [X-myhost.foo:*_*] (hetzelfde als [X-myhost.foo]) heeft voorrang op [X-.foo:*_*] (hetzelfde als [X-.foo]) heeft voorrang op [X-+:0_dpy] heeft voorrang op [X-*:0_dpy] heeft voorrang op [X-*:0_*] (hetzelfde als [X-*:0]) heeft voorrang op [X-*:*_*] (hetzelfde als [X-*]). Deze secties komen niet overeen met deze display: [X-hishost], [X-myhost.foo:0_dec], [X-*:1], [X-:*]
Algemeen gebruikte secties zijn [X-*] (alle displays), [X-:*] (alle lokale displays) en [X-:0] (de eerste lokale display). De indeling van alle sleutels is key = value. Sleutels zijn alleen geldig in de sectie-klasse waarvoor ze gedefinieerd zijn. Sommige sleutels worden niet toegepast op bepaalde displays, in dat geval worden ze genegeerd. Als een instelling niet gevonden wordt in een bijbehorende sectie, wordt de standaard gebruikt. Speciale tekens moeten worden voorafgegaan door een backslash (spaties aan het begin en aan het eind van de regel (\s), tab (\t), nieuwe regel (\n), regelterugloop (\r) en de backslash zelf (\\)). In lijsten worden velden gescheiden door komma’s zonder spaties ertussen. Sommige commando-strings worden op een vereenvoudigde sh-manier gesplitst: enkele aanhalingstekens (’) en dubbele aanhalingstekens (´´) hebben de gangbare betekenis; de backslash haalt alles aan (niet alleen speciale tekens). Opmerking: de backslashes moeten verdubbeld worden vanwege de twee aanhalings-niveaus.
OPMERKING Een onaangeroerd kdmrc-bestand is voorzien van uitgebreide commentaren. Alle commentaren gaan verloren als u dit bestand met Systeeminstellingen wijzigt.
5.1.1
De sectie [General] van kdmrc
Deze sectie bevat globale opties die niet in een specifieke sectie passen. ConfigVersion Deze optie is er alleen om nette automatische upgrades mogelijk te maken. Wijzig dit in geen geval, u zou toekomstige upgrades in de war kunnen gooien en het resultaat kan zijn dat kdm niet meer werkt. StaticServers Lijst van displays (X-Servers) die permanent door kdm beheerd worden. Displays met een host-naam zijn ´´vreemde´´ displays, waarvan verwacht wordt dat ze al draaien, de andere zijn lokale displays waarvoor kdm een eigen X-Server start; zie ServerCmd. Elke display kan aan een display-klasse behoren; u kunt dit aan de display-naam toevoegen, gescheiden door een underscore. Zie Section 5.2 voor de details. De standaard is ‘:0’. ReserveServers Lijst van displays op aanvraag. Zie StaticServers voor de syntax. Standaard leeg 20
Het handboek van kdm
ServerVTs Lijst van Virtual Terminals om aan X-Servers toe te wijzen. Bij negatieve getallen wordt de absolute waarde gebruikt, de VT wordt alleen toegewezen als de kernel aangeeft dat deze vrij is. Als kdm deze lijst overschrijdt, worden vrije VTs toegewezen die een hogere waarde hebben dan de laatste absolute waarde in de lijst. Op dit moment alleen voor Linux. Standaard leeg ConsoleTTYs Deze optie is voor besturingssystemen (OS-en) met ondersteuning voor virtuele terminals (VT’s), zowel door kdm als de OS zelf. Op dit moment geldt dit alleen voor Linux. Wanneer kdm overschakelt naar de console-modus, begint het alle TTY’s te monitoren (zonder de voorafgaande /dev/ ). Als er geeneen gedurende een bepaalde tijd actief is, schakelt kdm terug naar het X-aanmeldscherm. Standaard leeg PidFile De gespecificeerde bestandsnaam wordt aangemaakt en bevat dan een ASCII-representatie van het proces-ID van het hoofdproces van kdm; de PID wordt niet opgeslagen als de bestandsnaam leeg is. Standaard leeg LockPidFile Deze optie bepaalt of kdm bestandsvergrendeling gebruikt om te voorkomen dat meerdere display managers met elkaar botsen. De standaard is ‘true’. AuthDir Deze optie geeft een naam aan de directory waarin kdm X-Server-autorisatie-bestanden opslaat bij het initialiseren van de sessie. kdm verwacht dat het systeem tijdens het rebooten verouderde bestanden uit deze directory verwijdert. Het autorisatie-bestand, dat voor eenm bepaalde display gebruikt moet worden, kan gespecificeerd worden met de optie AuthFile in [X-*-Core]. De standaard is ‘/var/run/xauth’. AutoRescan Deze booleaanse waarde bepaalt of kdm automatisch zijn configuratie-bestanden herleest als deze gewijzigd zijn. De standaard is ‘true’. ExportList Aanvullende omgevingsvariabelen die kdm mee moet geven aan alle programma’s die het draait. LD_LIBRARY_PATH en XCURSOR_THEME zijn goede kandidaten; overigens zou dit niet vaak nodig moeten zijn. Standaard leeg RandomFile Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie RandomDevice) heeft, en er geen entropie-daemon, zoals EGD (zie PrngdSocket en PrngdPort) draait, valt kdm terug op zijn eigen pseudo-random-getallen generator die, onder andere, achtereenvolgens delen van dit bestand een checksum geeft (die vanzelfsprekend regelmatig gewijzigd moet worden). Deze optie is niet beschikbaar op Linux en diverse BSD’s. De standaard is ‘/dev/mem’.
21
Het handboek van kdm
PrngdSocket Als het systeem geen eigen entropiebron, zoals /dev/urandom (zie RandomDevice) heeft, worden willekeurige gegevens van een Pseudo-Random Number Generator Daemon, zoals EGD (http://egd.sourceforge.net) via deze UNIX-domain-socket gelezen. Deze optie is niet beschikbaar op Linux en diverse BSD’s. Standaard leeg PrngdPort Hetzelfde als PrngdSocket, maar gebruikt een TCP-socket op localhost. RandomDevice Het pad naar een character-device waarvanaf kdm de willekeurige gegevens moet lezen. Leeg betekent dat het geprefereerde entropy-device van het systeem gebruikt wordt, als dat er is. Deze optie is niet beschikbaar op OpenBSD, dit gebruikt in plaats daarvan de functie arc4_random. Standaard leeg FifoDir De map waarin de commando-sockets aangemaakt moeten worden; laat dit leeg om deze uit te schakelen. De standaard is ‘/var/run/xdmctl’. FifoGroup De groep waartoe het globale commando-socket moet behoren; kan zowel een naam als een numerieke ID zijn. GreeterUID De gebruiker waaronder de greeter moet draaien. Leeg resulteert in root. Kijk goed naar de impact op LogSource bij het instellen. Standaard leeg DataDir De directory waarin kdm blijvende werkgegevens moet opslaan; zulke gegevens zijn bijvoorbeeld: de vorige gebruiker die zich op een bepaalde display aangemeld had. De standaard is ‘/var/lib/kdm’. DmrcDir De directory waarin kdm de .dmrc-bestanden van gebruikers moet opslaan. Dit is alleen nodig als de home-directory’s niet gelezen kunen worden voordat de aanmelding plaats vindt (zoals met AFS). Standaard leeg
5.1.2
De sectie [Xdmcp] van kdmrc
Deze sectie bevat opties die bepalen hoe kdm XDMCP-aanvragen behandelt. Enable Bepaalt of kdm naar binnenkomende XDMCP-aanvragen luistert. De standaard is ‘true’. Port Dit duidt het nummer van de UDP-port aan die kdm gebruikt om naar binnenkomende XDMCP-aanvragen te luisteren. Als u het systeem moet debuggen kunt u dit veranderen, anders kunt u het beter op de standaardwaarde laten. De standaard is ‘177’. 22
Het handboek van kdm
KeyFile XDMCP-authenticatie op de manier van XDM-AUTHENTICATION-1 vereist dat een privésleutel gedeeld wordt door kdm en de terminal. Deze optie specificeert het bestand met deze waarden. Elk item in het bestand bestaat uit een display-naam en de gedeelde sleutel. Standaard leeg Xaccess Om ongeautoriseerd XDMCP-service te voorkomen en om XDMCP-IndirectQuery aanvragen te kunnen doorsturen, bevat dit bestand een database met host-namen die of directe toegang hebben tot deze computer, of een lijst met hosts hebben waar de aanvragen naar doorgestuurd moeten worden. De indeling van het bestand wordt beschreven in Section 5.3. De standaard is ‘${kde_confdir}/kdm/Xaccess’. ChoiceTimeout Het aantal seconden dat gewacht moet worden tot de display reageert nadat de gebruiker een host uit de chooser gekozen heeft. Als de display binnen deze tijd een XDMCPIndirectQuery stuurt, wordt de aanvraag doorgestuurd naar de gekozen host; anders wordt er aangenomen dat dit een nieuwe sessie is en wordt de chooser opnieuw getoond. De standaard is ‘15’. RemoveDomainname Wanneer de display-naam voor XDMCP-clients berekend wordt, creëert de name-resolver in de regel een volledig gekwalificeerde host-naam voor de terminal. Omdat dit soms verwarrend kan zijn, verwijdert kdm, als deze optie ingeschakeld is, het domein-naam deel van de host-naam als deze hetzelfde is als de domein-naam van de lokale host. De standaard is ‘true’. SourceAddress Gebruikt het numerieke IP-adres van de inkomende verbinding op multihomed hosts in plaats van de host-naam. Dit wordt gedaan om te voorkomen dat geprobeerd wordt een verbinding te maken met de verkeerde interface, die op dat moment uit kan staan. De standaard is ‘false’. Willing Dit specificeert een programma dat gedraaid wordt (als root) wanneer een XDMCPDirectQuery of BroadcastQuery ontvangen wordt en deze host geconfigureerd is om XDMCP-display-management te bieden. De output van dit programma kan in een chooservenster getoond worden. Als er geen programma gespecificeerd is, wordt de string ‘Willing to manage’ verstuurd. Standaard leeg
5.1.3
De sectie [Shutdown] van kdmrc
Deze sectie bevat globale opties met betrekking tot systeem-shutdown (afsluiten van het systeem). HaltCmd Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te stoppen of geheel uit te schakelen. De standaard is een commando dat gangbaar is voor het systeem waarop kdm gecompileerd werd, bijvoorbeeld /sbin/shutdown -h now .
23
Het handboek van kdm
RebootCmd Het commando (de woorden in deze string worden, indien nodig, gesplitst) dat gedraaid wordt om het systeem te rebooten. De standaard is een commando dat gangbaar is voor het systeem waarop kdm gecompileerd werd, bijvoorbeeld /sbin/shutdown -r now . AllowFifo Bepaalt of het toegestaan is om het systeem af te sluiten door middel van het globale commando-socket. De standaard is ‘false’. AllowFifoNow Bepaalt of het toegestaan is om actieve sessies af te breken wanneer het systeem uitgeschakeld wordt door middel van het globale commando-socket. Dit heeft alleen effect als AllowFifo ingeschakeld is. De standaard is ‘true’. BootManager De boot-manager die kdm moet gebruiken om boot-opties te tonen in het dialoogvenster dat bij het afsluiten verschijnt. None
geen boot-manager Grub
Grub boot-manager Grub2
Grub2 boot-manager Lilo
Lilo boot-manager (alleen bij Linux op i386 & x86-64) De standaard is ‘None’.
5.1.4
De sectie-klasse [X-*-Core] van kdmrc
Deze sectie-klasse bevat opties met betrekking tot de configuratie van de kdm-backend (core). OpenDelay Zie OpenRepeat. De standaard is ‘15’. OpenTimeout Zie OpenRepeat. De standaard is ‘120’. OpenRepeat Deze opties besturen het gedrag van kdm wanneer geprobeerd wordt verbinding met een X-Server te maken. OpenDelay is de lengte van de pauze (in seconden) tussen opeenvolgende pogingen, OpenRepeat is het aantal pogingen dat gedaan wordt en OpenTimeout bepaalt hoe lang een poging om verbinding te maken duurt. Nadat OpenRepeat pogingen zijn gedaan, of als OpenTimeout seconden zijn verstreken bij een bepaalde poging, wordt de poging als mislukt beschouwd. De standaard is ‘5’.
24
Het handboek van kdm
StartAttempts Bepaalt hoe vaak kdm moet proberen om een vreemde display, die vermeld is in StaticSe rvers, te starten, voordat de pogingen gestaakt worden en de optie uitgeschakeld wordt. Lokale displays worden eenmaal geprobeerd, XDMCP-displays worden eindeloos door de client geprobeerd (behalve als de optie -once aan de X-Server was gegeven). De standaard is ‘4’. ServerAttempts Bepaalt hoe vaak kdm moet proberen om een lokale X-Server op te starten. Opstarten houdt in dat er gewacht wordt tot deze draait. De standaard is ‘1’. ServerTimeout Bepaalt hoeveel seconden kdm moet wachten tot een lokale X-Server draait. De standaard is ‘30’. ServerCmd De commandorehel om de X-Server te starten, zonder schermnummer en VT spec. Merk op dat met sommige X-Servers (speciaal die van OpenSolaris) het nodig is om additionele argumenten in ServerArgsLocal en ServerArgsRemote te zetten zelfs als ze hetzelfde zijn voor beide. Deze tekenreeks is onderworpen aan woord splitsen. De standaard is een gangbaar commando voor het systeem waarop kdm gecompileerd werd, bijvoorbeeld /usr/X11R6/bin/X. ServerArgsLocal Additionele argumenten voor de X-Servers voor lokale sessies. De woorden in deze string worden, indien nodig, gesplitst. Standaard leeg ServerArgsRemote Aanvullende argumenten voor de X-Servers voor sessies op afstand. De woorden in deze string worden, indien nodig, gesplitst. Standaard leeg ServerVT De VT waarop de X-Server moet draaien. In plaats van deze optie kunt u beter ServerVTs gebruiken. Laat de waarde op nul staan om kdm automatisch een VT toe te wijzen. Zet de waarde op -1 om te voorkomen dat er een VT toegewezen wordt - dit is vereist voor systemen met meerdere consoles. Op het moment alleen voor Linux. ServerTTY Deze optie is voor OS-en (besturingssystemen) die geen ondersteuning hebben voor VT’s, noch door kdm of het OS zelf. Op het moment geldt dit voor alle OS-en, uitgezonderd Linux. Wanneer kdm overschakelt naar de console-modus, begint het deze TTY (zonder de voorafgaande /dev/ ) te monitoren. Als er gedurende een bepaalde tijd geen activiteit is, schakelt kdm terug naar het X-aanmeldscherm. Standaard leeg ServerUID De gebruiker waaronder de X-Server zou moeten draaien. Leeg resulteert in root. Standaard leeg PingInterval Zie PingTimeout. De standaard is ‘5’.
25
Het handboek van kdm
PingTimeout Om te weten wanneer displays op afstand uitvallen, pingt kdm ze regelmatig. PingInterval specificeert de tijd (in minuten) tussen de pings en PingTimeout specificeert de maximale tijd (in minuten) die gewacht wordt tot de terminal het signaal beantwoordt. Als de terminal niet antwoordt, wordt de sessie dood verklaard en beëindigd. Als u vaak X-terminals gebruikt die geïsoleerd kunnen raken van de beherende host, kunt u de timeout wellicht verlengen. Het enige probleem dat kan ontstaan is dan dat sessies blijven bestaan nadat de terminal per ongeluk uitgeschakeld werd. De standaard is ‘5’. TerminateServer Bepaalt of kdm de lokale X-Server nadat een sessie afgesloten is, moet herstarten in plaats van te resetten. Gebruik deze optie als de X-Server geheugenlekken heeft of het systeem laat crashen bij pogingen om te resetten. De standaard is ‘false’. Authorize Bepaalt of kdm autorisatie voor local X-Server-verbindingen genereert en gebruikt. Voor XDMCP-displays wordt de vraag om autorisatie, dat de display doet, gebruikt; vreemde, niet-XDMCP-displays ondersteunen geen enkele vorm van autorisatie. De standaard is ‘true’. AuthNames Als de waarde van de optie Authorize waar is, worden de autorisatie-mechanismen die hier vermeld staan gebruikt. De autorisatie MIT-MAGIC-COOKIE-1 is altijd beschikbaar; XDMAUTHORIZATION-1, SUN-DES-1 en MIT-KERBEROS-5 kunnen ook beschikbaar zijn, afhankelijk van de configuratie. De standaard is ‘DEF_AUTH_NAME’. ResetForAuth Sommige oude X-Servers herlezen het autorisatie-bestand als de X-Server ge-reset wordt, in plaats van te controleren of de aanvankelijke verbinding succesvol was. Daar kdm de autorisatie-gegevens vlak voor de verbinding met de display tot stand komt, genereert, krijgt een oude X-Server geen bijgewerkte informatie over de autorisatie. Deze optie laat kdm een SIGHUP naar de X-Server sturen nadat het bestand gemaakt is, hierdoor wordt de X-Server ge-reset en gedurende de reset wordt de informatie over de autorisatie gelezen De standaard is ‘false’. AuthFile De commandoregel-optie -auth van de X-Server gebruikt dit bestand om de autorisatiegegevens van kdm naar de X-Server door te geven. Het bestand kan het beste opgeslagen worden in een directory waarvoor niet iedereen schrijfrechten heeft, dit om te voorkomen dat het bestand verwijderd wordt, waardoor het autorisatie-mechanisme in de X-Server uitgeschakeld wordt. Als er geen naam gespecificeerd is, wordt een willekeurige naam gegenereerd uit de AuthDir en de naam van het display. Standaard leeg Resources Deze optie specificeert de naam van het bestand, dat door xrdb als de bronnendatabase op het root-venster van scherm 0 van de display geladen moet worden. KDE-programma’s gebruiken in het algemeen geen X-systeembronnen, deze optie is daarom alleen noodzakelijk als het programma Setup X-systeembronnen nodig heeft. Standaard leeg Xrdb Het programma xrdb dat gebruikt moet worden om het bestand met de de Xsysteembronnen te lezen, dit bestand wordt gespecificeerd in Recources. Het commando wordt, indien nodig, gesplitst. De standaard is ‘${x_bindir}/xrdb’. 26
Het handboek van kdm
Setup Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als root) gedraaid wordt, voordat het begroetingsvenster verschijnt. Dit kan gebruikt worden om het uiterlijk van het scherm te wijzigen of om andere vensters te openen (u wilt hier bijvoorbeeld een xconsole draaien). Gewoonlijk wordt hier een script met de naam Xsetup gebruikt. Zie Section 5.4.1. Standaard leeg Startup Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als root) gedraaid wordt, nadat de gebruiker succesvol is aangemeld. Gewoonlijk wordt hier Xstartup als naam voor een bestand gebruikt. Zie Section 5.4.2. Standaard leeg Reset Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt een programma gespecificeerd dat (als root) gedraaid wordt, nadat de sessie wordt beëindigd. Gewoonlijk wordt hier het script met de naam Xreset gebruikt. Zie Section 5.4.4. Standaard leeg Session Deze tekenreeks wordt, indien nodig, gesplitst. Hiermee wordt het sessie-programma dat uitgevoerd moet worden (als de gebruiker die eigenaar van de sessie is) gespecificeerd. Gewoonlijk wordt hier een script genaamd Xsession gebruikt. Zie Section 5.4.3. De standaard is ‘${x_bindir}erm -ls -T’. FailsafeClient Als het progamma Session niet uitgevoerd kan worden, valt kdm terug op dit programma. Dit programma wordt zonder argumenten , maar met dezelfde omgevingsvariabelen als de sessie zou hebben, uitgevoerd (zie Section 5.4.3). De standaard is ‘${x_bindir}erm’. UserPath De omgevingsvariabele PATH voor niet-root Sessions. De standaard is afhankelijk van het systeem waarop kdm gecompileerd werd. SystemPath De omgevingsvariabele PATH voor alle programma’s, uitgezonderd niet-root Sessions. Opmerking: Het is een goede gewoonte om . (de huidige directory) in dit item op te nemen. De standaard is afhankelijk van het systeem waarop kdm gecompileerd werd. SystemShell De omgevingsvariabele SHELL voor alle programma’s, uitgezonderd de Session. De standaard is ‘/bin/sh’. UserAuthDir Wanneer kdm niet naar het standaard autorisatie-bestand van de gebruiker ($HOM E/.Xauthority) kan schrijven, creëert het een uniek bestand in deze directory en verwijst de omgevingsvariabele XAUTHORITY naar dat bestand. De standaard is ‘/tmp’. ForceUserAuthDir Indien waar, UserAuthDir zal zonder voorwaarde wordem gebruikt. De standaard is ‘false’.
27
Het handboek van kdm
AutoReLogin Als deze optie ingeschakeld is, herstart kdm automatisch een sessie na een X-Server-crash (of na uitschakelen met Alt-Ctrl-BackSpace). Opmerking: Het inschakelen van deze functie is een veiligheidsrisico: een veilige display-vergrendeling kan gekraakt worden (behalve als de ingebouwde schermvergrendeling van KDE gebruikt wordt). De standaard is ‘false’. AllowRootLogin Als deze optie uitgeschakeld is, hebben root (en iedere andere gebruiker met UID = 0) geen toestemming om zich rechtstreeks aan te melden. De standaard is ‘true’. AllowNullPasswd Als deze optie uitgeschakeld is, kunnen alleen gebruikers die een wachtwoord hebben zich aanmelden. De standaard is ‘true’. AllowShutdown Bepaalt wie toestemming heeft om het systeem af te sluiten. Dit heeft betrekking op zowel het begroeting- als op de commando-socket. None
het optie Afsluiten... wordt niet in het venster getoond Root
het wachtwoord van root moet ingetypt worden om af te kunnen sluiten All
iedereen kan de computer uitschakelen De standaard is ‘All’. AllowSdForceNow Bepaalt wie toestemming heeft om actieve sessies af te breken bij het afsluiten. None
er is totaal geen toestemming om afsluiten te kunnen forceren Root
het wachtwoord van root moet ingetypt worden om afsluiten te kunnen forceren All
iedereen het kan het afsluiten van de computer forceren De standaard is ‘All’. DefaultSdMode De standaardkeuze voor voorwaarden/tijdstip om af te sluiten. Schedule
afsluiten nadat alle actieve sessies beëindigd zijn (indien mogelijk direct) TryNow
afsluiten als er geen actieve sessies open zijn, anders niets doen ForceNow
onvoorwaardelijk afsluiten De standaard is ‘Schedule’. ScheduledSd Bepaalt hoe geplande afsluitopties aangeboden worden: Never
helamaal niet 28
Het handboek van kdm
Optional
als knop in het eenvoudige afsluitvenster Always
in plaats van de eenvoudige afsluitvensters De standaard is ‘Never’. NoPassEnable Maakt aanmeldingen zonder wachtwoord op deze display mogelijk. Wees hier zeer voorzichtig mee! De standaard is ‘false’. NoPassUsers Bepaalt welke gebruikers zich zonder wachtwoord kunnen aanmelden. Items die voorafgegaan worden door @: alle gebruikers in de gebruikersgroep met die naam. *: alle gebruikers, uitgezonderd root (en iedere andere gebruiker met UID = 0). Zet root nooit in deze lijst. Standaard leeg AutoLoginEnable Schakelt automatisch aanmelden in. Wees hier zeer voorzichtig mee! De standaard is ‘false’. AutoLoginAgain Als deze optie ingeschakeld is, volgt na afmelden een automatische aanmelding. Als de optie uitgeschakeld is, volgt automatisch aanmelden alleen wanneer een display-sessie gestart wordt. De standaard is ‘false’. AutoLoginDelay De wachttijd in seconden voordat de automatische aanmelding plaats vindt. Dit heet ook wel ‘Timed Login’. AutoLoginUser Specificeert de naam van de gebruiker die automatisch aangemeld wordt. Specificeer hier nooit root! Standaard leeg AutoLoginPass Specificeert het wachtwoord voor de gebruiker die automatisch aangemeld wordt. Dit is niet vereist, met uitzondering van gebruikers die in een NIS of Kerberos-domein aangemeld zijn. Als u deze optie gebruikt, moet u vanzelfsprekend het commando chmod 600 kdmrc uitvoeren. Standaard leeg AutoLoginLocked Bepaalt dat de automatisch gestarte sessie onmiddellijk vergrendeld wordt. Dit werkt alleen met KDE-sessies. De standaard is ‘false’. SessionsDirs Een lijst met mappen die definities van sessie-typen bevatten. Geordend volgens afnemende prioriteit. De standaard is ‘${kde_datadir}/kdm/sessions’. ClientLogFile Het bestand (relatief tot uw persoonlijke map) om de sessieuitvoer naar om te leiden. De volgende tekenparen worden vervangen door hun waarde: 29
Het handboek van kdm
%d
naam van het huidige scherm %u
aanmeldnaam van de hudige gebruiker %r
eerst leeg. Zie hieronder. %%
een enkele % Wanneer de geconstrueerde bestandsnaam niet veilig kan worden gebruikt en de specificatie bevat een %ietsr, dan worden andere namen geprobeerd - deze keer wordt %ietsr naar vervangen door iets gevolgd door een willekeurig getal. De standaard is ‘.xsession-errors’. ClientLogFallback Terugval wanneer ClientLogFile niet worden gebruikt. Dezelfde vervangingen worden ondersteund. Gebruik hier geen relatieve paden. De standaard is ‘/tmp/xerr-%u-%d%-r’. UseSessReg Specificeert of kdm’s ingebouwde registratie in utmp/wtmp/lastlog gebruikt moet worden. Zo niet, dan moet het commando sessreg in de Startup- en Reset-scripts gebruikt worden, of anders, moet de pam_lastlog-module gebruikt worden op systemen waarop PAM ingeschakeld is. De standaard is ‘true’.
5.1.5
De sectie-klasse [X-*-Greeter] van kdmrc
Deze sectie-klasse bevat opties met betrekking tot de configuratie van de kdm-frontend (greeter). GUIStyle Specificeert de widget-stijl voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, Oxygen-air. Standaard leeg ColorScheme Specificeert de widget-kleurschema voor het begroetingsvenster. Leeg betekent dat de ingebouwde standaard gebruikt wordt, Oxygen-air. Standaard leeg LogoArea Bepaalt wat er in het venster, rechts van de input-regels (als UserList uitgeschakeld is) of erboven (als UserList ingeschakeld is): None
nothing Logo
de afbeelding die gespecificeerd is door LogoPixmap Clock
een handige analoge klok De standaard is ‘Clock’. LogoPixmap De afbeelding die in het venster getoond wordt als LogoArea Logo is. Standaard leeg 30
Het handboek van kdm
GreeterPos De relatieve coördinaten (percentages van de schermafmetingen; X,Y) waar het midden van het venster geplaatst wordt. kdm lijnt het venster uit aan de randen van het scherm als het er buiten zou vallen. De standaard is ‘50,50’. GreeterScreen Bepaalt op welk scherm het venster weergegeven moet worden op systemen met meerdere monitors en op Xinerama-systemen. De nummering begint bij 0. Voor Xinerama geldt dat het correspondeert met de lijstvolgorde in de actieve ServerLayout-sectie van XF86Config; -1 betekent dat het scherm linksboven gebruikt wordt, -2 betekent dat het scherm rechtsboven gebruikt wordt. GreetString De kopregel in het venster. Een lege string betekent geen kopregel. De volgende tekenparen worden vervangen dor hun waarde: %d
naam van de huidige display %h
lokale host-naam, eventueel met de domeinnaam %n
lokale node-naam, hoogstwaarschijnlijk de host-naam zonder de domein-naam %s
besturingssysteem %r
versienummer van het besturingssysteem %m
hardware-type %%
een enkele % De standaard is ‘Welcome to %s at %n’. AntiAliasing Bepaalt of anti-aliasing op de lettertypen in het venster toegepast moet worden. De standaard is ‘false’. GreetFont Het lettertype voor de kopregel in het begroetingsvenster. De waarde is gecodeerd. De standaard is ‘Serif 20pt vet’. StdFont Het normale lettertype in het begroetingsvenster. De waarde is gecodeerd. De standaard is ‘Sans Serif 10pt’. FailFont Het lettertype dat voor de foutmelding ‘Aanmelden mislukt’ gebruikt wordt. De waarde is gecodeerd. De standaard is ‘Sans Serif 10pt vet’. NumLock Bepaalt wat er met de NumLock gedaan moet worden gedurende de tijd dat het begroetingsvenster geopend is: Off
uitzetten 31
Het handboek van kdm
On
aanzetten Keep
niets veranderen De standaard is ‘Keep’. Language Bepaalt de taal- en de landinstellingen voor het begroetingsvenster, gecodeerd als $LANGUA GE. Indien leeg, wordt de instelling uit de omgeving gebruikt. Standaard leeg UserCompletion Schakelt automatisch aanvullen in het tekstvak van de gebruikersnaam in. De standaard is ‘false’. UserList Toont een gebruikerslijst met unix-login-namen, echte namen en afbeeldingen in het venster. De standaard is ‘true’. ShowUsers Deze optie bepaalt welke gebruikernamen in de lijst voorkomen (UserList) en/of de naam automatisch aangevuld wordt (UserCompletion). Bij Selected bevat SelectedUsers de uiteindelijke lijst met gebruikers. Bij NotHidden bevat de lijst aanvankelijk alle gebruikers die in het systeem gevonden worden. Gebruikers die vermeld zijn bij HiddenUsers worden uit de lijst verwijderd, net als alle gebruikers met een hogere UID dan gespecificeerd is bij MaxShowUID en gebruikers met een lagere UID (maar geen nul) dan gespecificeerd is bij MinShowUID. Items bij SelectedUsers en HiddenUsers die voorafgegaan worden door @ representeren alle gebruikers in de gebruikersgroep met die naam. De gebruikerslijst wordt alfabetisch gesorteerd als SortUsers ingeschakeld is. De standaard is ‘NotHidden’. SelectedUsers Zie ShowUsers. Standaard leeg HiddenUsers Zie ShowUsers. Standaard leeg MinShowUID Zie ShowUsers. MaxShowUID Zie ShowUsers. De standaard is ‘65535’. SortUsers Zie ShowUsers. De standaard is ‘true’. FaceSource Als UserList ingeschakelkd is, specificeert deze optie waar kdm de afbeeldingen vandaan haalt. AdminOnly
uit
/$USER.face[.icon] PreferAdmin
de voorkeur is , terugvallen op $HOME 32
Het handboek van kdm
PreferUser
... en andersom UserOnly
uit de gebruikers $HOME /.face[.icon] De afbeeldingen kunnen elk bestandstype hebben dat door Qt herkend wordt, maar de bestandsnamen moeten aan de verwachtingen van kdm voldoen: .face.icon moet een pictogram van 48x48 zijn, terwijl .face een afbeelding van 300x300 moet zijn. Op dit moment wordt de grote afbeelding alleen (verkleind) gebruikt als er geen pictogram is, maar in de toekomst wordt het misschien in het logogebied of in een helpballon weergegeven. Om toegankelijk te zijn voor kdm, moeten de afbeeldingen leesbaar zijn voor de iedereen en de mappen waarin ze verblijven moet voor iedereen executable zijn. De standaard is ‘AdminOnly’. FaceDir Zie FaceSource. De standaard is ‘${kde_datadir}/kdm/faces’. PreselectUser Specificeert of er een gebruiker, en zo ja, welke gebruiker, voorgeselecteerd moet worden om zich aan te melden: None
geen gebruiker voorselecteren Vorige
de gebruiker die zich de laatste keer succesvol heeft aangemeld Default
de gebruiker die bij de optie DefaultUser gespecificeerd is Als de optie FocusPasswd ingeschakeld is en er een gebruiker voorgeselecteerd is, wordt de cursor automatisch in het wachtwoordveld geplaatst.
OPMERKING Inschakelen dat een gebruiker voorgeselecteerd wordt, kan een veilgheidsrisico zijn, omdat een mogelijke kraker een geldige gebruikersnaam te zien krijgt en er ‘alleen’ een wachtwoord geraden hoeft te worden. Aan de andere kant is het mogelijk om bij de optie DefaultUser een niet-bestaande gebruikersnaam in te vullen.
De standaard is ‘None’. DefaultUser Zie PreselectUser. Standaard leeg FocusPasswd Zie PreselectUser. De standaard is ‘false’. EchoPasswd Als dit waar is dan worden ingevoerde wachtwoorden geëchood als punten. Anders wordt er geen terugkoppeling gegeven. De standaard is ‘true’. UseBackground Als deze optie ingeschakeld is, start kdm automatisch het programma krootimage om de achtergrond in te stellen; anders wordt de achtergrond ingesteld door het programma Set up. De standaard is ‘true’. 33
Het handboek van kdm
BackgroundCfg Het configuratiebestand dat door krootimage gebruikt wordt. Het bevat een sectie [Deskt op0] net als in kdesktoprc. Deze opties worden hier niet besschreven; u kunt de betekenis raden of het configuratiecentrum gebruiken. De standaard is ‘${kde_confdir}/kdm/backgroundrc’. GrabInput Om de veiligheid te vergroten, kan de begroetingspagina de invoer van muis en toetsenbord pakken zodat geen andere X-clients deze kan afluisteren. Hoewel, het Xauthorisatiemechanisme gewoonlijk zal voorkomen dat foute X-clients überhaupt een verbinding kunnen maken. Het gevolg is dat locale schermen pakken geen zin heeft en alleen marginaal de beveiliging verbeterd wordt voor schermen op afstand.
OPMERKING Het pakken van de muis maakt een toetsenbord op het scherm onbruikbaar.
Never
nooit pakken IfNoAuth
pakken als een scherm op afstand geen X-autorisatie vereist Always
altijd pakken De standaard is ‘IfNoAuth’. GrabServer Om de veiligheid te verbeteren pakt het begroetingsvenster bij het opstarten de X-Server en daarna de invoer. Deze optie specificeert of de X-Server gepakt blijft gedurende het lezen van de gebruikersnaam en het wachtwoord. Als de optie uitgeschakeld is, wordt de X-Server losgelaten zodra de invoer gepakt wordt; anders wordt de X-Server losgelaten net voordat de sessie begint.
OPMERKING Als deze optie ingeschakeld wordt, worden de opties UseBackground en Setup uitgeschakeld.
De standaard is ‘false’. GrabTimeout Deze optie specificeert hoe lang kdm maximaal wacht tot het vasthouden gelukt is. Vasthouden kan mislukken als een andere X-client de X-Server of het toetsenbord vasthoudt, of als het netwerk traag reageert. Wees voorzichtig met het verlengen van de time-out, een gebruiker kan bedrogen worden door een nep-venster op de display. Als het vashouden mislukt, sluit kdm de X-Server af en herstart hem (indien mogelijk) en de sessie. De standaard is ‘3’. AuthComplain Geeft een waarschuwing als een display geen X-autorisatie heeft. Dit kan komen doordat • het autorisatie-bestand voor een lokale X-Server niet gecreëerd kon worden, • een display op afstand via XDMCP geen autorisatie heeft aangevraagd of • de display een ‘vreemde’ display is, die gespecificeerd is bij StaticServers. De standaard is ‘true’.
34
Het handboek van kdm
LoginMode Specificeert of het begroetingsvenster van lokale displays in host chooser-modus (op afstand) of login-modus (lokaal) moet opstarten en of het toegestaan is naar de andere modus over te schakelen. LocalOnly
alleen lokale aanmelding is mogelijk DefaultLocal
start in lokale modus, het is toegestaan om naar de modus op afstand over te schakelen DefaultRemote
... en andersom RemoteOnly
alleen de keuze van een host op afstand is mogelijk De standaard is ‘LocalOnly’. ChooserHosts Een lijst met hosts die aautomatisch aan het aanmeldmenu worden toegevoegd. De speciale naam * betekent broadcast. Heeft geen effect als de optie LoginMode LocalOnly is. de standaard is ‘*’. ForgingSeed Gebruik dit getal als beginwaarde voor een serie willekeurige getallen bij het vervalsen van opgeslagen sessie-typen, enzovoort, van onbekende gebruikers. Dit wordt gedaan om te voorkomen dat een kraker, door terug te redeneren, iets te weten komt over bestaande gebruikers. Deze waarde moet willekeurig zijn, maar constant binnen het aanmelddomein. ShowLog Schakelt het ingebouwde commando xconsole van kdm in. Deze optie kan alleen voor één display tegelijk ingeschakeld worden. Bovendien is deze optie alleen beschikbaar als kdm ge-configured is met de optie --enable-kdm-xconsole. De standaard is ‘false’. LogSource De gegevensbron voor het ingebouwde commando xconsole van kdm. Als de waarde leeg is, wordt doorsturen van een console-log aangevraagd van /dev/console. Heeft geen effect als de optie ShowLog uitgeschakeld is. Standaard leeg PluginsLogin Specificeert de gesprek-plugins voor het aanmeldvenster; aanvankelijk wordt de eerste in de lijst geselecteerd. Elke plugin kan gespecificeerd worden als een basisnaam (die wordt uitgebreid tot $kde_modulesdir /kgreet_base) of met het volledige pad. Gesprek-plugins zijn modules voor het begroetingsvenster die de authenticatie-gegevens van de gebruiker opvragen. Op dit moment wordt alleen de plugin classic met KDE meegeleverd; deze plugin levert de bekende tekstvelden voor gebruikersnaam en wachtwoord. De standaard is ‘classic’. PluginsShutdown Hetzelfde als PluginsLogin, maar dan voor het afsluitvenster. De standaard is ‘classic’. PluginOptions Een lijst met opties met de indeling Sleutel=Waarde. De gesprek-plugins kunnen deze instellingen opvragen, het is afhankelijk van de plugins wat de mogelijke sleutels zijn. Standaard leeg 35
Het handboek van kdm
AllowConsole Toont de actie Console aanmelding in het begroetingsvenstr (als de optie ServerTTY/Cons oleTTYs geconfigureerd is). De standaard is ‘true’. AllowClose Toont de actie X-Server herstarten/Verbinding sluiten in het begroetingsvenster. De standaard is ‘true’. Preloader Een programma dat gedraaid wordt terwijl het begroetingsvenster zichtbaar is. Het is bedoeld om tevoren al zo veel mogelijk te laden van de sessie die (hoogstwaarschijnlijk) gestart gaat worden. Standaard leeg UseTheme Of het begroetingsvenster met thema wilt gebruiken. Merk op dat de begroeting met thema vanwege zijn toegankelijkheid onder vuur ligt en thema’s mogelijk geen ondersteuning hebben voor functies zoals een gebruikerslijst of alternatieve authenticatiemethoden. De standaard is ‘false’. Theme Het thema dat voor het venster gebruikt moet worden. Dit kan naar een directory of een XML-bestand wijzen. Standaard leeg AllowThemeDebug Schakel de Alt-Ctrl-D sneltoets in om het debugging-thema van het begroetingsscherm om te schakelen. De standaard is ‘false’.
5.2
Permanente X-Servers specificeren
Elk item in de lijst StaticServers geeft een display aan die constant beheerd moet worden en die geen XDMCP gebruikt. Deze methode wordt in de regel alleen gebruikt voor lokale X-Servers die door kdm gestart worden, maar kdm kan ook ‘vreemde’ X-Servers (die extern opgestart zijn) beheren, of ze nu op de lokale of op een andere computer draaien. De formele syntax van een specificatie is display name [ _display class ]
voor alle X-Servers. ‘Vreemde’ displays zijn afwijkend, deze hebben een host-naam in de displaynaam, dit kan localhost zijn. De display-naam moet iets zijn dat in de optie -display aan een X-programma doorgegeven kan worden. Deze string wordt gebruikt om de display-specifieke sectie-naam te genereren, let er dus op dat de namen overeenkomen. De display-naam van XDMCP-displays wordt afgeleid van het adres van de display door de host-naam te ´´vertalen´´. Voor configuratie-doeleinden wordt het voorvoegsel localhost van lokale XDMCP-displays niet verwijderd om ze van lokale X-Servers, die door kdm gestart, zijn te onderscheiden. Het deel display-klasse wordt ook in de display-specifieke secties gebruikt. Dit is nuttig als u een grote hoeveelheid gelijksoortige displays (zoals een serie X-terminals) hebt, en opties voor een hele groep tegelijk wilt instellen. Wanneer de display XDMCP gebruikt, moet deze de display-klasse specificeren, de handleiding voor deze bepaalde X-terminal moet dus de string
36
Het handboek van kdm
van de display-klasse voor het device beschrijven. Als dit niet het geval is, kunt u kdm in debugmodus draaien en het commando grep op het logbestand loslaten om de ‘class’ te vinden. De displays die gespecificeerd is bij ReserveServers wordt niet gestart wanneer kdm opstart, maar wanneer er expliciet om gevraagd wordt via de commando-socket. Als er reserve displays gespecificeerd zijn, heeft het KDE-menu onderin een item Nieuwe sessie starten; dit kunt u gebruiken om een reserve-display met een nieuwe sessie te activeren. De monitor schakelt over naar de nieuwe display en u hebt een minuut de tijd om u aan te melden. Als er geen reservedisplays meer beschikbaar zijn, wordt het menu-item uitgeschakeld. Wanneer kdm een sessie start, worden de autorisatie-gegevens voor de X-Server ingesteld. Voor lokale servers geeft kdm de optie -auth filename door aan de commandoregel van de X-Server om deze naar de autorisatie-gegevens te wijzen. Voor XDMCP-displays geeft kdm autorisatiegegevens door aan de X-Server via het bericht ‘Accept’ van XDMCP.
5.3
Beheer van XDMCP-toegang
Het bestand dat gespecificeerd wordt door de optie AccessFile levert informatie die kdm gebruikt om toegang te beheren van displays die diensten aanvragen via XDMCP. Het bestand bevat vier typen items: items die het antwoord op ‘Direct’- en ‘Broadcast’-aanvragen beheren, items die het antwoord op ‘Indirect’-aanvragen beheren, macro-definities en items die bepalen op welke netwerk-interfaces kdm naar XDMCP-aanvragen luistert. Lege regels worden genegeerd, # wordt als het begin van een commentaar beschouwd, waardoor de rest van die regel genegeerd wordt, door \ wordt een onmiddellijk daaropvolgende nieuwe regel genegeerd, waardoor lijsten met hosts uit meerdere regels kunnen bestaan. De indeling van de ‘Direct’-items is eenvoudig, een host-naam of een patroon dat vergeleken wordt met de host-naam van het display-device. Als alternatief kan een macro gebruikt worden om het item te laten overeenkomen met alles waar de macro door wordt vervangen. Patronen worden onderscheiden van host-namen doordat er één of meer meta-tekens in voorkomen; * komt overeen met een reeks van 0 of meer tekens, en ? komt overeen met een willekeurig teken. Als het item een host-naam is, wordt deze vergeleken met netwerkadressen, elke willekeurige naam die in het juiste netwerkadres omgezet kan worden, kan dus gebruikt worden. Houd er rekening mee dat alleen het eerste geretourneerde netwerkadres voor een host-naam gebruikt wordt. Patronen worden alleen met ´´echte´´ host-namen vergeleken, gebruik dus geen aliassen. Host-namen van XDMCP-aanvragen bevatten altijd de lokale domeinnaam, zelfs als na omgekeerd terugzoeken een korte naam gevonden wordt, u kunt dus patronen gebruiken voor het lokale domein. Als een item voorafgegaan wordt door het teken !, worden hosts die met dat item overeenkomen uitgesloten. Het laten voorafgaan door een = heeft geen effect maar is vereist wanneer een macro wordt gespecificeerd om het item te onderscheiden van een macrodefinitie. Om alleen op ‘Direct’-aanvragen voor een host of patroon te antwoorden, kan het optionele sleutelwoord NOBROADCAST eraan toegevoegd worden. Dit kan gebruikt worden om te voorkomen dat er een kdm-server in menu’s, die gebaseerd zijn op ‘Broadcast’-aanvragen, verschijnt. Een ‘Indirect’-item bevat ook een host-naam, macro of patroon, maar wordt gevolgd door een lijst met host-namen of macro’s waarnaar de aanvragen moeten worden doorgestuurd. ‘Indirect’items kunnen ook adressen uitsluiten, in dat geval moet een (geldige) dummy host-naam gegeven worden om het item te onderscheiden van een ‘Direct’-item. Als er met IPv6-ondersteuning gecompileerd is, kunnen multicast adresgroepen in de adressenlijst, waar de aanvragen naar doorgestuurd worden, opgenomen worden. Als de indirecte host-lijst het sleutelwoord CHOOSER bevat, worden ‘Indirect’-aanvragen niet doorgestuurd, in plaats daarvan wordt een dialoogvenster, de host chooser, door kdm geopend. De chooser stuurt een ‘Direct’-aanvraag naar elk van de resterende host-namen in de lijst en geeft een menu met alle hosts die antwoorden. De hostlijst kan het sleutelwoord BROADCAST bevatten, om de chooser ook een ‘Broadcast’-aanvraag te laten versturen. Opmerking: op sommige besturingssystemen kunnen UDP-pakketten niet gebroadcast worden, in dat geval werkt deze functie niet. Bij het controleren van de toegang voor een bepaalde display-host, wordt elk item bekeken en het eerste overeenkomende item bepaalt het antwoord. ‘Direct’- en ‘Broadcast’-items worden genegeerd wanneer naar een ‘Indirect’-item gezocht wordt, en omgekeerd. 37
Het handboek van kdm
Een macro-definitie bevat een macro-naam en een lijst met host-namen en andere macro’s waar de macro naar uitgebreid wordt. Om macro’s van host-namen te onderscheiden, begint een macro-naam met het teken %. Het laatste itemtype is de LISTEN-richtlijn. De formele syntax is LISTEN [ interface [ multicast list ]]
Als er één of meer regels bij LISTEN gespecificeerd zijn, luistert kdm alleen naar XDMCPaanvragen op de gespecificeerde interfaces. interface kan een host-name of IP-adres zijn dat een netwerk-interface op deze computer representeert of het jokerteken * dat alle beschikbare netwerk-interfaces representeert. Als er multicast-groep-adressen op een LISTEN-regel vermeld worden, maakt kdm verbinding met de multicast-groepen op de gegeven interface. Voor IPv6multicasts heeft de IANA ff0X :0:0:0:0:0:0:12b toegewezen als het permanent toegewezen bereik van multicast-adresen voor XDMCP. De X in het voorvoegsel kan vervangen worden door elke geldige scope-identifier, zoals 1 voor Node-Local, 2 voor Link-Local, 5 voor Site-Local, enzovoort (zie IETF RFC 2373 of het vervangende document voor verdere details en scope-definities). kdm luistert standaard naar het Link-Local scope-adres ff02:0:0:0:0:0:0:12b om zo goed mogelijk het gedrag van IPv4-subnet-broadcast te laten overeenkomen. Als er geen LISTEN-regels ingevuld zijn, luistert kdm op alle interfaces en maakt verbinding met de standaard XDMCP IPv6-multicast-groep (wanneer gecompileerd is met IPv6-ondersteuning). Om het luisteren naar XDMCP-aanvragen helemaal uit te schakelen, kan een LISTEN-regel zonder adressen gespecificeerd worden, maar de optie [Xdmcp] Enable heeft de voorkeur.
5.4
Aanvullende programma’s
De volgende programma’s worden door kdm gedraaid in de diverse stadia van een sessie. In de regel zijn dit shell-scripts. De programma’s Setup, Startup en Reset worden als root gedraaid, ze moeten dus voorzichtig met de beveiligin omgaan. Het eerste argument dat aan deze programma’s meegegeven wordt, is auto als de sessie het resultaat is van automatische aanmelding; in alle andere gevallen worden er geen argumenten meegegeven.
5.4.1
Het Setup-programma
Het programma Xsetup wordt gedraaid nadat de X-Server gestart of ge-reset is, maar voordat het begroetingsvenster geopend is. Dit is de aangewezen plaats om de root-achtergrond te wijzigen (als UseBackground uitgeschakeld is) of om een ander venster te openen dat samen met het begroetingsvenster moet verschijnen. Hulpmiddelen voor dit programma kunnen in het bestand genaamd Resources worden gezet. In aanvulling op de omgevingsvariabelen die door ExportList gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven: DISPLAY de naam van de geassocieerde display PATH de waarde van SystemPath SHELL de waarde van SystemShell XAUTHORITY kan naar een autorisatie-bestand wijzen 38
Het handboek van kdm
DM_CONTROL de waarde van FifoDir
OPMERKING GrabInput kan er voor zorgen dat kdm het toetsenbord en de muis pakt, waardoor andere vensters geen invoer kunnen ontvangen. Als GrabServer is ingesteld, zal Xsetup helemaal niet in staat zijn om een verbinding met het scherm te maken.
5.4.2
Het Startup-programma
Het programma Xstartup wordt als root gedraaid wanneer de gebruiker zich aanmeldt. Dit is de aangewezen plaats voor commando’s die items toevoegen aan utmp (het programma sessreg kan hier nuttig zijn), voor het aankoppelen van home-directory’s van bestandsservers, of om de sessie af te breken als er niet aan alle vereisten voldaan is (maar op de meeste moderne systemen worden de meeste van deze taken gedaan door de PAM-modules). In aanvulling op de omgevingsvariabelen die door ExportList gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven: DISPLAY de naam van de geassocieerde display HOME de aanvankelijke werk-directory van de gebruiker LOGNAME de gebruikersnaam USER de gebruikersnaam PATH de waarde van SystemPath SHELL de waarde van SystemShell XAUTHORITY kan naar een autorisatie-bestand wijzen DM_CONTROL de waarde van FifoDir kdm; wacht tot dit programma stopt, daarna wordt de sessie van de gebruiker gestart. Als de stop-waarde van dit programma niet-nul is, breekt kdm de sessie af en begint een nieuwe authenticatie-cyclus.
39
Het handboek van kdm
5.4.3
Het Session-programma
Het programma Xsession wordt als de sessie van de gebruiker gedraaid. Het draait met de toegangsrechten van de gemachtigde gebruiker. Als eerste argument wordt één van de sleutelwoorden failsafe, default of custom meegegeven, of een string waar een Bourne-compatibele shell het commando eval op uitvoert. In aanvulling op de omgevingsvariabelen die door ExportList gespecificeerd zijn, worden de volgende omgevingsvariabelen doorgegeven: DISPLAY de naam van de geassocieerde display HOME de aanvankelijke werk-directory van de gebruiker LOGNAME de gebruikersnaam USER de gebruikersnaam PATH de waarde van UserPath (of SystemPath voor root gebruikers-sessies) SHELL de standaard shell van de gebruiker XAUTHORITY hiervoor kan een niet-standaard autorisatie-bestand gebruikt worden KRBTKFILE hiervoor kan een Kerberos4 credentials-cache-naam gebruikt worden KRB5CCNAME hiervoor kan een Kerberos5 credentials-cache-naam gebruikt worden DM_CONTROL de waarde van FifoDir XDM_MANAGED bevat een door komma’s gescheiden lijst met parameters die interessant kunnen zijn voor de sessie, zoals welke gesprek-plugin voor de aanmelding werd gebruikt DESKTOP_SESSION de naam van de sessie die de gebruiker heeft gekozen
5.4.4
Het Reset-programma
Het programma Xreset wordt, symmetrisch met het programma Xstartup, gedraaid nadat de sessie is afgesloten. Het wordt gedraaid als root, het moet daarom commando’s bevatten die de effecten van de commando’s in Xstartup ongedaan maken, items uit utmp verwijderen of directory’s van bestands-servers ontkoppelen. De omgevingsvariabelen die aan Xstartup werden doorgegeven, worden ook doorgegeven aan Xreset.
40
Het handboek van kdm
Hoofdstuk 6
Thema’s aanmaken voor de kdm-begroeting Deze sectie beschrijft het aanmaken van thema’s voor de greeter met thema’s. Voor voorbeelden inclusief schermafdrukken, zie de geïnstalleerde standaard thema’s en de thema’s van de themawebsite.
6.1
Thema-overzicht
kdm-thema’s kunnen worden aangemaakt door een XML-bestand aan te maken die de specificatie volgt in $KDEDIR /share/apps/doc/kdm/greeter.dtd. Thema-bestanden worden opgeslagen in de map $KDEDIR /share/apps/kdm/themes/ thema_naam. De thema-map zou een bestand genaamd KdmGreeterTheme.desktop moeten bevatten die hetzelfde formaat heeft als andere .desk top-bestanden en er uit ziet als: [ KdmGreeterTheme ] Greeter = cirkels . xml Name = Cirkels Description = Thema met blauwe cirkels Author = Bond , James Bond Copyright =( c) 2002 Bond , James Bond Screenshot = schermafdruk . png
De Name, Description, Author en Copyright velden kunnen in de lokale taal worden ingevuld zoals in andere .desktop-bestanden. Alle genoemde bestanden zouden zich in de thema-map zelf moeten bevinden. Het Screenshot veld wijst naar een bestand dat een schermafbeelding zou moeten zijn van 200x150 van het thema in actie (het is OK er geen te hebben, maar het is mooier voor de gebruiker). Het Greeter-item wijst naar een XML-bestand dat de beschrijving bevat van het thema. Als een thema uiteindelijk volledig is getest, dan maakt u een tarball die de map bevat zoals het zou worden geïnstalleerd in de map $KDEDIR /share/apps/kdm/themes. Dit is het standaard formaat voor het distribueren van kdm-thema’s.
41
Het handboek van kdm
6.2
Gedetailleerde omschrijving van het thema-xml-formaat
6.2.1
Toplevel-node
kdm thema’s zijn XML-bestanden met de -tag aan hun oorsprong. De toplevel-node is een item-node van het type rect met een impliciete vaste indeling. xml version ="1.0" encoding =" UTF -8"? > < greeter > [...] greeter >
Ingebed tussen de greeter-tag kunnen de beschreven nodes zijn in de volgende secties van dit document. Enkele van deze nodes zijn containers (indelingsnodes, itemnodes) die weer andere nodes kunnen bevatten.
6.2.2
Itemnodes
Een kdm-thema wordt aangemaakt door een hiërarchie van item- en indelingsnodes. Itemnodes kunnen de volgende waarde voor het type-attribuut hebben: knop Een knopveld. Dit veld gebruikt een Qt-knop. Het is ook mogelijk om elk ander item zich als een knop te laten gedragen door zijn butt on-attribuut op true in te stellen. Het is echter beter om Qt-knoppen in kdm te gebruiken omdat deze toegankelijk voor gehandicapte gebruikers. entry Een invoer-widget zoals een regelinvoervak of combovak. Merk op dat dit een plaatshouder is voor Qt-widgets. label Een tekstlabel. Moet of een text-node bevatten of een stock-node om tekst te specificeren. lijst Een widget voor het gezichtsbladerprogramma. pixmap Een rasterafbeelding in een formaat dat Qt ondersteunt, bijv. PNG, JPEG, Tiff, etc. rect Een gewone rechthoek. svg Een vectorafbeelding in SVG-formaat. Bijvoorbeeld: < item type =" label ">
Een item dat zich gedraagt als een knop: < item type =" rect " id =" disconnect_button " button =" true " >.
42
Het handboek van kdm
Standaard verdwijnt het kdm-aanmeldscherm na authenticatie. Dit kan geflikker tot gevolg hebben tussen het aanmeldscherm en de sessie. Het background-attribuut stelt gebruikers in staat om te specificeren welke elementen van het thema de achtergrondafbeelding vormen. Bij gebruik zorgt dit ervoor dat kdm alle niet-achtergrond items uit het scherm verwijdert en de overblijvende background-items mengt met het beginvenster. Dit kan worden gebruikt voor een gladde overgang tussen het aanmeldscherm en de sessie: < item type =" rect " background =" true "> < normal file =" background . svg "/ > <pos x ="0" y ="0" width ="100%" height =" -75"/ > item >
Om een verschillende achtergrond te hebben voor de aanmeldtransitie dan die gebruikt wordt voor aanmelden, zou het thema twee item-nodes moeten specificeren (die bijvoorbeeld pixmaps of svg-afbeeeldingen bevatten). Het item dat overeenkomt met de begroetingsachtergrond zou geen background-eigenschap moeten hebben terwijl het item dat overeenkomt met de transitieachtergrond wel de background-eigenschap zou moeten hebben. Bijvoorbeeld : xml version ="1.0" encoding =" UTF -8"? > < greeter > < item type =" rect " background =" true "> < normal file =" background_for_login . svg " element =" background "/ > <pos x ="0" y ="0" width ="100%" height ="100%"/ > item > < item type =" rect "> < normal file =" background_for_greeter . svg "/ > <pos x ="0" y ="0" width ="100%" height ="100%"/ > item > [...] greeter >
Bij meerdere schermen kunnen thema’s ook gespecificeerd worden voor andere schermen dan waarop de begroeting staat - maar daar verschijnen typisch alleen achtergrond items. Om te specificeren op welk scherm een item zou moeten verschijnen kan het screen-attribuut worden gebruikt met de waarde gekozen uit greeter, other or all, die terspectievelijk betekenen: het scherm waarop de begroeting staat, alle schermen waarop de begroeting niet staat en alle schermen. button-items en items met het button=´´true´´-attribuut. Knoppen zijn er typisch om bepaalde acties te starten. Als extra zal kdm knoppen verbergen waarvan de acties om de een of andere reden niet beschikbaar zijn. Id: kiezer-knop, Actie: Voert de XDMCP-kiezer uit. Id: verbreek-knop, Actie: Verbreek de verbinding met de sessie op afstand. Id: sessie-knop, Actie: Opent het selectiemenu voor het type sessie. Id: systeem-knop, Actie: Opent een alles-vangen-menu met verschillende opties en acties, afhankelijk van de configuratie. label items kdm zal deze labels tonen/verbergen en stelt hun tekst in afhankelijk van de status van de aanmelddialoog. Id: pam-fout, Functie: Dit toont het Login mislukt. bericht. Items voor het inbedden van widgets kdm zal bepaalde Qt-widgets inbedden in deze items. Id: user-entry, Functie: Invoerveld voor gebruikersnaam Id: pw-entry, Functie: Invoerveld voor wachtwoord Id: domein-item, Functie: Sommige ‘conversatie’-plugins gebruiken dit veld om een domeinnaam op te vragen. Als dit veld aanwezig is, zouden de gerelateerde omsluitende 43
Het handboek van kdm
items nodes tonen moeten hebben van het type plugin-domain-entry. Id: talker, Functie: Dit item zou van het type rect moeten zijn. Het vertegenwoordigt het ‘belangrijke’ gebied van de begroeting: het bevat de label en invoer-items die gehoren bij het authenticatieproces. Als een gegeven ‘conversatie’-plugin de bestaande items niet kan laten overeenkomen met wat nodig is, dan probeert het een complex widget in te bedden met een eigen indeling in dit item, aldus volledig over de ‘talker’ van het thema heen te gaan. Strict gesproken hebben kdm-thema’s het in het geheel niet nodig om een eigen ‘talker’-ontwerp te hebben, omdat alle kdm-authenticatie-plugins in staat zijn om gebruik te maken van het talker-item. Id: gebruikerslijst, Functie: Het item moet van het type list zijn. als de lijstfunctie van de gebruiker is ingeschakeld, dan zal kdm het gebruikerslijst-widget hier inbedden. Anders is dit item verborgen. Id: xconsole, Functie: Dit item moet van het type rect zijn. Als de ingebouwde functie xconsole mee is gecompileerd en is ingeschakeld, dan zal kdm de console-log-widget hier inbedden. Anders is dit item verborgen. Andere items kdm toont/verbergt deze items afhankelijk van de configuratie en de huidige status van de begroeting. kdm legt geen typevereisten op ze, maar zij lenen zichzelf tot een bepaald type. Id: label met tijdsverloop, Alleen getoond als ...: ... aanmelden met tijdsverloop is bezig. Id: caps-lock-waarschuwing, Alleen getoond als ...: ... Caps Lock is actief. Id: xauth-waarschuwing, Alleen getoond als ...: ... de X-Server vereist geen X-autorisatie om te verbinden. Id: userlist-rect, Alleen getoond als ...: ... de gebruikerslijst is ingeschakeld. Door het nesten van het item userlist hierin, is het mogelijk om zoiets als een frame rond de lijst maken en het alleen te laten zien wanneer de gebruikerslijst zelf wordt getoond. Id: xconsole-rect, Alleen getoond als ...: ... het ingebouwde xconsole is ingeschakeld. Analoog met userlist-rect.
6.2.3
Opmaakcontainer-nodes
Opmaak-nodes verschijnen in item-nodes en bevatten opnieuw item-nodes. Het type opmaaknode bepaalt de schikking van zijn kind-nodes. Een item-node kan een opmaak-node van elk type bevatten. 6.2.3.1
Box-nodes
Box-nodes stellen hun kinderen op in een rij. Ze worden gespecificeerd als volgt:
Waar num het aantal pixels is en bool is ofwel true of false. De alignment-waarde kan ofwel horizontal of vertical zijn. Als u een attribuut weglaat, krijgt het de standaard waarde van nul voor aantallen, false voor bools en vertical voor de oriëntatie. De ’spacing’ is de afstand tussen de naburige kind-items. De padding is de buitenmarge van de box. Als de box homogeen is, dan wordt dezelfde hoeveelheid ruimte toegekend aan elk kind-item. 6.2.3.2
Vaste nodes
Vast is een container waarvan de kinderen vastgelegd zijn op preciese coördinaten. De grootte van de container is de kleinste rechthoek die alle kinderen bevat. Vast heeft geen verdere attributen en dus gebruikt u alleen: 44
Het handboek van kdm
Daarna stopt u andere items met juiste gepositioneerde nodes in het.
6.2.4
Positie nodes
Elk item kan zijn positie en grootte specificeren via de pos-node. Bijvoorbeeld: <pos x ="0" y ="4" width ="100%" height ="100%"/ >
Als de grootte niet is gespecificeerd, dan zal het de ‘natuurlijke’ grootte krijgen, de hintgrootte genoemd. Merk op dat niet alle items een bruikbare hintgrootte hebben. Beide positie en grootte kunnen gegeven zijn in procenten en zullen in dit geval berekend worden relatief tot de grootte van de omsloten container. Voor topniveau items is het het percentage van het gehele scherm. Door een circumflex (ˆ) achter te voegen aan de specificatie van de grootte is het mogelijk om het te wijzigen tot relatief aan de grootte van het omsloten item van het omsloten item enzovoort. Als het item een box bevat, kunnen width en height worden gespecificeerd als box wat betekent dat zij verondersteld worden de breedte en hoogte van de box te zijn, dat zijn de items in de box plus de padding. Een van width en height kan worden gespecificeerd als scale wat betekent dat het geschaald moet worden volgens de andere schaalafmetingen relatief tot zijn hintgrootte. Gebruik dit om automatisch de aspect-verhouding te behouden van geschaalde afbeeldingen. Als het attribuut expand is gespecificeerd en true is, dan zal dit item in de omgevende box zo veel als mogelijk worden uitgebreid (dat wil zeggen dat het alle beschikbare ruimte krijgt). Als width of height een gewoon getal is, dan representeert een negatieve waarde een offset t.o.v. de omgevende containergrootte. Merk op dat het mogelijk is om een positieve offset te specificeren door twee mintekens in te voeren. In beide gevallen is het mogelijk de uiteindelijke grootte te beperken met de min-width, min-he ight, max-width en max-height attributen die kan worden gespecificeerd op dezelfde manier als width en height. Als x of y een gewoon getal is, dan representeren negatieve waarden een offset vanaf rechterresp. onderrand, anders dan de standaard die de linker- resp. bovenrand. Het is ook mogelijk om te specificeren naar welk punt in het item de positie verwijst. Dit wordt het anker genoemd en het kan of c voor centrum zijn of een van n, ne, e, se, s, sw, w en nw wat staat voor de verschillende randen/hoeken corresponderend met richtingen op een topografische kaart. De standaard is nw, wat de linker bovenhoek is. Bijvoorbeeld: <pos x ="10%" y ="50%" anchor =" w" width ="80%" height ="95"/ >
6.2.5
Nodes tonen
U kunt het attribuut type specificeren om aan te geven dat zekere items alleen getoond moeten worden als het type is ingesteld. Met een uitroepteken (!) voor het type wordt de conditie omgedraaid. Geldige waarden zijn de volgende: Type: chooser, Tonen als ...: overschakelen naar aanmelden op afstand is toegestaan. Type: halt en reboot, Tonen als ...: systeem afsluiten is toegestaan. Type: system, Tonen als ...: geen voorwaarde (altijd ingesteld in kdm). Type: plugin-itemnaam, Tonen als ...: de ‘conversation’-plugin levert een overeenkomstig invoerveld. Bijvoorbeeld: 45
Het handboek van kdm
< show type =" chooser "/ >
Alternatief kunt u een min-screen-width specificeren of min-screen-height waarde om aan te geven dat bepaalde items alleen getoond moeten worden als de schermresolutie minstens de gespecificeerde grootte heeft. Bijvoorbeeld: < show min - screen - height ="768"/ >
6.2.6
Normale/actieve/oplichtend nodes
Het uiterlijk van de meeste item-typen kan geparameteriseerd worden met de volgende tags: normaal Normale status. oplichtend Wanneer de muis zich boven het item bevindt. actief Wanneer de muisknop wordt ingedrukt op het item.
rect < normal color ="#000000" alpha ="0.0"/ >
Elk van de attributen kan weggelaten worden, in welk geval de standaard wordt gebruikt (het voorbeeld representeert de standaarden). alpha is een drijvende komma-getal tussen nul (transparant) en één (dekkend). color is een nummerteken gevolgd door een zescijferig hex-getal; het formaat is ‘#rrggbb’. Alternatief, color kan gespecificeerd worden als een acht-cijferig hex-getal, in welk geval de eerste twee cijfers de alfa waarde is. label < normal color ="# ffffff " alpha ="1.0" font =" Sans 14"/ >
alpha en color zijn gespecificeerd zoals in ‘rect’ items. font volgt het formaat ‘familie-lijst stijl-opties grootte’. Elk deel is optioneel. familie-lijst is een komma-gescheiden lijst met letterype-families zoals ‘helvetica’, ‘mo-
nospace’, etc. stijl-opties is een spatie-gescheiden lijst met sleutelwoorden van de categorieën stijl,
gewicht en strekken; van elke categorie maximaal een. De stijl kan normal, italic of obli que zijn. Gewicht kan ultra-light, light, medium, semi-bold, bold, ultra-bold of heavy zijn. Toegestane strekking bestaat uit ultra-condensed, extra-condensed, condensed, semi -condensed, normal, semi-expanded, expanded, extra-expanded en ultra-expanded. grootte is of een drijvende komma-getal die de grootte in punten (1/72 inch) representeert of een geheel getal gevolgd door px die de grootte in pixels representeert. Grootte in punten wordt geprefereerd, omdat zij onafhankelijk zijn van de schermresolutie. Als elk attribuut is weggelaten, dan worden de waarden gegeven in de stijl-node gebruikt. Als dit geen venster-tekstkleur specificatie bevat, dan wordt wit gebruikt. Het standaard lettertype is die geconfigureerd in kdmrc. pixmap, svg
46
Het handboek van kdm
< normal file =" picture . png " tint ="# dddddd " alpha ="1.0"/ >
file specificeert het bestand dat de afbeelding bevat. Relatieve padnamen zijn relatief ten opzicht van de map van het thema. wallpaper kan worden gebruikt in plaats van file om kdm te laten zoeken voor afbeeldingen in de gebruikelijke locaties voor KDE-achtergronden. Pakketten voor plasmaachtergronden worden ondersteund. element specificeert het element id van een SVG-bestand. Indien leeg, dan wordt de gehele SVG-afbeelding weergegeven. Voor pixmap-nodes is het mogelijk om meervoudige afbeeldingen te leveren, zodat de beste kwaliteit afbeelding voor een gegeven resolutie kan worden gebruikt. Bestandsnamen met een tag voor de grootte hebben het formaat basisnaam-breedtexhoogte.extensie. Als het bestand zonder tag voor de grootte bestaat en het is geen pakket voor een plasmaachtergrond, dan zal kdm alleen een perfecte overeenkomst voor een gegeven grootte accepteren en anders terugvallen op het originele bestand. Anders zal het proberen een afbeelding te vinden waarvan de afmetingen het dichts bij de vereiste grootte komen als er geen perfecte overeenkomst is gevonden. scalemode specificeert hoe de grootte van afbeeldingen die niet overeenkomen met de grootte van het element. free (de standaard) betekent dat de afbeelding geschaald wordt tot de juiste grootte, mogelijk met vervorming van zijn beeldverhouding. De andere twee modi handhaven de beeldverhouding van de afbeelding: fit betekent het in- of uitzoomen van de afbeelding tot de maximum grootte die in de afmeting van het element past. De afbeelding zal worden gecentreerd. Het overblijvende gebied zal niet door dit element worden ingevuld, dus zou het geplaatst moeten worden bovenop een volledig gevulde r ect. crop betekent dat de afbeelding wordt in-/uitgezoomd tot de minimale grootte die volledig binnen de afmetingen van het element past. De afbeelding zal symmetrisch worden afgesneden. tint en alpha vormen een kleurspecificatie zoals in rect-items. Elk pixel van de afbeelding wordt volgend de component vermenigvuldigd met deze kleur.
6.2.7
Widget-stijl-nodes
Deze tag maakt het mogelijk om het uiterlijk van labels en Qt-widgets ingebed in het thema te wijzigen, bijv., regelbewerking, knoppen of de gebruikerslijst. De stijlinstellingen worden geërft door kind-items, maar kunnen individueel overschreven worden. De standaarden komen van kdmrc. Het attribuut font definieert het lettertype voor alle widgets. Voor widgets met een invoerfunctie kan het overschreven worden door het attribuut edit-font. Lettertypen worden gespecificeerd op dezelfde manier als in normale/actieve/oplichtende nodes. Gewoonlijk probeert de engine voor het thema elk frame van Qt-widgets te verwijderen, zodat zij naadloos versmelten in het thema. In het geval waar dat niet gewenst is, kan het attribuut frame ingesteld worden op true. Het attribuut guistyle kan gebruikt worden om de stijl van de Qt-GUI voor ingebedde widgets te overschrijven. De standaard is gegeven in GUIStyle in kdmrc Het is mogelijk om bijna het gehele palet voor de widgets zoals gedocumenteerd in Website van Trolltech te specificeren. Attribuutnamen bestaan uit een scope, een kleurrol en een achtervoegsel. Mogelijke scopes zijn - in volgorde van toenemende voorkeur - all- voor alle kleurgroepen, geen scope voor de actieve en inactieve kleurgroepen en active-, inactive- en disabled- voor de respectievelijke kleurgroepen. Ondersteunde kleurrollen zijn window, window-text, base, al ternate-base, text, bright-text, highlight, highlighted-text, button en button-text. Het achtervoegsel kan -color of -alpha zijn met de respectievelijke betekenis zoals in normale/actieve/oplichtende nodes.
47
Het handboek van kdm
Als alternatief om het palet inline te specificeren, kan het attribuut colorscheme worden gebruikt om een compleet KDE-kleurschema te laden. De standaard is gegeven door ColorScheme in kdm rc. Individuele color-specificaties zullen de kleuren van het schema overschrijven. Voorbeeld: < style edit - font =" Comic 16" text - color ="# dddddd " frame =" true "/ >
6.2.8
Kleur-nodes voor gezichtsbladerprogramma
Kleur-nodes staan toe om de achtergrondkleur van de items in het gezichtsbladerprogramma te overschrijven. labelcolor en altlabelcolor zijn in essentie equivalent met all-base-colo r resp. all-alternate-base-color in stijl-nodes. Als alleen labelcolor is gespecificeerd, zijn alternerende achtergronden van items uitgeschakeld. < color labelcolor ="#80 ffffff " altlabelcolor ="#80 f0f0f0 "/ >
6.2.9
Text-nodes
Tekst-tags worden door labels gebruikt. Zij kunnen worden gebruikt aan de taalregio aangepaste tekst te tonen als volgt (als het attribuut xml:lang is weggelaten, dan wordt de POSIX-locale aangenomen): < text xml : lang =" nl "> Optie text >
Text-nodes kunnen de volgende speciale tekenreeksen bevatten die als volgt vertaalt zullen worden: Sequentie: %%, Expansie: Het letterlijk %-teken Sequentie: %c, Expansie: Huidige datum en tijd Sequentie: %d, Expansie: Schermnaam (DISPLAY omgevingsvariabele) Sequentie: %h, Expansie: Hostnaam (gethostname uitvoer) Sequentie: %m, Expansie: Machinenaam (machine-onderdeel van uname uitvoer) Sequentie: %n, Expansie: Nodenaam (nodename-onderdeel van uname uitvoer) Sequentie: %o, Expansie: Domeinnaam (getdomainname-uitvoer) Sequentie: %r, Expansie: Uitgavenaam (release-onderdeel van uname uitvoer) Sequentie: %s, Expansie: Systeemnaam (sysname-onderdeel van uname uitvoer) Sequentie: %t, Expansie: Resterend aantal seconden totdat getimede aanmelding wordt gedaan, plus de bijbehorende i18n-meervoudsvorm van ‘seconde’ Sequentie: %u, Expansie: Gebruikersnaam voor aanmelden Sequentie: _, Expansie: Zorgt er voor dat het volgende teken een versneller is %t en %u zijn bedoeld om alleen interne te worden gebruikt om het timed-label-bericht te tonen, die elke seconde wordt bijgewerkt.
6.2.10
Stock-nodes
Bepaalde gezamenlijk aan de taalregio aangepaste labels kunnen worden gespecificeerd via de stock-tags. De text-tag wordt genegeerd als de stock-tag wordt gebruikt. U zou echt de stocklabels moeten gebruiken in plaats van gewoon alle vertalingen in de thema’s te stoppen. Dit levert snellere laadtijden en waarschijnlijk betere vertalingen. De volgende waarden zijn geldig: Type: caps-lock-waarschuwing, Expansie: ‘Caps Lock is geactiveerd’ Type: chooser, Expansie: ‘XDMCP-kieze_r’ Type: stop, Expansie: ‘_Stoppen’ Type: verbinding verbreken, Expansie: ‘Verbinding v_erbreken’ Type: stoppen, Expansie: ‘_Uitschakelen’ Type: taal, Expansie: ‘Taa_l’ 48
Het handboek van kdm
Type: Type: Type: Type: Type: Type: Type: Type: Type:
aanmelden, Expansie: ‘_Aanmelden’ sessie, Expansie: ‘Sessie_type’ herstarten, Expansie: ‘Her_starten’ system, Expansie: ‘_Menu’ label met tijdsverloop, Expansie: ‘Gebruiker %u meldt zich aan bij %t’ domain-label, Expansie: ‘_Domein:’ username-label, Expansie: ‘Gebr_uikersnaam:’ password-label, Expansie: ‘Wa_chtwoord:’ welcome-label, Expansie: ‘Welkom bij %h’
Bijvoorbeeld: < stock type =" welcome - label "/ >
6.2.11
Buddy-nodes
Items die niet direct een actie veroorzaken kunnen aan een buddy worden toegekend. De buddy krijgt invoerfocus wanneer het item wordt geactiveerd (door te klikken of te drukken op een versneller van een label). De buddy wordt gerefereerd door een id met het attribuut idref. Natuurlijk, moet het een id gegeven worden. Voorbeeld: < item type =" label "> < stock type =" username - label "/ > < buddy idref =" user - entry "/ > [...] item > [...] < item type =" entry " id =" user - entry "> [...] item >
49
Het handboek van kdm
Hoofdstuk 7
Uw systeem configureren voor het gebruik van kdm In dit hoofdstuk wordt aangenomen dat uw systeem geconfigureerd is om X Window System® te draaien en dat u alleen iets moet wijzigen om grafisch aanmelden mogelijk te maken.
7.1
kdm instellen
Het standaard runlevel bepaalt of uw systeem na het opstarten een tekstscherm (console-modus) of een grafisch aanmeldscherm weergeeft. Het runlevel wordt ingesteld door het programma /sbin/init en beheerd door het configuratiebestand /etc/inittab. De standaard runlevels, die door de verschillende UNIX® -systemen (en verschillende Linux® -distributies) gebruikt worden, variëren, maar als u in het bestand /etc/inittab kijkt, moet het begin er ongeveer zo uitzien: # # # # # # # #
Default runlevel . The runlevels used by RHS are : 0 - halt ( Do NOT set initdefault to this ) 1 - Single user mode 2 - Multiuser , without NFS 3 - Full multiuser mode 4 - unused 5 - X11 6 - reboot ( Do NOT set initdefault to this )
id :3: initdefault :
Alle regels in dit stukje, behalve de laatste, zijn commentaren. De commentaren laten zien dat runlevel 5 gebruikt wordt voor X11 en dat runlevel 3 voor multi-gebruiker-modus zonder X11 (console-modus) gebruikt wordt. De laatster regel specificeert dat het standaard runlevel van het systeem 3 is (console-modus). Als uw systeem een grafisch aanmeldscherm gebruikt (bijvoorbeeld xdm) zal het standaard runlevel overeenkomen met het runlevel dat voor X11 is gespecificeerd. Het runlevel met grafisch aanmeldscherm (xdm) voor enkele algemene Linux® -distributies is: • 5 voor Red Hat® 3.x en later, en voor Mandrake™ • 4 voor Slackware • 3 voor SuSE® . 4.x en 5.x
50
Het handboek van kdm
Voordat u het systeem gaat configureren moet u er zeker van zijn dat u kdm vanaf de commandoregel kunt starten. Zodra dit goed werkt, kunt u de configuratie van het systeem wijzigen, zodat kdm automatisch start wanneer u de computer opstart. Om kdm te testen moet u eerst het systeem op een runlevel zetten dat geen xdm draait. Typ hiervoor het volgende commando: / sbin / init 3
Voor het cijfer 3 moet u het juiste runlevel voor de console-modus op uw systeem specificeren. Als uw systeem Pluggable Authentication Modules (PAM) gebruikt, wat bij recente Linux® - en Solaris™-systemen standaard is, moet u controleren of de PAM-configuratie aanmelden door middel van kde toestaat. Als u eerder zonder problemen met xdm kon werken, hoeft u geen wijzigingen in de PAM-configuratie te maken om kdm te kunnen gebruiken. (/etc/pam.conf of /etc/pam.d/kde.) Informatie over het configureren van PAM valt buiten het bereik van dit handboek, maar PAM beschikt zelf over uitgebreide documentatie (zoek naar /usr/share/doc/* pam*/html/ ). Nu wordt het tijd om kdm te testen door het volgende commando te typen: kdm - nodaemon
Als er een kdm-aanmeldscherm verschijnt en als het aanmelden goed gaat is alles in orde. Het belangrijkste dat hier fout kan gaan, is dat de run-time-linker de gedeelde Qt™- of KDEbibliotheken niet kan vinden. Als u een binaire distributie van de KDE-bibliotheken hebt, moet u controleren of kdm op dezelfde plaats geïnstalleerd is waar KDE volgend de bibliotheken te vinden is. Probeer de omgevingsvariabelen in te stellen zodat deze naar de KDE- en Qt™bibliotheken verwijzen. Bijvoorbeeld: export KDEDIR =/ opt / kde export QTDIR =/ usr / lib / qt4 export PATH = $KDEDIR / bin : $QTDIR / bin : $PATH export LD_LIBRARY_PATH = $KDEDIR / lib : $QTDIR / lib
Als het nog steeds niet werkt, probeer dan xdm te starten om te controleren of de fout niet bij een ernstiger probleem in de X-configuratie zit. Wanneer u kdm zonder problemen kunt starten, kunt u xdm door kdm vervangen. De methode is weer afhankelijk van de distributie die u gebruikt. • Voor Red Hat® zoekt u in het bestand /etc/inittab naar de volgende regel: x :5: respawn :/ usr / X11 / bin / xdm - nodaemon
en vervangt deze door: x :5: respawn :/ opt / kde / bin / kdm
Dit laat init(8) weten dat kdm opnieuw gestart moet worden wanneer het systeem op runlevel 5 is. Opmerking: kdm heeft de optie -nodaemon niet nodig. • Voor Mandrake™: het X11-runlevel in /etc/inittab roept het shell-script /etc/X11/prefdm aan, dat ingesteld is om uit verscheidene display-managers, waaronder kdm, te kiezen. Controleer of alle paden correct zijn. 51
Het handboek van kdm
• Voor SuSE® voegt u aan het bestand /sbin/init.d/xdm op de eerste regel het volgende toe: . / etc / rc . config DISPLAYMANAGER = kdm export DISPLAYMANAGER
• Voor FreeBSD zoekt u in het bestand /etc/ttys naar de regel: ttyv8
"/ usr / X11R6 / bin / xdm - nodaemon "
xterm
off secure
en vervangt deze door: ttyv8
"/ opt / kde / bin / kdm "
xterm
on secure
• De meeste andere distributies gebruiken een variant van één van deze regels. In dit stadium kunt u kdm weer testen door het systeem op het runlevel dat kdm moet starten te zetten. Typ het volgende commando: / sbin / init 5
Voor het cijfer 5 moet u het juiste runlevel om X11 op uw systeem te draaien specificeren. De laatste stap: het bewerken van het item initdefault in het bestand /etc/inittab om het juiste runlevel voor X11 te specificeren.
WAARSCHUWING Zorg, voordat u dit verandert, dat u het systeem kunt opstarten als er iets fout gaat. U kunt bijvoorbeeld een ‘rescue’ floppy-disk gebruiken die door uw distributie meegeleverd wordt of een speciaal daarvoor ontworpen ‘rescue’ floppy-disk, zoals tomsrtbt. U kunt deze raad natuurlijk in de wind slaan, het risico is dan geheel voor u.
Voor de meeste systemen geldt: u verandert de regel: id :3: initdefault :
in id :5: initdefault :
Als u nu het systeem opstart, moet u het grafische aanmeldscherm van kdm zien. Als deze stap niet werkt, is het probleem waarschijnlijk dat de omgeving die tijdens het opstarten gebruikt wordt, anders is dan de omgeving die u hebt gebruikt om op de commandoregel te testen. Als u twee versies van KDE naast elkaar gebruikt, controleer dan of de instellingen voor de omgevingsvariabelen PATH en LD_LIBRARY_PATH consistent zijn, en dat de startup-scripts de instellingen niet op de één of andere manier vervangen door andere.
52
Het handboek van kdm
Hoofdstuk 8
Meerdere vensterbeheerders ondersteunen kdm detecteert de meeste vensterbeheerders en bureaubladomgevingen als het draait. Als u een nieuwe installeert, zou deze automatisch beschikbaar moeten zijn in het submenu van het hoofddialoogvenster Sessietype: van kdm. Als u een erg nieuwe vensterbeheerder hebt of iets dat niet door kdm ondersteund wordt, moet u eerst controleren of het bewuste programma in het PATH staat en dat het niet tijdens de installatie hernoemd is door de distributeur in iets onverwachts. Als de het sessie-type nog niet door kdm wordt ondersteund (omdat mogelijk te nieuw is), kunt u het vrij eenvoudig toevoegen. De sessie-typen worden gedefinieerd door .desktop bestanden die zich bevinden in de mappen getoond in SessionsDirs. De laatst genoemde map bevat de door het systeem geleverde standaard sessie-typen en is $KDEDIR /share/apps/kdm/sessions in een installatie vanuit de broncode. Het opwaarderen van software zal typisch alles hierin overschrijven, zodat het niet wijs is het te gebruiken voor configuratiedoeleinden. In plaats hiervan, zou een aparte configuratiemap als eerste in de lijst moeten staan. Het wordt ingesteld als $KDEDIR /share/config/kdm/sessions in een installatie vanuit de broncode, maar distributeurs wijzigen het vaak naar iets als /etc/kde4/ kdm/sessions. U kunt hier eenvoudig een toepasselijk genaamde .desktop bestand toevoegen. De velden zijn: [ Desktop Entry ] Encoding =UTF -8 This is fixed to UTF -8 and may be omitted Type = XSession This is fixed to XSession and may be omitted Exec = executable name Passed to eval exec in a Bourne shell TryExec = executable name Supported but not required Name = name to show in the kdm session list
Er zijn ook drie typen ‘magic’: default De standaardsessie voor kdm is gewoonlijk KDE, maar dit kan door de systeembeheerder geconfigureerd worden. custom De Custom-sessie (aangepaste sessie) maakt gebruik van het bestand van de gebruiker ~/.xsession als dat bestand bestaat, en valt anders terug op de standaard sessie. 53
Het handboek van kdm
failsafe Failsafe (noodoplossing) draait een eenvoudige sessie en is alleen nuttig voor het debuggen (fouten opzporen). Om een ander sessietype in te stellen, kopieert u het .desktop-bestand van de gegevensmap naar de configuratiemap en bewerkt u het. U kunt de meegeleverde sessietypes verwijderen door ze te ‘overschaduwen’ met .desktop-bestanden die de regel ´´Hidden=true´´ bevatten. Voor de sessietypes ´´magic´´ zijn er standaard geen .desktop-bestanden aanwezig, maar kdm doet alsof ze er wel zijn, u kunt ze dus net als elk ander type vervangen.
54
Het handboek van kdm
Hoofdstuk 9
kdm gebruiken voor aanmelden op afstand (XDMCP) XDMCP is de Open Group-standaard, het ‘X Display Manager Control Protocol’. Dit wordt gebruikt om verbindingen tussen systemen over het netwerk in te stellen. XDMCP is nuttig in situaties waarin meerdere gebruikers een werkstation hebben en een krachtige server de benodigde systeembronnen levert om meerdere X-sessies te kunnen draaien. XDMCP is bijvoorbeeld een goede manier om oude computers te hergebruiken - een Pentium of zelfs een 486 met 16 Mb RAM is voldoende om X te kunnen draaien, en met behulp van XDMCP kan zo’n computer een complete moderne KDEsessie vanaf een server draaien. Zodra op de server een enkele KDE-sessie (of een andere omgeving) draait, zijn er voor volgende sessies weinig extra systeembronnen nodig. Het toestaan van een andere aanmeldmethode op uw computer brengt echter vanzelfsprekend veiligheidsrisico’s met zich mee. U zou dit alleen maar moeten doen als u X-Servers op afstand moet toestaan op uw systeem aanmeldsessies te starten. Voor gebruikers met een enkele UNIX® computer is dit niet nodig.
55
Het handboek van kdm
Hoofdstuk 10
Geavanceerde onderwerpen 10.1
Commando-sockets
U kunt deze functie gebruiken om kdm op afstand te beheren. Het is vooral bedoeld voor gebruik door ksmserver en kdesktop vanuit een draaiende sessie, maar andere toepassingen zijn ook mogelijk. De sockets zijn UNIX® -domain-sockets die zich in submappen bevinden van de map die door FifoDir= gespecificeerd is. De submap is de sleutel voor adresseren en beveiligen; de sockets hebben allemaal de bestandsnaam socket en de rechten zijn rw-rw-rw- (0666). Dit is gedaan omdat sommige systemen niets aan de rechten van de socket-bestanden doen. Er zijn twee soorten sockets: de globale (dmctl) en per-display (dmctl-) (voor elke weergave apart). De submap van de globale socket is eigendom van root, de submappen van de per-displaysockets zijn eigendom van de gebruiker van de sessie (root of de aangemelde gebruiker). Groepeigendom van de submappen kan ingesteld worden bij FifoGroup=, anders is dit root. De rechten van de submappen zijn rwxr-x--- (0750). De velden van een commando worden door tabstops gescheiden (\t), de velden van een lijst worden door spaties gescheiden, letterlijke spaties in lijstvelden worden aangegeven door een \s. Het commando wordt beëindigd met een teken voor een nieuwe regel \n). Het zelfde gaat op voor antwoorden. Het antwoord bij succes is ok, mogelijk gevolgd door de gevraagde informatie. Het antwoord bij een fout is een errno (foutnummer) (bijv. perm, noent, etc.) gevolgd door een langere uitleg. G LOBALE COMMANDO ’ S login display (now | schedule) user password [session_arguments] Gebruiker op gespecificeerde display aanmelden. Als now gespecificeerd is, wordt een eventueel draaiende sessie ge-killed, anders wordt de gebruiker aangemeld nadat de sessie normaal afgesloten is. ´´session_arguments´´ zijn printf-achtige ´´escaped´´ tekens voor .dmrc. Niet-vermelde toetsen nemen de eerder opgeslagen waarden over. resume Forceer het terugkeren uit consolemodus, zelfs als via TTY aanmelden nog steeds actief is. manage display [display_class [auth_name auth_data]] Begin met het beheren van het genoemde vreemde scherm. 56
Het handboek van kdm
display_class, indien gespecificeerd en niet-leeg, zal worden gebruikt voor overeen laten
komen van configuraties; zie hoofdstuk 5. auth_name en auth_data moeten worden doorgegeven als het scherm X-autorisatie vereist.
Het formaat is hetzelfde als de 2de en de 3de kolom van de uitvoer van xauth list. unmanage display Stop met het beheren van het genoemde vreemde scherm. C OMMANDO ’ S PER - DISPLAY: lock De display wordt als vergrendeld gemarkeerd. Als de X-Server in deze situatie crasht, volgt er geen automatische heraanmelding, zelfs niet als die optie ingeschakeld is. unlock Keert het effect van het commando lock om, maakt ook automatisch heraanmelden weer mogelijk. suicide De draaiende sessie wordt hardhandig afgebroken. Er volgt geen automatische heraanmelding, maar er wordt wel een ´´login´´-commando uitgevoerd. C OMMANDO ’ S VOOR ALLE SOCKETS caps Retourneert een lijst met de mogelijkheden van deze socket: kdm identificeert kdm, voor het geval dat een andere DM dit protocol ook implementeert list, lock, suicide, login, resume, manage het respectievelijke commando wordt ondersteund bootoptions Het commando listbootoptions en de optie = om het commando shutdown uit te voeren worden ondersteund shutdown <list> shutdown wordt ondersteund en is teogestaan voor de vermelde gebruikers (een door komma’s gescheiden lijst.) * betekent alle gebruikers die gemachtigd zijn. nuke <list> Geforceerd afsluiten mag door de vermelde gebruikers uitgevoerd worden. nuke Geforceerd afsluiten mag door iedereen uitgevoerd worden reserve Er zijn reserve-displays geconfigureerd en op dit moment zijn er number (aantal) beschikbaar list [all | alllocal] Retourneert een lijst met draaiende sessies. Standaard worden alle actieve sessies vermeld (dit te gebruiken voor een waarschuwing voor afsluiten). Als all gespecificeerd is, worden passieve sessies ook vermeld. Als alllocal gespecificeerd is, worden passieve sessies ook vermeld, maar alle binnenkomende sessies op afstand worden overgeslagen (dit is te gebruiken voor een agent die snelle gebruikerswisselingen verzorgd). Elk sessie-item is een door komma’s gescheiden tupel van: • Display- of TTY-naam 57
Het handboek van kdm
• VT-naam voor lokale sessies, naam van host op afstand voorafgegaan door @ voor TTYsessies op afstand, anders leeg • Naam van aangemelde gebruiker, leeg voor passieve sessies en uitgaande sessies op afstand (local chooser mode) • Sessietype voor actieve lokale sessies, naam van host op afstand voor uitgaande sessies op afstand, leeg voor passieve sessies. • Een vlag-veld: – * voor de display die aan de vragende socket toebehoort. – ! voor sessies die niet door de vragende socket ge-killed kunnen worden. – t voor TTY-sessies. In de toekomst kunnen niuwe velden toegevoegd worden. reserve Start een reserve-aanmeldscherm. Als er niemand zich binnen de enige tijd aanmeld, wordt het scherm weer verwijderd. Wanneer de sessie op het scherm wordt afgesloten, wordt het scherm ook verwijderd. Alleen toegestaan op sockets van lokale displays en de globale socket. activate (vt|display ) Schakel naar een bepaalde VT (virtuele terminal). De VT kan rechtstreeks (bijv. vt3) of door de display die de VT gebruikt (eg; :2) gespecificeerd worden. Alleen toegestaan op sockets van lokale displays en de globale socket. listbootoptions Geeft een lijst van de beschikbare boot-opties. De retourwaarde bevat drie tokens: • Een lijst van boot-opties (zoals in kdm zelf getoond). • De standaard boot-opties bij opstarten. • De huidige boot-optie. De standaard en huidige opties zijn nul-gebaseerde indexen naar de lijst met boot-opties. Als er een niet is ingesteld of niet te bepalen, dan is deze -1. shutdown (reboot | halt) [=bootchoice] (ask |trynow |forcenow |schedule|start (-1|end (force|forcemy|cancel)))) Verzoek om een systeem-shutdown;; ofwel een reboot ofwel een halt/poweroff. Voor de volgend start kan een OS (besturingssysteem) gespecificeerd worden uit de lijst die door listbootoptions geretourneerd werd. Wanneer per-display-sockets om shutdowns verzoeken, worden deze uitgevoerd wanneer de huidige sessie op die displayu afgesloten wordt. Zulke verzoeken kunnen een dialoogvenster openen waarin om bevestiging en/of authenticatie gevraagd wordt start is de tijd waarop de shutdown gepland staat. Als dit met een plus-teken begint,
wordt de huidige tijd erbij opgeteld. Nul betekend onmiddelijk. end is de uiterlijke tijd waarop de shutdown uitgevoerd gaat worden als er nog steeds
actieve sessies draaien. Als het met een plus-teken begint, wordt de begintijd erbij opgeteld. -1 betekent dat er eindeloos gewacht wordt. Als ´´end´´ voorbij is en er draaien nog steeds actieve sessies, heeft kdm één van de volgende mogelijkheden: • cancel - annuleer de shutdown • force - voer de shutdown hoe dan ook uit • forcemy - voer de shutdown hoe dan ook uit als alle actieve sessies aan de gebruiker, die het verzoek doet, toebehoren. Alleen voor per-display-sockets.
58
Het handboek van kdm
start en end worden in seconden gespecificeerd sinds het begin van het UNIX® -tijdperk. trynow is een synoniem voor 0 0 cancel, forcenow voor 0 0 force en schedule voor 0 -1. ask probeert een onmiddellijke shutdown uit te voeren en laat dit de gebruiker weten als
er nog actieve sessies draaien. alleen voor per-display-sockets. shutdown cancel [local|global} Annuleer een geplande shutdown. De globale socket annuleert de verwachte shutdown altijd, terwijl per-display-sockets de wachtrij met verzoeken annuleren. shutdown status Retourneert een lijst met informatie over shutdowns. De items zijn door komma’s gescheiden tupels van: • (global|local) - verwachte shutdown vs. shutdown in wachtrij. Een lokaal item kan alleen door een per-display socket geretourneerd worden. • • • •
(halt|reboot) start end (´´ask´´|´´force´´|´´forcemy´´|´´cancel´´)
• Numeriek gebruikers-ID van de gebruiker die het verzoek gedaan heeft, -1 voor de globale socket. • De volgende boot OS-keuze of ´´-´´ als er geen OS gespecificeerd is. In de toekomst kunnen nieuwe velden toegevoegd worden Er zijn twee manieren om de sockets te gebruiken: • Rechtstreeks aansluiten. FifoDir wordt geëxporteerd als $DM_CONTROL; de namen van perdisplay-sockets kunnen uit $DISPLAY afgeleid worden. • Door het commando kdmctl te gebruiken (bijv. vanuit een shell-script). Typ kdmctl -h om meer informatie te vinden. Hie is een voorbeeld bash script ‘reboot in FreeBSD’: if kdmctl | grep -q shutdown ; then IFS =$ ’\t ’ set -- ‘ kdmctl listbootoptions ‘ if [ " $1 " = ok ]; then fbsd =$( echo " $2 " | tr ’ ’ ’\n ’ | sed -ne ’s ,\\s , ,g ;/ freebsd /I{p;q} ’) if [ -n " $fbsd " ]; then kdmctl shutdown reboot "= $fbsd " ask > / dev / null else echo " FreeBSD boot unavailable ." fi else echo " Boot options unavailable ." fi else echo " Cannot reboot system ." fi
59
Het handboek van kdm
Hoofdstuk 11
Overige informatiebronnen Omdat kdm afgeleid is van xdm, kan de xdm man-pagina nuttige achtergrondinformatie bevatten. Voor problemen die aan X gerelateerd zijn, kunt u de man-pagina’s X en startx doorlezen. Als u vragen over kdm hebt die niet in dit handboek beantwoord worden, maak dan gebruik van het feit dat kdm onder de voorwaarden van de GNU General Public License geleverd wordt: kijk in de broncode.
60
Het handboek van kdm
Hoofdstuk 12
Dankbetuigingen en licentie kdm is afgeleid van, en bevat code uit xdm (c) Keith Packard, MIT X Consortium. kdm 0.1 is geschreven door Matthias Ettrich. Latere versies tot KDE 2.0.x zijn geschreven door Steffen Hansen. De beschrijving van enkele nieuwe functies voor KDE 2.1.x en een grootschalige herziening voor KDE 2.2.x is gedaan door Oswald Buddenhagen. Andere delen van de kdm-code zijn copyright van de makers, en uitgegeven onder de voorwaarden van de GNU GPL. Iedereen mag wijzigingen aan kdm maken en het resultaat opnieuw uitgeven zolang de namen van de oorspronkelijke auteurs vermeld worden. kdm vereist de Qt™-bibliotheek, copyright Troll Tech AS. Bijdragen aan de documentatie van: • Documentatie geschreven door Steffen Hansen [email protected] • Documentatie uitgebreid door Gregor [email protected]. Laatste herziening: 9 augustus 1998 • Documentatie herschreven voor KDE 2 door Neal Crook [email protected]. Laatste herziening: 6 augustus 2000 • Documentatie uitgebreid en herschreven voor KDE 2.2 en 4.0 door Oswald Buddenhagen [email protected]. Laatste herziening: 7 december 2007. Documentatie copyright Steffen Hansen, Gregor Zumstein, Neal Crook en Oswald Buddenhagen. Dit document bevat ook grote delen van de xdm-man-pagina, (c) Keith Packard. De documentatie ovet het thema-formaat is zwaar gebaseerd op het handboek GDM, wat (c) Martin K. Petersen, George Lebl, Red Hat® , Inc. en Sun Microsystems, Inc. is. Op- of aanmerkingen over de vertalingen van de toepassing en haar documentatie kunt u melden op http://www.kde.nl/bugs. Dit document is vertaald in het Nederlands door Niels Reedijk [email protected]. Dit document is vertaald in het Nederlands door Natalie Koning [email protected]. Dit document is vertaald in het Nederlands door Freek de Kruijf [email protected]. Deze documentatie valt onder de bepalingen van de GNU vrije-documentatie-licentie.
61
Het handboek van kdm
Hoofdstuk 13
Woordenlijst greeter De ´´greeter´´ is het aanmeldscherm, bijv. het gedeelte van kdm dat de gebruiker te zien krijgt. entropie De entropie van een systeem is de mate van zijn onvoorspelbaarheid. Dit wordt gebruikt gedurende het genereren van ´´random´´ (willekeurige) getallen.
62