Krajší štart systému
Tí, ktorí majú skúsenosti (alebo videli) viacero Linuxových distribúcií si iste všimlil, že štart Debianu nie je veľmi pekný. Siahodlhý výpis hlásení jadra sa dá skrátiť, ale i tak štart nevyzerá veľmi pekne. Dá sa to však zmeniť. Ak teda chcete mať grafický štart systému, čítajte.
Samotný štart systému pozostáva z viacerých, na seba nadväzujúcich, častí. Najprv, po zapnutí, nabieha BIOS a jeho testy (POST). Ich nastavenie nie je vecou Debianu a nebudem sa mu tu venovať. Potom BIOS prehľadá zavádzací sektor disku a hľadá tzv. bootloader (vo svete Linuxu je to zväčša GRUB alebo LILO). Bootloader zobrazí (alebo aj nezobrazí) štartovaciu ponuku, v ktorej môže poskytnúť na výber viacero spôsobov štartu a potom odovzdá riadenie zvolenému systému.
Grafický štart systému
Je niekoľko spôsobov ako zameniť textové výpisy pri štarte systému za grafický ukazovateľ priebehu, prípadne ich kombináciu:
- bootsplash
- usplash
- splashy
- plymouth
BootSplash
Bootsplash je spôsob, kedy sa o zobrazenie grafického štartu systému stará samotné jadro. Lenže v Debiane nie je táto voľba do jadra zabudovaná a ak ju chcete sprevádzkovať, budete si musieť upraviť zdrojové kódy jadra (patche nájde na nete) a vybudovať vlastné jadro. To nie je úloha pre každého a v žiadnom prípade ju neodporúčam prostým používateľom a začiatočníkom. Ja som to skúšal naposledy s jadrom 2.6.21, aký je aktuálny stav neviem...
Usplash
V úložisku je k dispozícii balíček usplash. Ak sa nemýlim, bol pôvodne vyvinutý pre Ubuntu. Pracuje vcelku spôsobilo, ale (nie len) v mojom prípade má akési problémy s vyššími rozlíšeniami framebuffera a ak si nastavíte vyššie rozlíšenie konzoly, dostanete sa do problémov. Napríklad sa Vám usplash obrazovka nezobrazí, alebo naopak, systém síce štartuje graficky, ale textová konzola je nepoužiteľná.
Ale je to relatívne funkčné a jednoduché riešenie a ak ho chcete vyskúšať, nainštalujte si prosto balíčky usplash a niektorú z tém – usplash-theme-debian, debian-edu-artwork-usplash alebo brdesktop-artwork-usplash:
aptitude install usplash usplash-theme-debian
Tém si môžete samozrejme nainštalovať aj viac, výber témy potom dosiahnete pomocou nastavenia alternatív:
update-alternatives --config usplash-artwork.so
a potom je potrebné aktualizovať initrd obraz:
update-initramfs -u
Ak nedáte aktualizovať initrd obraz, budete mať po zemne témy inú pri štarte a inú pri vypínaní...
Splashy
Splashy je v podstate veľmi podobný riešeniu usplash, len funguje relatívne bez problémov. To relatívne znamená, že existuje nahlásený (a už vyriešený) bug o problémoch s prebudením z uspania, ak používate splashy, ale čo už je dokonalé? Jeho inštalácia si vyžaduje niekoľko dodatočných krokov, ale o tom ďalej v článku.
Plymouth
Plymouth je obdoba predchádzajúcich dvoch riešení a funguje dobre. Hoci som niekde čítal, že vyžaduje KMS (Kernel Module Settings), nie je to pravda a funguje mi krásne aj s neslobodným ovládačom nVidie. Podrobnosti o základnom použití nasledujú ďalej v článku.
Splashy
Keďže nemám rád, ak mi nejaký balíček (usplash) určuje aké musím mať nastavenie grafiky, neuspokojil som sa a hľadal som ďalej. Aj balíčky splashy sú v úložisku, takže ich je možné nainštalovať jednoducho pomocou balíčkovacieho systému, ale pozor! Je tu jeden problém. Tým je mierny konflikt s obsahom balíčka desktop-base. Konflikt spočíva v tom, že balíček desktop-base inštaluje jednu tému pre splashy, čo by nebolo až také zlé, ale inštaluje ju do adresára /etc/splashy/themes. Aj balíček splashy hľadá témy v tomto adresári, lenže neinštaluje ich do tohoto adresára ale do /usr/share/splashy/themes/ a /etc/splashy/themes je len odkaz na tento adresár. Ak však súbor /etc/splashy/themes už existuje, splashy tento odkaz nevytvorí a témy nainštalované v /usr/... sú pre neho nedostupné. Tak si pred inštaláciou overte, či tento adresár už nemáte:
ll /etc/splashy/ celkom 4,0K drwxr-xr-x 3 root root 4,0K 7. okt 10.23 themes/
v takomto prípade je treba presunúť ho do adresára /usr/share a adresár /etc/splashy nahradiť symbolickým odkazom:
mkdir /usr/share/splashy mv /etc/splashy/themes /usr/share/splashy/ cd /etc/splashy ln -s /usr/share/splashy/themes themes
nazbudnite pritom na to, že budete potrebovať práva roota,. Ak tento problém nevyriešite, systém naštartuje, ale aktualizácia obrazu jadra bude hlásiť chyby o neexistujúcom súbore témy. No a potom už možno nainštalovať samotné splashy a prípadne aj dodatočné témy:
aptitude install splashy splashy-themes
Tým sa všetko potrebné nastaví a pri nasledujúcom reštarte už bude zobrazený grafický ukazovateľ priebehu.
Splashy sa akosi nemá rado s console-setup (na ktorom teraz závisí XOrg), je to oznámená chyba a dá sa variešiť úpravou /etc/default/console-setup, kde je treba premenné FONTFACE a FONTSIZE nastaviť na prázdne reťazce takto:
FONTFACE="" FONTSIZE=""
Výber témy
Po nainštalovaní je splashy nastavený tak, aby používal predvolenú tému, aby ste mohli tému zmeniť, potrebujete vedieť jej názov, čo sa dá zistiť pomocou:
splashy_config --info >Momentálne používaná téma: moreblue-orbit version 1.0 MoreBlue Orbit theme URL http://splashy.alioth.debian.org/themes vytvoril Fathi Boudra >Nainštalované témy: crux kubuntusplashy debian3 debian4 default moreblue-orbit debian-moreblue debian-cubism debiansplashy ubuntusplashy
ako sami môžete vidieť, príkaz najprv zobrazíinformácie o práve nastavenej téme, naledovaný zoznamom dostupných tém. Pre nastavenie zvolenej témy treba použiť znova tento príkaz, ale tentokrát s parametrom -s nasledovaným menom témy, napríklad:
splashy_config -s debian4
Po zmene témy je aj v tomto prípade treba znova vygenerovať obraz jadra:
update-initramfs -u
Ak to neorobíte, aj tu budete mať inú tému pri štarte a inú pri vypínaní. A aké témy máte na výber? V štandardnom úložsku sú témy, ktoré sú vypísané vyššie a vyzerajú takt
|
crux |
moreblue-orbit |
|
debian-moreblue |
debian3 |
|
debian-cubism |
debian4 |
|
debiansplashy |
default |
Plymouth
Balíky plymouth, rovnako pri usplash i splashi, sú v oficiálnom úložisku (od Squeeze), takže ich inštalácia nevyžaduje žiadnu mágiu:
aptitude install plymouth
Spolu s balíkom plymouth by sa mali nainštalovať aj odporúčané balíky s témami, ak nie, pridajte k inštalácii aj balík plymouth-themes-all.
Pokiaľ túžite po zmene témy pomocou GUI, skúste SplashScreenManager – skript napísaný v Pythone...
Výber a testovanie témy
Celkom je k dispozícii sedem tém, ich zoznam poskytne príkaz plymouth-set-default-theme s voľnou --list:
plymouth-set-default-theme --list
Veľmi hrubú predstavu o témach môžu poskytnúť nasledujúce snímky, ale nevystihujú podstatu, pretože všetky témy sú viac alebo menej animované:
|
fade-in |
glow |
|
script |
solar |
|
spinfinity |
text |
Pozornejší si iste všimli, že je tu len šesť obrázkov, je to preto, že som nesnímal tému details...
Tému nastavíte pomocou rovnakého príkazu, nasledovaného menom témy, mne sa najviac páči spinfinity:
plymouth-set-default-theme spinfinity
Pri výbere témy iste pomôže možnosť nechať si ju zobraziť, aj s tým pomôže nástroj plymouth a k nemu démon plymouthd. najprv treba spustiť démona a potom kombináciu príkazov na zobrazenie nastavenej témy, ale aj jej ukončenie. Démona stačí spustiť len raz, ale ak by to robilo problémy (napríklad vo VirtualBoxe), treba ho zabiť a spustiť znova:
plymouthd
plymouth --show-splash && sleep 10 && plymouth --hide-splash
Po tejto kombinácii príkazov bude zvolená téma zobrazená 10 s, ak chcete iný čas, jednoducho zmeňte parameter príkazu sleep.
Nastavenie témy
Po výbere tej správnej témy ju stačí nastaviť. Ak ste zabudli, ktorú tému ste si to nastavili, spustenie plymouth-set-default-theme bez parametrov vypíše aktuálne nastavenú. Lenže nastavenie témy nestačí. I v prípade plymouth je potrebné znova vygenerovať initrd, tentokrát je to však možné priamo pri nastavení témy:
plymouth-set-default-theme spinfinity --rebuild-initrd
za zmienku stojí aj voľba --reset, ktorá nastaví predvolenú tému. Na záver ešte pripomeniem, že bez KMS bude plymouth vyžadovať nastavenie rozlíšenia grubu, tak len v krátkosti – pridajte/upravte si v /etc/default/grub premenné:
- GRUB_GFXMODE=1024x768
- GRUB_GFXPAYLOAD_LINUX=1024x768
...alebo teda, hodnoty podľa vlastnej potreby a ani zďaleka nemusia byť v oboch premenných rovnaké...
Grafický grub
Táto časť už nie je aktuálna, pretože sa týka starej verzie grub, označovanej ako Grub Legacy, ale ponechám ju tu na pamiatku...
Aj bootloader Grub môže vyzerať krajšie, ale jeho skrášlenie už nieje celkom triviálnym postupom. Nie, nebojte sa, netreba nič kompilovať zo zdrojových kódov, ale je treba ručne doinštalovať balíčky, následne preinštalovať grub no a nakoniec ešte zmeniť jeho nastavenie.
S grafickým bootloaderom prišiel ako prvý pravdepodobne Novell, vo svojej distribúcii Suse, ale postupne sa rozšíril. Priamo v Debiane som potrebné balíčky nenašiel a keďže som bol lenivý pátrať po zdrojovom kóde, pátral som po inom riešení a našiel som Sidux. Je to distribúcia založená na Debiane, ale to nie je dôležité. Čo dôležité je, že obsahuje balíček s grafickou úpravou grubu, ktorý je možné bez problémov v Debiane (testing) nainštalovať.
Príprava
Takže začnime stiahnutím potrebných balíčkov z úložiska Siduxu – v uvedenom úložisku sú k dispozícii balíčky grub-gfxboot pre architektúry i386 (32 b) aj pre amd64 (64 b), takže si vyberte ten správny a uložte niekde do počítača. Potom sa v konzole prepnite do adresára, kde ste si uložili balíček. Pred tým, ako ho nainštalujeme, musíme odinštalovať pôvodný grub:
aptitude purge grub
až po tomto kroku môžme grafický grub nainštalovať:
dpkg -i grub-gfxboot_0.97-33_amd64.deb
je dosť pravdepodobné, že sa objavia chyby, napríklad pre nesplnené závislosti apodobne, preto hneď po tomto príkaze spusťte aptitude a skontrolujte stav novonainštalovaného balíčka. Závislosti balíčka nie sú náročné, závisí na grub-common, ale je veľmi pravdepodobné, že bol automaticky odinštalovaný pri odinštalovaní grub.
Inštalácia
Teraz trochu náročnejšia časť. Grub treba znova nainštalovať a k tomu je potrebné vedie ako sa volá Váš systémový disk. Takže v konzole najprv spusťte príkaz mount, ktorý vypíše zoznam pripojených partícií:
mount /dev/sda1 on / type ext3 (rw,errors=remount-ro) ...
Vo výpise je zaujímavá tučne zvýraznená časť. Z uvedeného je možné predpokladať, že môj systémový disk je označený ako zariadenie /dev/sda (teda bez čísla označujúceho partíciu). Bootloader grub mám nainštalovaný v zavádzacom zázname disku (MBR). Cielene predpokladám, že tí, ktorí ho majú nainštalovaný inde, vedia ako ho preinštalovať. Takže spustíme:
grub-install --recheck /dev/sda
Je možné použiť aj konzolu grub:
grub grub> find /boot/grub/stage1 (hdx,y) # takýto dostanete výstup grub> root (hdx,y) grub> setup (hdx)
Teda tento druhý postup je odporúčaný všade, ale mne nepomohol a fungovať to začalo až po použití grub-install. Ale možno som niečo robil zle.
Nastavenie
Po úspešnej inštalácii (a reštarte na vyskúšanie) nastal čas na nastavenie grafického štartu. Prvé čo je potrebné, je nejaká grafická téma. Kopu ich nájdete na KDE-Apps.org a GTK-Apps.org, lenže väčšina z nich nefunguje, pretože došlo k zmene formátu témy. Iný spôsob je stiahnuť si nejakú tému zo Siduxu, alebo môžete použiť moju, ktorá je založená zo siduxovej, ale je trochu upravená:
|
|
Téma samotná je jeden súbor, ktorý treba uložiť v počítači tak aby k nemu mal bootloader prístup, takže napríkald do adresára /boot:
ls -l /boot/mess* lrwxrwxrwx 1 root root 14 6. okt 17.27 /boot/message -> message.debian -rw-r--r-- 1 slavko slavko 379K 6. okt 17.34 /boot/message.debian -rw-r--r-- 1 root src 380K 22. jún 19.44 /boot/message.snaiya
Ako vidíte, ja mám pripravené témy dve. Na zvolenú tému potom robím symbolický odkaz a na tento symbolický odkaz je potrebné nastaviť grub, takže si otvorte súbor /boot/grub/menu.lst a nájdite v ňom riadok:
# Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST
Je to relatívne nevýznamný komentár, ale pred neho vložíme odkaz na náš súbor s témou:
# gfxboot gfxmenu /boot/message
Nezabudnite uložiť zmeny a môžete reštartovať do svojho grafického grubu. Pripomínam, že tento upravený grub môže používať všetky konfiguračné príkazy bežného grubu, ale niektoré sú z grafickým menu nezlučiteľné. Napríkald hiddenmenu, pre skrytie menu, skryje aj grafický obrázok...

