Konfiguration

GDM har ett antal konfigurationsgränssnitt. Dessa inkluderar integrationspunkter för skriptning, demonkonfiguration, inloggningsskärmskonfiguration, allmänna sessionsinställningar, integration med konfiguration för gnome-settings-daemon, och sessionkonfiguration. Dessa typer av integration beskrivs i detalj nedan.

5.1. Skriptintegrationspunkter

GDM:s skriptintegrationspunkter kan hittas i katalogen <etc>/gdm/:

Xsession
Init/
PostLogin/
PreSession/
PostSession/

Skripten Init, PostLogin, PreSession och PostSession fungerar alla som beskrivs nedan.

För varje typ av skript kallas det som körs som standard ”Default” och är lagrat i en katalog som är associerad med skripttypen. Så standard Init-skriptet är <etc>/gdm/Init/Default. Ett per-skärm-skript kan tillhandahållas och om det existerar kommer det att köras istället för standardskriptet. Sådana skript lagras i samma katalog som standardskriptet och har samma namn som värdet för Xserverns DISPLAY för den skärmen. Om till exempel skriptet <Init>/:0 existerar så kommer det att köras för DISPLAY ”:0”.

Alla dessa skript körs med root-privilegier och returnerar 0 om de körs utan problem, och en returkod som inte är 0 om något fel uppstod som bör orsaka att inloggningssessionen bör avbrytas. Notera också att GDM kommer att blockera tills skriptet avslutas, så om något av dessa skript hänger kommer detta att orsaka att inloggningsprocessen också hänger.

När Xservern för inloggnings-GUI:t har startats utan problem, men innan inloggnings-GUI:t faktiskt visas kommer GDM att köra skriptet Init. Detta skript är användbart för att starta program som ska köras medan inloggningsskärmen visas, eller för att göra speciell initiering om så behövs.

Efter att användaren har autentiserats utan problem kommer GDM att köra skriptet PostLogin. Detta görs innan någon sessionsinställning har genomförts, och före pam_open_session-anropet. Detta skript är användbart för sessionsinitiering som måste göras innan sessionen startar. Du kanske vill ställa in användarens $HOME-katalog om det behövs.

Efter att användarsessionen har initierats kommer GDM att köra skriptet PreSession. Detta skript är användbart för sessionsinitiering som måste göras efter att session har initierats. Det kan användas för till exempel sessionshantering eller loggning.

När en användare avslutar sin session kommer GDM att köra skriptet PostSession. Notera att Xservern kommer att ha avslutats vid tidpunkten då detta skript köras så den bör inte anropas.

Notera att skriptet PostSession kommer att köras även om skärmen misslyckas med att svara på grund av ett I/O-fel eller liknande. Därför finns det ingen garanti att X-program kommer att fungera under skriptkörningen.

Alla av de ovanstående skripten kommer att sätta miljövariabeln $RUNNING_UNDER_GDM till yes. Om skripten också delas med andra skärmhanterare kommer detta att låta dig identifiera när GDM anropar dessa skript så du kan köra viss kod när GDM används.

5.2. Autostartskonfiguration

Katalogen <share>/gdm/autostart/LoginWindow innehåller filer i formatet som specificerats i ”FreeDesktop.org Desktop Application Autostart Specification”. Standardfunktioner i specifikationen kan användas för att ange att program bör omstartas automatiskt eller bara köras om ett GConf-konfigurationsvärde är inställt, etc.

.desktop-filer i denna katalog kommer att orsaka att det associerade programmet automatiskt startar samtidigt som inloggningsgränssnittets GUI. Som standard så levereras med filer som startar om inloggningsgränssnittet gdm-simple-greeter i sig, programmet gnome-power-manager, gnome-settings-daemon och fönsterhanteraren metacity. Dessa program behövs för att inloggningsprogrammet ska fungera. Därtill tillhandahålls desktop-filer för att starta diverse hjälpmedelsprogram om konfigurationsvärdena ställts in som anges i avsnittet Hjälpmedelskonfiguration nedan.

5.3. Xsession-skript

Det finns också ett Xsession-skript i <etc>/gdm/Xsession som anropas mellan skripten PreSession och PostSession. Detta skript har inte per-skärm-stöd som de övriga skripten. Detta skript används för att faktiskt starta användarsessionen. Detta skript körs som användaren och kommer att köra den session som angetts av Desktop-sessionsfilen som användaren valt att starta.

5.4. Konfiguration av demonerna

GDM-demonen konfigureras via filen <etc>/gdm/custom.conf. Standardvärden är lagrade i GConf i filen gdm.schemas. Det rekommenderas att slutanvändare modifierar filen <etc>/gdm/custom.conf eftersom schemafilen kan skrivas över när användaren uppdaterar sitt system till en nyare version av GDM.

Notera att äldre versioner av GDM har stöd för ytterligare konfigurationsalternativ som saknar stöd i de senaste versionerna av GDM.

Filen <etc>/gdm/custom.conf är skapad i keyfile-formatet. Nyckelord i hakparenteser definierar gruppavsnitt, strängar före ett likhetstecken (=) är nycklar och datan efter likhetstecknet representerar deras värden. Tomma rader eller rader som inleds med brädgård (#) ignoreras.

Filen <etc>/gdm/custom.conf har stöd för gruppavsnitten ”[daemon]”, ”[security]” och ”[xdmcp]”. Inom varje grupp finns det speciella namn/värde-par som kan anges för att modifiera hur GDM beter sig. För att till exempel aktivera tidsbegränsad inloggning och ange att användaren ska vara en användare med namnet ”du”, måste du modifiera filen så att den innehåller följande rader:

[daemon]
TimedLoginEnable=true
TimedLogin=du

En fullständig lista följer över konfigurationsnycklar som stöds:

5.4.1. [chooser]

Multicast
Multicast=false

Om true och IPv6 är aktiverat kommer väljaren att skicka en multicast-förfrågan till det lokala nätverket och samla in svaren från värdarna som har gått med i multicast-gruppen.

MulticastAddr
MulticastAddr=ff02::1

Detta är den länklokala multicast-adressen.

5.4.2. [daemon]

TimedLoginEnable
TimedLoginEnable=false

Om användaren som anges i TimedLogin skulle vara inloggad efter ett antal sekunder (ställs in med TimedLoginDelay) av inaktivitet på inloggningsskärmen. Detta är användbart för publika terminaler eller kanske till och med hemanvändning. Om användaren använder tangentbordet eller bläddrar i menyn kommer att tidsbegränsningen att återställas till TimedLoginDelay eller 30 sekunder, beroende på vilket som är högst. Om användaren inte matar in ett användarnamn utan bara trycker på RETUR-tangenten medan inloggningsprogrammet begär användarnamnet kommer GDM att anta att användaren omedelbart vill logga in som den tidsbegränsade användaren. Notera att inget lösenord kommer att begäras för denna användare så du bör vara aktsam, men om PAM används kan det konfigureras att kräva att ett lösenord matas in innan inloggning tillåts. Läs avsnittet ”Säkerhet->PAM” i handboken för vidare information, eller hjälp om denna funktion inte verkar fungera.

TimedLogin
TimedLogin=

Detta är användaren som bör loggas in efter ett antal sekunders inaktivitet.

Om värdet slutar med ett vertikalstreck | (rörsymbolen) kommer GDM att köra det angivna programmet och använda värdet som det returnerar på standardutmatning från programmet som användaren. Programmet körs med miljövariabeln DISPLAY satt så det är möjligt att ange användaren per skärm. Om till exempel värdet är ”/usr/bin/getloginuser|” kommer programmet ”/usr/bin/getloginuser” att köras för att hämta användarvärdet.

TimedLoginDelay
TimedLoginDelay=30

Fördröjningen i sekunder innan TimedLogin-användaren loggas in.

AutomaticLoginEnable
AutomaticLoginEnable=false

Om true, kommer användaren som angivits i AutomaticLogin att loggas in omedelbart. Denna funktion fungerar som tidsbegränsad inloggning med en fördröjning på 0 sekunder.

AutomaticLogin
AutomaticLogin=

Detta är användaren som ska loggas in omedelbart om AutomaticLoginEnable är true.

Om värdet slutar med ett vertikalstreck | (rörsymbolen) kommer GDM att köra det angivna programmet och använda värdet som det returnerar på standardutmatning från programmet som användaren. Programmet körs med miljövariabeln DISPLAY satt så det är möjligt att ange användaren per skärm. Om till exempel värdet är ”/usr/bin/getloginuser|” kommer programmet ”/usr/bin/getloginuser” att köras för att hämta användarvärdet.

User
User=gdm

Användarnamnet som inloggningsskärmen och andra GUI-program körs under. Läs vidare om konfigurationsnyckeln Group och i avsnittet ”Security->GDM-användare och -grupp” i detta dokument för vidare information.

Group
Group=gdm

Gruppnamnet som inloggningsskärmen och andra GUI-program körs under. Läs vidare om konfigurationsnyckeln User och i avsnittet ”Security->GDM-användare och -grupp” i detta dokument för vidare information.

5.4.3. Felsökningsalternativ

[debug]
Enable
Enable=false

För att aktivera felsökning ställ in nyckeln debug/Enable till ”true” i filen <etc>/gdm/custom.conf och starta om GDM. Då kommer felsökningsutskrifter att skickas till systemet loggfil (<var>/log/messages eller <var>/adm/messages beroende på ditt operativsystem).

5.4.4. Inloggningsskärmsalternativ

[greeter]
IncludeAll
IncludeAll=true

Om true så kommer ansiktsbläddraren att visa alla användare på den lokala maskinen. Om false så kommer ansiktsbläddraren bara att visa användare som nyligen har loggat in.

När denna nyckel är true kommer GDM att anropa fgetpwent() för att erhålla en lista över lokala användare på systemet. Användare som har ett användar-ID lägre än 500 (eller 100 för Oracle Solaris) kommer att filtreras bort. Ansiktsbläddraren kommer också att visa användare som nyligen har loggat in på systemet (till exempel NIS/LDAP-användare). Denna lista fås genom att anropa ConsoleKit-gränssnittet ck-history. Det kommer också att filtrera bort användare som inte har ett giltigt skal (giltiga skal är skal som getusershell() returnerar - /sbin/nologin eller /bin/false anses vara ogiltiga skal även om getusershell() returnerar dem).

Om false kommer GDM endast att visa användare som tidigare loggat in på systemet (lokala eller NIS/LDAP-användare) genom att anropa ConsoleKit-gränssnittet ck-history.

Include
Include=

Ställ in en lista över användaren som alltid ska inkluderas i ansiktsbläddraren. Detta värde sätts till en lista av användare separerade med kommatecken. Som standard är värdet tomt.

Exclude
Exclude=bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap

Ställ in en lista över användare som alltid ska exkluderas från ansiktsbläddraren. Detta värdet sätts till en lista av användare separerade med kommatecken. Notera att inställningen i custom.conf åsidosätter standardvärdet, så om du önskar att lägga till ytterligare användare i listan måste du ställa in värdet så att det innehåller standardvärdet med de extra användarna tillagda i slutet på listan.

5.4.5. Säkerhetsalternativ

[security]
DisallowTCP
DisallowTCP=true

Om true så kommer -nolisten tcp alltid att läggas till på kommandoraden när kopplade Xservrar startas, vilket förbjuder TCP-anslutning. Detta är en säkrare konfiguration om du inte använder fjärranslutningar.

5.4.6. XDCMP-stöd

[xdmcp]
DisplaysPerHost
DisplaysPerHost=1

För att förhindra angripare från att fylla upp den väntande kön kommer GDM bara att tillåta en anslutning per fjärrdator. Om du vill erbjuda ytterligare skärmtjänster till datorer med mer än en skärm bör du öka detta värde.

Notera att antalet kopplade SKÄRMAR som tillåts inte är begränsat. Endast fjärranslutningar via XDMCP begränsas av detta konfigurationsalternativ.

Enable
Enable=false

Att sätta detta till true låter XDMCP-stödet att låta GDM hantera fjärrskärmar/X-terminaler.

gdm lyssnar efter begäran på UDP-port 177. Se Port-flaggan för vidare information.

Om GDM kompilerats för att ha stöd för det så kommer tillgång från fjärrskärmar att kontrolleras via biblioteket TCP-Wrappers. Tjänstnamnet är gdm

Du bör lägga till

gdm:.din.domän
i din <etc>/hosts.allow beroende på din TCP-Wrappers-konfiguration. Se manualsidan hosts.allow för vidare detaljer.

Notera att XDMCP inte är ett särskilt säkert protokoll och att det är en bra idé att blockera UDP-port 177 i din brandvägg om du inte verkligen behöver det.

HonorIndirect
HonorIndirect=true

Aktiverar XDMCP INDIRECT-val (d.v.s. fjärrkörning av gdmchooser) för X-terminaler som inte tillhandahåller sin egen skärmbläddrare.

MaxPending
MaxPending=4

För att undvika överbelastningsattacker har GDM en kö av väntande anslutningar med fast storlek. Bara MaxPending skärmar kan starta samtidigt.

Notera att denna parameter inte begränsar antalet fjärrskärmar som kan hanteras. Det begränsar bara antalet skärmar som kan påbörja anslutningar samtidigt.

MaxSessions
MaxSessions=16

Bestämmer maximalt antal fjärrskärmsanslutningar som kan hantera samtidigt. D.v.s. det totala antalet fjärrskärmar som kan använda din värd.

MaxWait
MaxWait=30

När GDM är redo att hantera en skärm så skickas ett ACCEPT-paket till det innehållandes ett unikt sessions-ID som kommer att användas i framtida XDMCP-konversationer.

GDM kommer sedan att placera sessions-ID:t i den väntande kön där det väntar på att skärmen ska svara med en MANAGE-begäran.

Om inget svar tas emot inom MaxWait sekunder kommer GDM att anse att skärmen är död och ta bort den från den väntande kön vilket frigör utrymme för andra skärmar.

MaxWaitIndirect
MaxWaitIndirect=30

Parametern MaxWaitIndirect avgör maximalt antal sekunder mellan tiden då en användare väljer en värd och nästföljande indirekta förfrågan då användaren är ansluten till värden. När tidsbegränsningen övertrasseras kommer informationen om den valda värden att glömmas och det indirekta utrymmet att frigöras för andra skärmar. Informationen kan komma att glömmas tidigare om det finns fler värdar än MaxPendingIndirect som försöker att skicka indirekta förfrågningar.

PingIntervalSeconds
PingIntervalSeconds=60

Om Xservern inte svarar inom det angivna antalet sekunder kommer anslutningen att stoppas och sessionen att avslutas. När detta händer kommer demonen att dö med en ALARM-signal. Notera att GDM 2.20 och tidigare multiplicerade denna inställning med 2, så det kan vara nödvändigt att öka tidsbegränsningen om du uppgraderar från GDM 2.20 och tidigare till en nyare version.

Notera att GDM tidigare brukade ha en konfigurationsnyckel PingInterval som också räknade i minuter. För de flesta användningsfall önskade man att denna inställning skulle vara kortare än en minut. Men eftersom det i de flesta fall då XDMCP används (exempelvis i terminal-laboratorier) kommer en latens på mer än 15 sekunder eller så att betyda att terminalen stängts av eller startas om och då vill man avsluta sessionen.

Port
Port=177

UDP-port-numret som gdm bör lyssna på efter XDMCP-begäran. Ändra inte detta om du inte vet vad du gör.

Willing
Willing=<etc>/gdm/Xwilling

När maskinen skickar ett WILLING-paket tillbaka efter en QUERY så skickas en sträng som anger den aktuella statusen för denna server. Standardmeddelandet är system-ID:t, men det är möjligt att skapa ett skript som visar anpassade meddelanden. Om detta skript inte existerar eller denna nyckel är tom kommer standardmeddelandet att skickas. Om detta skript lyckas och producerar utskrifter så kommer den första (och bara den första) raden av utskrifter att skickas. Det körs som mest var tredje sekund för att förhindra möjliga överbelastningsattacker genom att överbelasta maskinen med QUERY-paket.

5.5. Enkel inloggningsskärmskonfiguration

GDM standardinloggningsskärm kallas enkel inloggningsskärm och konfigureras via GConf. Standardvärden lagras i GConf i filen gdm-simple-greeter.schemas. Dessa standardvärden kan åsidosättas om ”gdm”-användaren har en skrivbar $HOME-katalog att spara GConf-inställningar i. Dessa värden kan redigeras via programmen gconftool-2 eller gconf-editor. Stöd finns för följande konfigurationsalternativ:

Tangenter för inloggningsskärmskonfiguration
/apps/gdm/simple-greeter/banner_message_enable
false (boolean)

Styr huruvida meddelandetexten ska visas.

/apps/gdm/simple-greeter/banner_message_text
NULL (sträng)

Anger textmeddelande som ska visas på inloggningsskärmen.

/apps/gdm/simple-greeter/disable_restart_buttons
false (boolean)

Styr huruvida omstartsknapparna visas i inloggningsfönstret.

/apps/gdm/simple-greeter/disable_user_list
false (boolean)

Om true så kommer ansiktsbläddraren med kända användare inte att visas i inloggningsfönstret.

/apps/gdm/simple-greeter/logo_icon_name
computer (sträng)

Ställ in till temats ikonnamn som ska användas för inloggningsskärmens logotyp.

/apps/gdm/simple-greeter/recent-languages
[] (stränglista)

Ställ in till en lista av språk som ska visas som standard i inloggningsfönstret. Standardvärdet är ”[]”. Med standardinställningen kommer bara systemets standardspråk att visas och alternativet ”Andra…” att visa en dialogruta som visar den fullständiga listan över tillgängliga språk som användaren kan välja bland.

Användare avses inte ändra denna inställning för hand. Istället håller GDM reda på vilka språk som väljs i denna konfigurationsnyckel och kommer att visa dem i listboxen för språk tillsammans med valet ”Andra…”. På detta sätt kommer ofta valda språk att vara enklare att välja.

/apps/gdm/simple-greeter/recent-layouts
[] (stränglista)

Ställ in till en lista över tangentbordslayouter som ska visas som standard i inloggningspanelen. Standardvärdet är ”[]”. Med standardinställningen kommer endast systemets standardtangentbordslayout att visas och alternativet ”Andra…” kommer att visa en dialogruta med en fullständig lista över tillgängliga tangentbordslayouter som användaren kan välja bland.

Användare avses inte ändra denna inställning för hand. Istället håller GDM reda på vilka tangentbordslayouter som väljs i denna konfigurationsnyckel och kommer att visa dem i listboxen för tangentbordslayout tillsammans med valet ”Andra…”. På detta sätt kommer ofta valda layouter att vara enklare att välja.

/apps/gdm/simple-greeter/wm_use_compiz
false (boolean)

Styr huruvida compiz används som fönsterhanterare istället för metacity.

5.6. Hjälpmedelskonfiguration

Detta avsnitt beskriver konfigurationsalternativ för hjälpmedel som finns i GDM.

5.6.1. GDM hjälpmedelsdialog och GConf-nycklar

GDM inloggningspanelen på inloggningsskärmen har en hjälpmedelsikon. Om du klickar på den ikonen öppnas GDM hjälpmedelsdialog. I hjälpmedelsdialogrutan finns det en lista av kryssrutor så att användaren kan aktivera eller inaktivera respektive hjälpmedel.

Kryssrutorna som motsvarar hjälpmedlen skärmtangentbord, skärmförstorare och skärmläsare påverkar tre GConf-nycklar som beskrivs i nästa avsnitt av detta dokument. Genom att aktivera eller inaktivera dessa kryssrutor så kommer motsvarande GConf-nyckel att sättas till ”true” eller ”false”. När GConf-nyckeln sätts till true så startas hjälpmedlet som är länkat till denna GConf-nyckel. När GConf-nyckeln sätts till ”false” så kommer hjälpmedlet länkat till GConf-nyckeln att avslutas. Dessa GConf-nycklar återställs inte automatiskt till standardläget efter att en användare har loggat in. Följaktligen kommer de hjälpmedel som kördes vid den senaste inloggningssessionen att automatiskt starta vid nästa GDM-inloggningssession.

De övriga kryssrutorna i GDM-hjälpmedelsdialogruta har inte motsvarande GConf-nycklar eftersom inga extra program startas för att hjälpmedelsfunktionen de erbjuder ska fungera. Dessa andra alternativ motsvarar hjälpmedelsfunktioner som erbjuds av Xservern som alltid kör under en GDM-session.

5.6.2. GConf-nycklar för hjälpmedel

GDM erbjuder följande GConf-nycklar för att kontrollera dess hjälpmedelsfunktioner:

Tangenter för GDM-konfiguration
/desktop/gnome/interface/accessibility
false (boolean)

Kontrollerar huruvida hjälpmedelsinfrastrukturen kommer att startas samtidigt med GDM GUI. Detta behövs för att många hjälpmedelsprogram ska fungera.

/desktop/gnome/applications/at/screen_magnifier_enabled
false (boolean)

Om satt, kommer hjälpmedelsverktyget länkat till denna GConf-nyckel att startas samtidigt med GDM GUI-programmet. Som standard är detta ett skärmförstorarprogram.

/desktop/gnome/applications/at/screen_keyboard_enabled
false (boolean)

Om satt, kommer hjälpmedelsverktyget länkat till denna GConf-nyckel att startas samtidigt med GDM GUI-programmet. Som standard är detta ett program för skärmtangentbord.

/desktop/gnome/applications/at/screen_reader_enabled
false (boolean)

Om satt, kommer hjälpmedelsverktyget länkat till denna GConf-nyckel att startas samtidigt med GDM GUI-programmet. Som standard är detta ett skärmläsarprogram.

5.6.3. Att länka GConf-nycklar till hjälpmedelsprogram

För GConf-nycklarna screen_magnifier_enabled, screen_keyboard_enabled, och screen_reader_enabled beror vilket hjälpmedelsprogram som startas på desktop-filerna i GDM:s autostartkatalog som beskrivs i avsnittet ”Autostartkonfiguration” i denna manual. Vilken desktop-fil som helst i GDM:s autostartkatalog kan länkas till dessa GConf-nycklar genom att ange den GConf-nyckeln i värdet AutostartCondition i dekstop-filen. Den exakta AutostartCondition-raden i desktop-filen skulle kunna vara en av följande:

AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_magnifier_enabled
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_reader_enabled

När en hjälpmedelsnyckel är true då kommer det program som är länkat till den nyckeln i en GDM autostart-desktop-fil att startas (om inte nyckeln Hidden är satt till true i samma desktop-fil). En ensam GConf-nyckel kan till och med starta flera hjälpmedelsverktyg om det finns flera desktop-filer med detta AutostartCondition i GDM:s autostartkatalog.

5.6.4. Exempel på hur man justerar hjälpmedelskonfigurationen

Om GNOME till exempel distribueras med GOK som standard skärmtangentbord, då skulle detta kunna ersättas med ett annat program om önskvärt. För att ersätta GOK med skärmtangentbordsprogrammet ”onboard” och dessutom aktivera hjälpmedelsverktyget ”mousetweaks” för uppehållsstöd, då behövs följande konfiguration.

Skapa en desktop-fil för onboard och en annan för mousetweaks; till exempel onboard.desktop och mousetweaks.desktop. Dessa filer måste placeras i GDM:s autostartkatalog och vara i formatet som beskrivs i avsnittet ”Autostartkonfiguration” i detta dokument.

Följande är ett exempel för filen onboard.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Onboard Onscreen Keyboard
Comment=Use an on-screen keyboard
TryExec=onboard
Exec=onboard --size 500x180 -x 20 -y 10
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Accessibility;
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Följande är ett exempel för filen mousetweaks.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Software Mouse-Clicks
Comment=Perform clicks by dwelling with the pointer
TryExec=mousetweaks
Exec=mousetweaks --enable-dwell -m window -c -x 20 -y 240 
Terminal=false
Type=Application
StartupNotify=true
Categories=GNOME;GTK;Accessibility;
AutostartCondition=GNOME /desktop/gnome/applications/at/screen_keyboard_enabled

Notera raden med AutostartCondition som länkar båda desktop-filerna till GConf-nyckeln för skärmtangentbord.

För att inaktivera GOK från att starta måste desktop-filen för GOK skärmtangentbord tas bort eller inaktiveras. Annars kommer onboard och GOK att startas samtidigt. Detta kan göras genom att ta bort gok.desktop-filen från GDM:s autostartkatalog eller genom att lägga till nyckelinställningen ”Hidden=true” i gok.desktop-filen.

Efter att dessa ändringar är gjorda kommer GOK inte längre att startas när användaren aktiverar skärmtangentbord i GDM-sessionen; istället kommer onboard och mousetweaks att startas.

5.7. Allmänna sessionsinställningar

GDM:s inloggningsskärm använder vissa ramverk på samma sätt som din skrivbordssession gör. Därför är påverkas det av ett antal av samma GConf-inställningar. För varje inställning av dessa kommer inloggningsskärmen att använda standardvärdet om det inte är specifikt åsidosatt av a) GDM:s installerade obligatoriska policy b) systemet obligatoriska policy. GDM installerar sin egen obligatoriska policy för att låsa ner vissa inställningar av säkerhetsskäl.

5.8. GNOME Inställningsdemon

GDM erbjuder följande insticksmoduler för gnome-settings-daemon: a11y-keyboard, background, sound, xsettings.

Dessa är ansvariga för saker som bakgrundsbilden, typsnittet och temainställningar, ljudhändelser, etc.

Insticksmoduler kan också inaktiveras via GConf. Om du till exempel vill inaktivera ljudinsticksmodulen då kan du inaktivera följande nyckel: /apps/gdm/simple-greeter/settings-manager-plugins/sound/active.

5.9. GDM-sessionskonfiguration

GDM-sessioner specificeras via FreeDesktop.org Desktop Entry Specification, som kan läsas på följande URL: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Som standard kommer GDM att installera desktop-filer i katalogen <share>/xsessions. GDM kommer att söka i följande kataloger i angiven ordning för att hitta desktop-filer: <etc>/X11/sessions/, <dmconfdir>/Sessions, <share>/xsessions, och <share>/gdm/BuiltInSessions. Som standard är <dmconfdir> satt till <etc>/dm/ om inte GDM konfigurerats att använda en annan katalog via flaggan ”--with-dmconfdir”.

En session kan inaktiveras genom att redigera desktop-filen och lägga till följande rad: Hidden=true.

GDM desktop-filer har stöd för ett GDM-specifikt tillägg, an nyckel med namnet ”X-GDM-BypassXsession”. Om nyckeln inte är angiven i en desktop-fil så är standardvärdet ”false”. Om denna nyckel har värdet ”true” i en desktop-fil kommer GDM att starta programmet som är angivet av ”Exec”-nyckeln omedelbart när användarsessionen startas. Det kommer inte att köra programmet via skriptet <etc>/gdm/Xsession, vilket är det normala beteendet. Då åsidosättning av skriptet <etc>/gdm/Xsession inte ställer in användarsession med de normala system- och användarinställningarna kan sessioner som startas på detta sätt vara användbara för att felsöka problem i system- eller användarskripten som förhindrar en användare från att kunna starta en session.

5.10. GDM-användarsession och språkkonfiguration

Användarens standard session och språkval sparas i filen ~/.dmrc. När en användare loggar in för första gången, skapas denna filen med användarens första val. Användaren kan ändras dessa standardvärden genom att helt enkelt ändra till andra värden vid inloggning. GDM kommer att komma ihåg denna ändring vid nästföljande inloggningar.

Filen ~/.dmrc följer standard INI-format. Det har ett avsnitt kallat [Desktop] som har två nycklar: Session och Language.

Nyckeln Session anger basnamnet för sessionens .desktop-fil som användaren normalt önskar använda utan filändelsen .desktop. Nyckeln Language anger språket som användaren önskar använda som standard. Om endera av dessa nycklar saknas, kommer standardvärdet för systemet att användas. Filen ser normalt ut som följer:

[Desktop]
Session=gnome
Language=cs_CZ.UTF-8