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.
Obsah článku
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ť obraz initrd:
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á) chyba 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ík 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ík 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
:file:
/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/
A ak ho máte, tak 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.
Tip
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žisku sú témy, ktoré sú vypísané vyššie a vyzerajú takto:
Plymouth
Balíky plymouth, rovnako ako 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.
Tip
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é:
Tip
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-themespinfinity--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
Varovanie
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ím:
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íklad 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íklad hiddenmenu, pre skrytie menu, skryje aj grafický obrázok…