Nastavení

GDM má několik rozhraní pro nastavení. Patří k nim skriptování integračních bodů, nastavení démona, nastavení uvítání, obecné nastavení sezení, nastavení integrace s gnome-settings-daemon a nastavení sezení. Tyto typy integrace jsou podrobně popsány níže.

5.1. Skriptování integračních bodů

Skripty GDM pro integrační body najdete ve složce <etc>/gdm/.

Xsession
Init/
PostLogin/
PreSession/
PostSession/

Skripty Init, PostLogin, PreSession a PostSession pracují podle popisu uvedeného dále.

Pro každý typ skriptu, se ten, který bude proveden, nazývá „Default“ a je uložen ve složce související s daným typem skriptu. Takže výchozí skript Init je <etc>/gdm/Init/Default. Mohou být poskytnuty i skripty pro jednotlivé displeje, a když existují, budou spuštěny místo výchozího skriptu. Takovéto skripty jsou uloženy ve stejné složce, jako výchozí skript a mají stejný název jako hodnota DISPLAY Xserveru pro daný displej. Například, když existuje skript <Init>/:0, bude spuštěn pro DISPLAY rovno „:0“.

Všechny tyto skripty jsou spuštěny s oprávněními superuživatele root a vrací 0, když byl běh úspěšný, a nenulovou návratovou hodnotu, když selhalo něco, co má za následek přerušení přihlašovacího sezení. Uvědomte si také, že GDM je až do dokončení těchto skriptů blokováno, takže když skript zamrzne, zamrzne i celý přihlašovací proces.

Když je úspěšně spuštěn Xserver pro grafické přihlašovací rozhraní, ale před tím, než je grafické přihlašovací rozhraní zobrazeno, spustí GDM skript Init. Tento skript se hodí pro spuštní programů, které by měly být spuštěny během zobrazení přihlašovací obrazovky nebo pro provedení speciální inicializace, pokud je potřeba.

Po té, co je uživatel úspěšně ověřen, spustí GDM skript PostLogin. Provede se to před spuštěním sezení, i před voláním pam_open_session. Tento skript se hodí pro inicializaci sezení, kterou je potřeba udělat před spuštěním sezení. Například můžete nastavit složku $HOME uživatele, pokud je to potřeba.

Po té, co je uživatelovo sezení inicializováno, spustí GDM skript PreSession. Tento skript se hodí pro provádění libovolných inicializací sezení, které jsou potřeba k úspěchu po té, co bylo sezení inicializováno. Například může být použit pro správu sezení nebo účtování.

Když uživatel ukončí své sezení, spustí GDM skript PostSession. Upozorňujeme, že během provádění tohoto skriptu je zastaven Xserver, takže by se k němu nemělo přistupovat.

Vezměte na vědomí, že skript PostSession bude spuštěn, i když displej nebude reagovat kvůli chybě V/V apod. Z toho důvodu není žádná záruka, že během provádění tohoto skriptu budou fungovat apliace X.

Všechny výše uvedené skripty nastaví proměnnou prostředí $RUNNING_UNDER_GDM na yes. Pokud jsou skripty také sdíleny s ostatními správci displejů, umožňuje vám to zjistit, že tyto skripty volá GDM a použít tak kód specifický pro GDM.

5.2. Nastavení automatického spuštění

Složka <share>/gdm/autostart/LoginWindow obsahuje soubory ve formátu definovaném v „FreeDesktop.org Desktop Application Autostart Specification“ (specifikace automatického spouštění aplikací pracovního prostředí). Standardní vlastnosti ze specifikace můžete použít k určení programů, které by se měly automaticky spustit nebo spustit jen, když je nastavena hodnota v nastavení GConf apod.

Soubory .desktop v této složce způsobí, že k nim přidružené programy se automaticky spustí spolu s grafickým přihlašovacím rozhraním uvítacího programu. Ve výchozím stavu je GDM šířen se soubory, které automaticky spouští vlastní uvítací program gdm-simple-greeter, aplikaci gnome-power-manager, démona gnome-settings-daemon a okenního správce metacity. Tyto programy jsou zapotřebí, aby uvítací program fungoval. Navíc soubory .desktop poskytují spuštění různých programů s asistenčními nástroji, když jsou nastaveny hodnoty uvedené níže v kapitole Nastavení zpřístupnění.

5.3. Skript Xsession

Existuje také skript Xsession umístěný v <etc>/gdm/Xsession, který je volán mezi skripty PreSession a PostSession. Tento skript není podporován pro jednotlivé displeje, jako ostatní skripty. Používá se pro skutečné spuštění uživatelského sezení. Tento skritp je spouštěn pod daným uživatelem a spustí vše, co sezení specifikuje v souboru sezení pracovní plochy, který si uživatel vybral.

5.4. Nastavení démona

Démon GDM se nastavuje pomocí souboru <etc>/gdm/custom.conf. Výchozí hodnoty se uchovávají v GConf v souboru gdm.schemas. Doporučuje se, aby koncový uživatel měnil soubor <etc>/gdm/custom.conf, protože soubor se schématem může být přepsán novou verzí GDM při aktualizaci systému.

Upozorňujeme, že starší verze GDM podporovala další volby nastavení, které v posledních verzích GDM již nadále podporovány nejsou.

Soubor <etc>/gdm/custom.conf je ve formátu keyfile (soubor s klíči). Klíčová slova v hranatých závorkách definují oddíly, řetězce před znakem „=“ jsou klíče a data za znakem rovnítka představují jeho hodnotu. Prázdné řádky nebo řádky začínající znakem „#“ jsou ignorovány.

Soubor <etc>/gdm/custom.conf podporuje skupiny „[daemon]“, „[security]“ a „[xdmcp]“. V rámci každé skupiny jsou konkrétní páry klíč/hodnota, které mohou být zadány, aby změnily chování GDM. Například, když chcete povolit příhlášení po uplynutí času a určit k tomu uživatele se jménem „vy“, upravili byste soubor tak, aby obsahoval následující řádky:

[daemon]
TimedLoginEnable=true
TimedLogin=vy

Následuje úplný seznam podporovaných klíčů nastavení:

5.4.1. [chooser]

Multicast
Multicast=false

Když je zapnuto a je povoleno IPv6, chooser odešle vícesměrový dotaz do místní sítě a sesbírá odpovědi od počítačů, které se zapojily do skupiny.

MulticastAddr
MulticastAddr=ff02::1

Jedná se o vícesměrovou adresu Link-local.

5.4.2. [daemon]

TimedLoginEnable
TimedLoginEnable=false

Jestli by měl být uživatel uvedený v TimedLogin přihlášen po počtu sekund (nastavením v TimedLoginDelay) nečinnosti přihlašovací obrazovky. To se hodí pro veřejně přístupné terminály a samozřejmě i pro domácí použití. Když uživatel použije klávesnici nebo bude procházet nabídku, vrátí se odpočet na TimedLoginDelay nebo 30 sekund, podle toho, co je vyšší. Pokud uživatel nezadá uživatelské jméno, ale jen zmáčkne klávesu Enter během toho, co přihlašovací program čeká na zadání uživatelského jména, bude GDM předpokládat, že uživatel se chce ihned přihlásit jako uživatel uvedený v načasovaném přihlášení. Upozorňujeme, že pro tohoto uživatele nebude požadováno žádné heslo, takže buďte opatrní, i když pomocí PAM je možné nastavit požadavek na zadání hesla před tím, než se umožní přihlášení. Na další informace, nebo nápovědu když to nefunguje, se podívejte do kapitoly „Bezpečnost>>PAM“

TimedLogin
TimedLogin=

Jedná se o uživatele, který by měl být přihlášen po uplynutí zadaného počtu vteřin nečinnosti.

Pokud hodnota končí svislou čárou | (symbol roury), spustí GDM zadaný program a použije cokoliv, co program vrátí na standardní výstup, jako uživatele. Program je spuštěn s nastavenou proměnnou prostředí DISPLAY, takže je možné určit uživatele pro každý displej zvlášť. Například, když je hodnota „/usr/bin/getloginuser|“, pak bude spuštěn program „/usr/bin/getloginuser“, aby od něj byla zjištěna hodnota s uživatelem.

TimedLoginDelay
TimedLoginDelay=30

Doba, v sekundách, po jejímž uplynutí bude přihlášen uživatel TimeLogin.

AutomaticLoginEnable
AutomaticLoginEnable=false

Když je zapnuto, měl by být ihned přihlášen uživatel uvedený v AutomaticLogin. Podobá se to funkci přihlášení po uplynutí času, akorát s časem 0 sekund.

AutomaticLogin
AutomaticLogin=

Jedná se o uživatele, který by měl být ihned přihlášen, když je zapnuto AutomaticLoginEnable.

Pokud hodnota končí svislou čárou | (symbol roury), spustí GDM zadaný program a použije cokoliv, co program vrátí na standardní výstup, jako uživatele. Program je spuštěn s nastavenou proměnnou prostředí DISPLAY, takže je možné určit uživatele pro každý displej zvlášť. Například, když je hodnota „/usr/bin/getloginuser|“, pak bude spuštěn program „/usr/bin/getloginuser“, aby od něj byla zjištěna hodnota s uživatelem.

User
User=gdm

Jméno uživatele, pod kterým má běžet uvítání a další programy s grafickým rozhraním. Ohledně dalších informací se podívejte na klíč nastavení Group a kapitolu „Security->GDM User And Group“ v tomto dokumentu.

Group
Group=gdm

Název skupiny, pod kterou má běžet uvítání a další programy s grafickým rozhraním. Ohledně dalších informací se podívejte na klíč nastavení User a kapitolu „Security->GDM User And Group“ v tomto dokumentu.

5.4.3. Volby ladění

[debug]
Enable
Enable=false

Když chcete povolit ladění, nastavte v souboru <etc>/gdm/custom.conf klíč debug/Enable na „true“ a restartujte GDM. Výstup ladění se bude posílat do souboru se systémovým záznamem (<var>/log/messages nebo <var>/adm/messages v závislosti na vašem operačním systému).

5.4.4. Volby uvítání

[greeter]
IncludeAll
IncludeAll=true

Kdy je nastaveno na true, bude prohlížeč obličejů zobrazovat všechny uživatele na místním stroji. Pokud na false, bude zobrazovat jen uživatele, kteří se nedávno přihlašovali.

Když je tento klíč nastaven na true, bude GDM volat fgetpwent(), aby získal seznam místních uživatelů v systému. Všichni uživatelé s ID menším než 500 (nebo 100 v Oracle Solaris) jsou odfiltrováni. Prohlížeč obličejů zobrazí také všechny uživatele, kteří se nedávno přihlašovali do systému (např. uživatele NIS/LDAP). Jejich seznam získá voláním rozhraní ck-history v ConsoleKit. Odfiltrováni budou také všichni uživatelé, kteří nemají platný shell (platné shelly jsou ty, které vrací getusershell() – /sbin/nologin nebo /bin/false jsou považovány za neplatné shelly, i když je getusershell() uvede).

Když je vypnuto, pak GDM mnohem jednodušeji zobrazí uživatele, kteří byli před tím přihlášeni do systému (místní nebo uživatele NIS/LDAP), pomocí volání rozhraní ConsoleKit ck-history.

Include
Include=

Nastavte na seznam uživatelů, kteří mají být vždy zahrnuti do prohlížeče obličejů. Tato hodnota je nastavena na seznam uživatelů oddělených čárkami. Ve výchozím stavu je tato hodnota prázdná.

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

Nastavte na seznam uživatelů, kteří mají být vždy vynecháni v prohlížeči obličejů. Tato hodnota je nastavena na seznam uživatelů oddělených čárkami. Upozorňujeme, že nastavení v custom.conf přepisuje výchozí hodnotu, takže když si přejete přidat do seznamu další uživatele, potřebujete nastavit hodnotu na výchozí hodnou a další uživatele přidat nakonec.

5.4.5. Bezpečnostní volby

[security]
DisallowTCP
DisallowTCP=true

Pokud je zapnuto, přidá se při spouštění Xserveru na příkazový řádek přepínač -nolisten tcp, čímž se zakáže připojení TCP. Je to bezpečnější nastavení pro případy, kdy se nepoužívají vzdálená připojení.

5.4.6. XDCMP Support

[xdmcp]
DisplaysPerHost
DisplaysPerHost=1

Aby se zabránilo útočníkům v přeplnění fronty, umožní GDM jen jedno připojení pro každý ze vzdálených počítačů. Pokud chcete poskytovat služby displeje počítačům s více než jednou obrazovkou, musíte tuto hodnotu zvýšit.

Upozorňujeme, že počet povolených připojení displejů není omezen. Touto volbou nastavení se omezí je vzdálená připojení přes XDMCP.

Enable
Enable=false

Nastavením tohoto údaje na true se povolí podpora XDMCP umožňující, aby vzdálené displeje/X terminály byly spravovány pomocí GDM.

gdm naslouchá požadavkům na portu UDP 177. Další podrobnosti viz volba Port.

V případě, že je GDM zkompilováno tak, aby to podporovalo, přístup ze vzdálených displejů může být řízen pomocí knihovny TCP Wrappers. Název služby je gdm.

Měli byste přidat

gdm:.moje.domena
do svého <etc>/hosts.allow, v závislosti na svém nastavení TCP Wrappers. Podrobnosti viz manuálová stránka hosts.allow.

Uvědomte si prosím, že XDMCP není zlášť bezpečný protokol, a proto je dobrý nápad blokovat port UDP 177 na vašem firewallu, pokud jej vyloženě nepotřebujete.

HonorIndirect
HonorIndirect=true

Povoluje výběr INDIRECT u XDMCP (např. vzdáleným spuštěním gdmchooser) pro X-terminály, které neposkytují své vlastní procházení displejů.

MaxPending
MaxPending=4

Aby se předešlo útokům typu DoS (zahlcení pásma), má GDM pevnou velikost fronty pro příchozí připojení. Naráz lze spustit jen MaxPending displejů.

Upozorňujeme, že tento parametr neomezuje počet vzdálených displejů, které mohou být spravovány. Omezuje jen počet displejů zahajujících naráz připojení.

MaxSessions
MaxSessions=16

Určuje maximální počet připojení vzdálených displejů, které mohou být spravovány naráz. Tj. celkový počet vzdálených displejů, které může používat váš hostitel.

MaxWait
MaxWait=30

Když je GDM připraveno spravovat displej, zašle mu paket ACCEPT obsahující jedinečné ID sezení, které bude používáno v následující konverzaci XDMCP.

GDM umístí ID sezení do fronty, kde čeká na odezvu s požadavkem MANAGE od displeje.

Pokud do MaxWait sekund nedorazí odezva, prohlásí GDM displej za mrtvý a vymaže jej z fronty, aby uvolnil slot pro jiný displej.

MaxWaitIndirect
MaxWaitIndirect=30

Parametr MaxWaitIndirect určuje maximální počet sekund mezi časem, kdy uživatel zvolí hostitele, a následným nepřímým dotazem, kdy je uživatel připojen k hostiteli. Když je dosaženo časového limitu, je informace o zvoleném hostiteli zahozena a nepřímý slot uvolněn pro další displej. Informace může být zahozena dříve, když se pokouší poslat nepřímý dotaz více hostitelů, než MaxPendingIndirect.

PingIntervalSeconds
PingIntervalSeconds=60

Pokud Xserver neodpoví v zadaném počtu sekund, je připojení zastaveno a sezení ukončeno. Když se tak stane, podřízený démon skončí se signálem ALARM. Upozorňujeme, že GDM 2.20 a starší násobí toto nastavení dvěma, takže při povýšení z GDM 2.20 a staršího na novější verzi může být potřeba časový limit zvýšit.

Všimněte si, že GDM míval v minulosti klíč nastavení PingInterval, který byl také v minutách. Ve většíne případů nechcete, aby toto nastavení bylo nižší než jedna minuta. Avšak ve většině případů, kdy by bylo použito XDMCP (třeba v terminálových místnostech), by zpoždění o více než přibližně 15 sekund ve skutečnosti znamenalo, že terminál byl vypnut nebo restartován a vy chcete ukončit sezení.

Port
Port=177

Číslo portu UDP, na kterém by měl gdm naslouchat požadavkům XDMCP. Tento údaj neměňte, pokud přesně nevíte, co děláte.

Willing
Willing=<etc>/gdm/Xwilling

Když stroj odešle zpět paket WILLING, po té co obdržel QUERY, pošle řetězec, který uvádí aktuální stav serveru. Výchozí zprávou je ID systému, ale je možné vytvořit skript, který zobrazí vlastní zprávu. Pokud skript neexistuje nebo je tento klíč prázdný, je odeslána výchozí zpráva. Pokud je skript úspěšný a vytvoří nějaký výstup, je první řádek jeho výstupu odeslán (a právě jen první řádek). Spuštěn je nanejvýše každé 3 vteřiny, aby se předešlo možným útokům DoS zahlcujícím stroj pakety QUERY.

5.5. Nastavení jednoduchého uvítání

Výchozí uvítání GDM se nazývá jednoduché uvítání a je nastaveno přes GConf. Výchozí hodnoty jsou uchovány v GConf v souboru gdm-simple-greeter.schemas. Tyto výchozí hodnoty mohou být přepsány, když má uživatel „gdm“ zapisovatelnou složku $HOME, ve které se uchovávají nastavení GConf. Tyto hodnoty mohou být změněny pomocí programů gconftool-2 nebo gconf-editor. Podporovány jsou následující volby nastavení:

Klíče s nastavením uvítání
/apps/gdm/simple-greeter/banner_message_enable
false (pravdivostní)

Řídí, jestli se má zobrazit panel s textem zprávy.

/apps/gdm/simple-greeter/banner_message_text
NULL (řetězec)

Definuje text pro panel se zprávou, který se má zobrazit v uvítacím okně.

/apps/gdm/simple-greeter/disable_restart_buttons
false (pravdivostní)

Řídí, jestli se mají zobrazit restartovací tlačítka v přihlašovacím okně.

/apps/gdm/simple-greeter/disable_user_list
false (pravdivostní)

Když je zapnuto, prohlížeč obličejů se známými uživateli nebude v přihlašovacím okně zobrazen.

/apps/gdm/simple-greeter/logo_icon_name
computer (řetězec)

Nastavte na název ikony z motivu, která se má použít jako logo v uvítání.

/apps/gdm/simple-greeter/recent-languages
[] (seznam řetězců)

Nastavte na seznam jazyků, které se mají zobrazit jako výchozí v přihlašovacím okně. Výchozí hodnota je „[]“. S tímto výchozím nastavením se zobrazí jen výchozí jazyk systému a volba „Další…“, která rozbalí dialogové okno nabízející úplný seznam dostupných jazyků, z kterých si uživatel může vybrat.

Není zamýšleno, aby uživatelé měnili toto nastavení ručně. Místo toho GDM uchovává v tomto klíči nastavení sled dříve vybraných jazyků a zobrazuje je v rozbalovacím seznamu jazyků vedle volby „Další…“. Díky tomu je snažší vybrat běžně vybírané jazyky.

/apps/gdm/simple-greeter/recent-layouts
[] (seznam řetězců)

Nastavte na seznam rozvržení klávesnic, která se mají zobrazit jako výchozí v přihlašovacím okně. Výchozí hodnota je „[]“. S tímto výchozím nastavením se zobrazí jen výchozí rozvržení klávesnice systému a volba „Další…“, která rozbalí dialogové okno nabízející úplný seznam dostupných rozvržení klávesnic, z kterých si uživatel může vybrat.

Není zamýšleno, aby uživatelé měnili toto nastavení ručně. Místo toho GDM uchovává v tomto klíči nastavení sled dříve vybraných rozvržení klávesnic a zobrazuje je v rozbalovacím seznamu rozvržení klávesnic vedle volby „Další…“. Díky tomu je snažší vybrat běžně vybíraná rozvržení klávesnic.

/apps/gdm/simple-greeter/wm_use_compiz
false (pravdivostní)

Řídí, jestli se má místo metacity použít jako okenní správce compiz.

5.6. Nastavení zpřístupnění

Tato část popisuje volby nastavení zpřístupnění dostupné v GDM.

5.6.1. Dialogové okno zpřístupnění GDM a klíče GConf

Uvítací panel GDM na přihlašovací obrazovce zobrazuje ikonu zpřístupnění. Kliknutí na ikonu otevře dialogové okno zpřístupnění GDM. V tomto dialogovém okně je seznam zaškrtávacích políček, takže uživatel můžete povolit nebo zakázat příslušné asistenční nástroje.

Zaškrtávací políčka, která odpovídají asistenčním nástrojům klávesnice na obrazovce, lupa obrazovky a čtečka obrazovky ovlivňují tři klíče GConf, jak je popsáno v další části tohoto dokumentu. Povolením nebo zákázáním pomocí těchto zaškrtávacích políček se příslušné klíče GConf nastaví na „true“ nebo „false“. Když je klíč GConf nastaven na „true“, je odkazovaný asistenční nástroj spuštěn. Když je nastaven na „false“, je běžící asistenční nástroj odkazovaný tímto klíčem ukončen. Tyto klíče GConf se nevrací automaticky na výchozí hodnoty, když se uživatel přihlásí. V důsledku toho, že asistenční nástroje byly spuštěny během posledního přihlášovacího sezení GDM, budou automticky spuštěny i při následujícím přihlašovacím sezení GDM.

Ostatní zaškrtávací políčka v dialogovém okně zpřístupnění GDM nemají odpovídající klíče GConf, protože není spouštěn žádný dodatečný program, který by poskytoval funkce zpřístupnění, který nabízejí. Tyto další volby odpovídají funkcím zpřístupnění, které poskytuje Xserver, který během sezení GDM vždy běží.

5.6.2. Klíče GConf pro zpřístupnění

GDM nabízí následujíc klíče GConf, které ovládají jeho funkce zpřístupnění:

Klíče s nastavením GDM
/desktop/gnome/interface/accessibility
false (pravdivostní)

Řídí, jestli se má spolu s grafickým rozhraním GDM spustit infrastruktura zpřístupnění. To je zapotřebí, aby mohla fungovat většina programů s technologiemi zpřístupnění.

/desktop/gnome/applications/at/screen_magnifier_enabled
false (pravdivostní)

Když je nastaveno, spustí se spolu s programem s grafickým rozhraním GDM i nástroje zpřístupnění odkazované tímto klíčem GConf. Ve výchozím stavu se jedná o aplikaci lupa obrazovky.

/desktop/gnome/applications/at/screen_keyboard_enabled
false (pravdivostní)

Když je nastaveno, spustí se spolu s programem s grafickým rozhraním GDM i nástroje zpřístupnění odkazované tímto klíčem GConf. Ve výchozím stavu se jedná o aplikaci klávesnice na obrazovce.

/desktop/gnome/applications/at/screen_reader_enabled
false (pravdivostní)

Když je nastaveno, spustí se spolu s programem s grafickým rozhraním GDM i nástroje zpřístupnění odkazované tímto klíčem GConf. Ve výchozím stavu se jedná o aplikaci čtečka obrazovky.

5.6.3. Provázání nástrojů zpřístpnění s klíči GConf

Pro klíče GConf screen_magnifier_enabled, the screen_keyboard_enabled a the screen_reader_enabled závisí asistenční nástroje, které se mají spustit, na souborech .desktop umístěných ve složce GDM pro automatické spouštění, jak je popsáno v kapitole „Nastavení automatického spouštění“ v této příručce. Libovolný soubor .desktop ve složce GDM pro automatické spouštění může být provázán s klíčem GConf uvedením tohoto klíče GConf v hodnotě AutostartCondition v souboru .desktop. Takže konkrétní řádek AutostartCondition v souboru .desktop by mohl být jeden z následujících:

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

Když je klíč zpřístupnění zapnutý, pak libovolný program, který je provázán s tímto klíčem v souboru .desktop pro automatické spuštění, bude spuštěn (pokud není v souboru .desktop nastaven klíč Hidden na true). Jeden klíč GConf může spustit i více asistenčních nástrojů, pokud existuje ve složce GDM pro automatické spouštění více souborů .desktop s tímto klíčem AutostartCondition.

5.6.4. Příklad úprav nastavení nástrojů pro zpřístupnění

Například, pokud je GNOME šířeno s GOK jako výchozí klávesnicí na obrazovce, může být tato nahrazena jiným programem podle potřeby. Abyste nahradili GOK pomocí aplikace „onboard“ a navíc aktivovali asistenční nástroj „mousetweaks“ pro softwarové klikání, je potřeba následující nastavení.

Vytvořte jeden soubor .desktop pro onboard a druhý pro mousetweaks. Například onboard.desktop a mousetweaks.desktop. Tyto soubory musí být umístěny ve složce GDM pro automatické spouštění a musí být ve formátu osvětleném v kapitole „Nastavení automatického spuštění“ v tomto dokumentu.

Následuje příklad souboru onboard.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Onboard Onscreen Keyboard
Name[cs]=Klávesnice na obrazovce
Comment=Use an on-screen keyboard
Comment[cs]=Použít klávesnici na obrazovce
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

Následuje příklad souboru mousetweaks.desktop:

[Desktop Entry]
Encoding=UTF-8
Name=Software Mouse-Clicks
Name[cs]=Klikání softwarovou myší
Comment=Perform clicks by dwelling with the pointer
Comment[cs]=Provádět softwarové klikání ukazatelem
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

Všimněte si řádku AutostartCondition, který spojuje oba soubory .desktop do klíče GConf pro klávesnici na obrazovce.

Aby se zabránilo spuštění GOK, musí se odstranit soubor .desktop pro klávesnici na obrazovce GOK nebo musí být deaktivován. Jinak se spustí naráz onboard i GOK. Můžete to provést odstraněním souboru gok.desktop ze složky GDM pro automatické spouštění nebo přidáním klíče nastavení „Hidden=true“ do souboru gok.desktop.

Po provedení těchto změn se již nebude nadále spouštět GOK, když uživatel aktivuje klávesnici na obrazovce v sezení GDM. Místo toho se spustí onboard a mousetweak.

5.7. Obecná nastavení sezení

Uvítací program GDM používá ten stejný základní rámec, jako sezení vašeho pracovního prostředí. Z toho důvou jej ovlivňuje několik stejných nastavení GConf. Pro každé z těchto nastavení uvítací progrm použije výchozí hodnoty, pokud nejsou konkrétně přepsány a) povinnou zásadou nainstalovanou GDM b) systémovou povinnou zásadou. GDM instaluje své vlastní povinné zásady, aby z bezpečnostních důvodů uzamknul některá nastavení.

5.8. Démon nastavení GNOME

GDM zapíná následující zásuvné moduly gnome-settings-daemon: a11y-keyboard, background, sound, xsettings.

Ty zodpovídají za takově věci, jako je obrázek na pozadí, nastavení písma a motivu, zvukové události atd.

Zásuvné moduly je možné zakázat pomocí GConf. Například, když chcete zakázat zvukový zásuvný modul, zrušte nastavení následujícího klíče: /apps/gdm/simple-greeter/settings-manager-plugins/sound/active.

5.9. Nastavení sezení GDM

Sezení GDM se definují na základě specifikace položek pracovní plochy (Desktop Entry Specification) od FreeDesktop.org, kterou najdete na následujcí adrese URL: http://www.freedesktop.org/wiki/Specifications/desktop-entry-spec.

Standardně bude GDM instalovat soubory .desktop do složky <share>/xsessions. GDM prohledává následující složky v tomto pořadí, aby našel soubory .desktop: <etc>/X11/sessions/, <dmconfdir>/Sessions, <share>/xsessions a <share>/gdm/BuiltInSessions. Jako výchozí hodnota pro <dmconfdir> je <etc>/dm/, pokud není GDM nakonfigurován, aby používal jinou složku, pomocí volby „--with-dmconfdir“.

Sezení je možné zakázat upravou souboru .desktop a přidáním řádku: Hidden=true.

U svých souborů .desktop podporuje GDM rozšíření specifické jen pro něj, klíč s názvem „X-GDM-BypassXsession“. Pokud klíč není v souboru .desktop uveden, je jeho výchozí hodnotou „false“. Pokud je v souboru .desktop uveden s hodnotou „true“, spustí GDM program uvedený v klíči „Exec“ v souboru .desktop přímo, když spouští uživatelovo sezení. Nebude program spouštět přes skript <etc>/gdm/Xsession, což je normální chování. Protože se obejde skript <etc>/gdm/Xsession, zabrání se vytvoření uživatelského sezení s normálním systémem a nastaveními uživatele, může být sezení spuštěné tímto způsobem vhodné pro ladění problémů v systému nebo pro uživatelské skripty, které mohou zabránit uživateli v možnosti spouštět sezení.

5.10. Nastavení uživatelova sezeni a jazyka v GDM

Výchozí volby pro uživatelovo sezení a jazyk jsou uchovány v souboru ~/.dmrc. Když se uživatel přihlašuje poprvé, je soubor vytvořen s jeho počáteční volbou. Tyto výchozí hodnoty pak může změnit jednoduše tak, že změní hodnotu na jinou během přihlašování. GDM si bude pamatovat tuto změnu pro následující přihlášení.

Soubor ~/.dmrc je ve standardním formátu INI. Má jeden oddíl nazývaný [Desktop], který má dva klíče: Session a Language.

Klíč Session určuje základní název souboru .desktop pro sezení, který si uživatel přeje normálně používat bez přípony .desktop. Klíč Language určuje jazyk, který si uživatel přeje používat jako výchozí. Pokud některý z těchto klíčů chybí, je použita výchozí hodnota systému. Normálně by měl soubor vypadat následovně:

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