Nastavenie klienta

Nastavenie klienta

Po predchádzajúcich nastaveniach servera by sa mali vzdialené klienty naštartovať po sieti. Proces sťahovania operačného systému nie je grafický a možno ho sledovať na obrazovke klienta. Po rozbalení jadra systému sa spustí grafická bootovacia obrazovka a už sme dosledovali, jediné čo vidíme je postupujúci ukazovateľ postupu. Ak teda nabehlo všetko ako má, možno pristúpiť k niektorým vylepšeniam.

Základné nastavenie správania sa klienta je v prostredí LTSP v súbore /var/lib/tftpboot/ltsp/i386/lts.conf. Klient si vždy pri štarte tento súbor (teda nastavenia v ňom) načíta a použije. Na začiatku tento súbor neexistuje, takže ho treba vytvoriť. Všetky zmeny, ktoré v tomto súbore urobíte sa prejavia až po reštarte, samozrejme klienta, nie servera.

Súbor je rozdelený na sekcie a každá sekcia môže mať niekoľko parametrov v štandardnom tvare – názov=hodnota. Názvy sekcií sú zatvorené v lomených zátvorkách. Pričom povinná je len jedna sekcia – [default]. Parametre v tejto povinnej sekcii sú použité na všetkých klientov, ale môžu byť prepísané v ďalších sekciách. Ďalšie sekcie môžu byť sekcie klientov, kde názov sekcie tvorí MAC adresa (samozrejme v lomených zátvorkách). Nastavenia v sekcii klienta sa použijú len pre klienta s príslušnou MAC adresou.

Je možné vytvárať aj virtuálne sekcie. Ich pomenovanie v zátvorkách môže byť prakticky ľubovoľné. Tieto slúžia ako akési makrá, do ktorých si môžem pripraviť konfiguráciu, ktorú potom aplikujem na príslušných klientov. Príklad Vám ukážem v nastavení displeja. Zoznam a popis skoro všetkých možných parametrov nájdete v súbore /usr/share/doc/ltsp-server/lts-parameters.txt.gz.

V tomto konfiguračnom súbore sú viac-menej parametre dvoch typov. prvý je logický, ktorý môže nadobúdať hodnoty - teda niektorú z hodnôt Y, y, True, true alebo N, n, false, false.

Nastavenie displeja

Ja mám všetky monitory v LTSP sieti rovnaké, preto si vystačím s jediným parametrom v sekcii [default]:

[default]
  X_COLOR_DEPTH = 16

Týmto nastavením som nastavil všetkým klientom farebnú hĺbku 16 bitov. Ako som spomínal vyššie, toto nastavenie bude použité na všetkých klientov. Jeho predvolená hodnota v Ubuntu je 24. Čo však ak niektorý klient potrebuje inú hodnotu? Žiadny problém, prosto pridám klientskú sekciu:

[default]
  X_COLOR_DEPTH = 16

[00:0f:26:fb:0c:a1]
  X_COLOR_DEPTH = 8
[00:0f:26:fb:0c:94]
  X_COLOR_DEPTH = 24

Týmto nastavením zaistím, že jeden klient (s MAC 00:0f:26:fb:0c:a1) použije farebnú hĺbku len 8 bitov, druhý klient (s MAC 00:0f:26:fb:0c:94) zase 24 bitov a všetci ostatní použijú spoločne nastavenú hodnotu 16 bitov. Takto ručne nastavovať hodnoty pre jednotlivých klientov je dobré len do okamihu keď toto nastavenie treba zmeniť. Aby hodnoty nebolo treba meniť v každom klientovi, je možné použiť spomínané virtuálne sekcie, ktoré potom jednoducho aplikujeme do klientskej sekcie

[default]
  X_COLOR_DEPTH=16

[slabymonitor]
  X_COLOR_DEPTH=8
  X_MODE_0=800x600

[00:0f:26:fb:0c:a1]
  LIKE=slabymonitor
[00:0f:26:fb:0c:94]
  LIKE=slabymonitor

Zmena nastavenia pre oboch klientov na jednom mieste je iste zrejmá. Myslím, že význam parametra X_MODE_0 je samovysvetľujúci, len tá nula na konci udáva číslo režimu.

Ešte jedna poznámka ohľadom veľkosti RAM grafickej karty. Ak používate klienta, ktorý používa pre grafickú kartu zdieľanú pamäť a tejto pamäte nemáte na rozdávanie, tak si prosto vypočítajte jej potrebnú veľkosť pomocou vzorca:

vert-rozlíšenie * horiz-rozlíšenie * far_hĺbka / 8

výsledok je v bajtoch, takže ak chcete dostať hodnotu v MB je potrebné výsledok podeliť 2 * 1024. Napríklad:

1280 * 1024 * 16 / 8 / 1024 / 1024 = cca 2.5 MB

S touto hodnotou som sa ešte nestretol, ale bežne dostupná býva voľba 4 či 8 MB, takže použijem túto (predvolene bolo 16 MB).

Vypnutie šifrovania

Ďalším zaujímavým parametrom je možnosť vypnutia šifrovania pomocou parametra LDM_DIRECTX:

  LDM_DIRECTX=true

vypnutím šifrovania síce strácam istú úroveň bezpečnosti, ale zároveň znížim nároky na procesor, a to ako na strane servera, tak (a hlavne) i na strane klienta. Pozor však, strácam aj o možnosť kompresie sieťovej prevádzky, ktorú poskytuje SSH.

Zapnutie NumLock

Študenti sú automatickým zapínaním NumLock nielen rozmaznaní, čo je horšie, počas niekoľkých týždňov sa nenaučili ho zapínať. A keďže ma pípanie klienta, ktorý na to pri použití numerickej klávesnice upozorňoval, otravovalo, rozhodol som sa im ho zapnúť.

X_NUMLOCK=true

Pozor však, je potrebné do prostredia klienta doinštalovať balík numlockx, ale o tom neskôr.

Jazyk LDM

Prihlasovanie v LTSP nepoužíva GDM (Gnome Display Manager), ale namiesto neho je použitý LDM (LTSP Display Manager). Jazyk LDM má vplyv na jazyk relácie X (Gnome) prihláseného používateľa. Je možné definovať nastavenie jazyka ako predvolené pre všetky klienty alebo samostatne pre každého klienta:

  LDM_LANGUAGE="sk_SK.UTF-8"

Aj v tomto prípade je treba doinštalovať dodatočné balíky do prostredia chroot (a preložiť si LDM).

Prihlásenia hosťa

V LDM je možné nastaviť predvolené prihlasovacie meno a heslo, ktoré bude použité pri akomsi anonymnom prihlásení (na prihlasovacej obrazovke pribudne tlačidlo "Prihlásiť ako hosť"), takže sa možno prihlásiť k serveru bez explicitného zadávania prihlasovacích údajov. Toto nastavenie je možné urobiť v spoločnej sekcii (pre všetkých klientov rovnaké) alebo urobiť pre každého klienta zvlášť v jeho klientskej sekcii. Spoločné prihlasovacie údaje sa mi neosvedčili, pretože niektoré aplikácie (OpenOffice.org, Firefox, ...) sa potom spúšťali na monitore prvého prihláseného, prípadne sa spustili len raz a potom už len otvárali chybový dialóg. Ale prihlásenie hosťa mám povolené centrálne:

[default]
  LDM_GUESTLOGIN = True

[00:0f:26:fb:0c:a1]
  LDM_USERNAME = meno
  LDM_PASSWORD = heslo

Automatické prihlásenie

Okrem prihlásenia hosťa je možné povoliť aj automatické prihlásenie, pomocou voľby:

[default]
  LDM_AUTOLOGIN=true

[00:0f:26:fb:0c:a1]
  LDM_USERNAME = meno
  LDM_PASSWORD = heslo

Pozor však, s takýmto nastavením sa ani neodhlásite, pretože okamžite po odhlásení bude zase automaticky prihlásený účet, zadaný pomocou rovnakých parametrov (LDM_USERNAME a LDM_PASSWORD).

Ak nie je pre tenkého klienta definované meno a heslo (LDM_USERNAME / LDM_PASSWORD), je predvolene použité hostname tenkého klienta.

Výber relácie

Ak poslednú voľbu v tejto časti spomeniem voľbu pre výber relácie:

  LDM_SESSION=fvwm-crystal

Ak sa Vám zdá toto nastavenie zbytočné, ja som ho ocenil v okamžiku, keď som začal hľadať inú alternatívu ako je Gnome a nechcelo sa mi presviedčať všetkých používateľov aby si zmenili reláciu. Nastavenie tohoto parametra udáva predvolenú reláciu, a tak stále dovoľuje zmeniť reláciu v prihlasovacej obrazovke LDM.

Príklad konfigurácie

[Default]  
  # Vypnúť šifrovanie
  LDM_DIRECTX=True
  # Nastaviť farebnú hĺbku
  X_COLOR_DEPTH = 16
  # Zapnúť NumLock (vyžaduje balík numlockx v klientovi)
  X_NUMLOCK=true
  #Povoliť prihlásenie hosťa
  LDM_GUESTLOGIN = True

###########################################
[44:4d:50:e2:52:55]
  # prac21-01
  LDM_USERNAME = meno01
  LDM_PASSWORD = heslo01

[44:4d:50:e2:50:ec]
  # prac21-02
  LDM_USERNAME = meno02
  LDM_PASSWORD = heslo02

[44:4d:50:e2:51:f9]
  # prac21-03
  LDM_USERNAME = meno03
  LDM_PASSWORD = heslo03

... 

Aktualizácia chroot

Skript ltsp-build-client, ktorý vytvára prostredie klienta (vlastne úplne samostatný systém), predvolene nastavuje dve úložiská pre chroot prostredie:

deb http://archive.ubuntu.com/ubuntu jaunty main restricted universe multiverse
deb http://security.ubuntu.com//ubuntu jaunty main restricted universe multiverse

Z času na čas sú balíky, ktorá tvoria LTSP chroot, aktualizované, či opravené. Dôležitá vec je uvedomiť si, že chroot prostredie je samostatné a jeho nastavenie úložísk nie je ovplyvnené zmenami nastavenia úložísk servera.

Pri aktualizácii LTSP servera na novú verziu (napr Jaunty -> Karmic), je lepšie vybudovať úplne nové prostredie chroot klienta.

Pred akoukoľvek úpravou prostredia chroot je dobré si urobiť jeho zálohu, napríklad kvôli vykonaným úpravám, ktoré nechcete stratiť. Rovnako to oceníte, ak bude z akýchkoľvek dôvodov potrebné vrátiť prostredie chroot do pôvodnéh stavu. Najjednoduchšia záloha je pomocou rekurzívneho kopírovania:

sudo cp -a /opt/ltsp /opt/ltsp-orig

Aktualizáciu svojho prostredia chroot začneme úpravou existujúceho súboru /opt/ltsp/arch/etc/apt/sources.list tak, aby zahŕňal aj úložisko s aktualizáciami no a potom už stačí vykonať aktualizáciu vo vnútri chroot. Najprv, teda pridávam do súboru /opt/ltsp/i386/etc/apt/sources.list v LTSP chroot riadok:

deb http://sk.archive.ubuntu.com/ubuntu/ jaunty-updates main restricted

Pred vstúpením do prostredia chroot je dobré nastaviť premennú LTSP_HANDLE_DAEMONS=false, čím zabraňujem serveru aby reštartoval svoje vlastné démony pri aktualizácii prostredia chroot:

export LTSP_HANDLE_DAEMONS=false

Vstúpim do prostredia chroot v adresári klienta LTSP:

sudo chroot /opt/ltsp/i386

V prostredí chroot pripojím /proc, spustím aktualizáciu všetkých aktualizovaných balíčkov a nakoniec vymažem vyrovnávaciu pamäť balíčkov:

mount -t proc proc /proc
aptitude update && aptitude safe-upgrade
aptitude clean

Chcem Vás tu upozorniť na predvolenú konfiguračnú voľbu aptitude, ktorá automaticky inštaluje aj odporúčané balíky. Ak teda nemáte skúsenosti, použite radšej nástroj apt-get.

Pozorne dodržujte všetky pokyny aktualizácie (ak nejaké sú). Dôsledne sa uistite, že pri aktualizácii nenastali žiadne chyby, pretože ak inštalácia niekorého balíka zlyhá, môže to spôsobiť, že klient nenaštartuje.

Pri aktualizácii sa objavuje chybové hlásenie: "Nedá sa zapísať záznam, volanie openpty() zlyhalo (/dev/pts nie je pripojený?)" (v originále "Can not write log, openpty() failed (/dev/pts not mounted?)"), túto si ale všímať netreba, pretože je čisto kozmetická.

Po úspešnej aktualizácii možno opustiť chroot, odpojiť /proc, spustiť ltsp-update-kernels (ak bolo v chroot aktualizované aj jadro) a nakoniec znova vybudovať NBD obraz tenkého klienta:

sudo umount /proc
exit
unset LTSP_HANDLE_DAEMONS
sudo ltsp-update-kernels
sudo ltsp-update-image --arch i386

Aby sa aplikovali zmeny (z nového obrazu), je vždy treba tenké klienty reštartovať.

Inštalácia ďalších programov pre klienty

Doplnenie prostredia chroot o ďalšie programy používa vlastne rovnaký postup ako pri jeho aktualizácii, ale pre istotu tu zopakujem aj základné kroky, ktoré je dobré urobiť pred samotným vstúpením do chroot prostredia, tentokrát už bez vysvetľovaní.

Nastavím premennú LTSP_HANDLE_DAEMONS=false:

export LTSP_HANDLE_DAEMONS=false

Vstúpim do prostredia chroot v adresári klienta LTSP:

sudo chroot /opt/ltsp/i386

Pripojím /proc:

mount -t proc proc /proc

Doplnenie lokalizácie

V prostredí chroot nie sú predvolene nainštalované balíky, ktoré sa postarajú o lokalizáciu prostredia (najmä LDM), preto je dobré doinštalovať:

aptitude install gettext language-pack-gnome-sk

Po nainštalovaní je dobré aktualizovať generovanie lokáliek:

locale-gen

Nepočítajte s tým, že bude prihlasovacia obrazovka po slovensky, pretože LDM v Ubuntu 9.04 nie je lokalizovaný do slovenčiny. Ak máte záujme, môžete si poslovenčený balík stiahnuť a nainštalovať z mojej stránky.

Doplnenie NumLock

aptitude install numlockx

Po doinštalovaní tohoto balíka už bude funkčná aj voľba X_NUMLOCK v nastavení LDM (lts.conf).

Zakázanie PC speakera

PC speakery dokážu byť veľmi otravné, najmä keď sa používatelia pred prihlásením pokúšajú použiť numerickú klávesnicu bez zapnutia NumLock, čo spôsobuje systémové pípnutie. Ak si to vynásobíte počtom klientov v triede, dostanete jednoznačný dôvod na vypnutie.

Ovládač speakera je kompilovaný ako modul, preto ho možno vypnúť prostým zakázaním jeho načítania (blacklist) pri štarte. Najprv treba vytvoriť súbor /etc/modprobe.d/blacklist-pcspkr.conf (pozor, v chroot prostredí klienta) a do neho vpísať:

# Zakázanie načítania modulu PC Speaker (pcspkr)
blacklist pcspkr

Vygenerovanie obrazu

Po úspešnej inštalácii a úpravách netreba zabudnúť na správne ukončenie a vygenerovanie nového NBD obrazu:

exit
sudo umount /opt/ltsp/i386/proc
unset LTSP_HANDLE_DAEMONS
sudo ltsp-update-image --arch i386

Článok (seriál) je prevzatý zo Sprievodcu dedinčana svetom IT, a je zverejnený pod licenciou Creative Commons Attribution-Share Alike 3.0 Unported License (CC-by-sa). Inými slovami, tu zverejnené informácie môžete rozmnožovať, rozširovať, vystavovať dielo a odvodené diela za podmienky uvedenia autora a použitia rovnakej licencie, a to aj na komerčné účely.