Nebaví Vás už usplash či máte raději přehlednější start systému? Tento návod vám přetvoří nudný upslash a černobílou konzoli v elegantní start systému a krásný barevný textový režim.
Usplash znamená takový ten „teploměr“, který se zobrazuje při startu systému. Nyní ho vypnete, aby byl vidět textový režim, který potom budete dále zkrášlovat.
Vytvořte zálohu nastavení GRUBu příkazem:
sudo cp /etc/default/grub /etc/default/grub_zaloha
Otevřete toto nastavení Vámi oblíbeným editorem s právy roota
sudo vim /etc/default/grub
Najděte řádek s:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
A upravte ho na toto:
GRUB_CMDLINE_LINUX_DEFAULT=""
Doporučení: nastavte si také Vyšší rozlišení na konzoli.
Pokud chcete vyvolat GRUB menu při startu, tak zakomentujte řádek na:
#GRUB_HIDDEN_TIMEOUT=0
Jestliže si ale rádi spuštíte GUI sami, tak místo prázdného řetezce vložte
GRUB_CMDLINE_LINUX_DEFAULT="text"
Změny utvrdíte aktualizací grubu:
sudo update-grub
Nyní jste deaktivovali usplash.
Místo uslash se teď tedy objevuje černobílý textový výpis startu systému. Nyní si ho můžete upravit.
Nejdřív zazálohujte nastavení:
sudo cp /etc/lsb-base-logging.sh /etc/lsb-base-logging.sh_zaloha
Poté si stáhněte z Ubuntuforums.org soubor. lsb-base-logging.sh
Rozbalte a nahraďte stávající:
sudo tar xvfj lsb-base-logging.sh.tar.bz2 sudo chown root:root lsb-base-logging.sh sudo cp lsb-base-logging.sh /etc/lsb-base-logging.sh
Opět nejprve zazálohujte nastavení:
cp ~/.bashrc ~/.bashrc_zaloha
A editujte nastavení:
gedit ~/.bashrc
Najděte tuta čast:
if [ "$color_prompt" = yes ]; then PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ ' else PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ ' fi
Bash čte PS1 proměnou jako primární prompt, PS2 jako sekundarní prompt (používá se při psaní multi-line příkazů). Část mezi if a else se provádí, pokud je barevný prompt aktivován, část mezi else a fi pokud je barevný prompt neaktivní. Jak vidíte, barevný kód vypadá složitěji neboť je v něm něco jako \[\033[01;32m\]. Jedná se o ANSI kód barvy (konkrétně zelené). Naštěstí si můžeme definovat vlastní proměnné na barvy. Okopírujte kód níže a umístěte ho před if
# ANSI color codes RS="\[\033[0m\]" # reset HC="\[\033[1m\]" # hicolor UL="\[\033[4m\]" # underline INV="\[\033[7m\]" # inverse background and foreground FBLK="\[\033[30m\]" # foreground black FRED="\[\033[31m\]" # foreground red FGRN="\[\033[32m\]" # foreground green FYEL="\[\033[33m\]" # foreground yellow FBLE="\[\033[34m\]" # foreground blue FMAG="\[\033[35m\]" # foreground magenta FCYN="\[\033[36m\]" # foreground cyan FWHT="\[\033[37m\]" # foreground white BBLK="\[\033[40m\]" # background black BRED="\[\033[41m\]" # background red BGRN="\[\033[42m\]" # background green BYEL="\[\033[43m\]" # background yellow BBLE="\[\033[44m\]" # background blue BMAG="\[\033[45m\]" # background magenta BCYN="\[\033[46m\]" # background cyan BWHT="\[\033[47m\]" # background white
nyní nemusíme psát ANSI kódy barev, ale pouze proměné ($FGRN pro zelenou atd.).
Tak jak jsem již psal, prompt nebarevný je mezi else a fi. Zakomentujte původní definici (před text dejte #) a napište:
PS1="[ ${debian_chroot:+($debian_chroot)}\u: \w ]\\$ " PS2="> "
Sekundární prompt je jen znak >. Avšak primární je trošku složitější, obsahuje několik specialních znaků, které zastupují informace o aktualní relaci (jméno počítače, uživatele, …). Hlavní pro jistotu uvedu:
\h Název počítače (od začátku k první tečce). \H Celý název počítače. \j Počet procesů na pozadí daného shellu. \n Odřádkování. \t Čas ve formátu HH:MM:SS. \A Čas ve formátu HH:MM. \u Uživatelské jméno. \v a \V Verze Bashe (4.1 a 4.1.2). \w Aktuální pracovní adresář. Název domovského adresáře (např. /home/dave) je zkrácen na tildu (~). \W Vrchní adresář aktuálního pracovního adresáře (jste-li v /tmp/x/y, zobrazí y). \$ Je-li efektivní UID rovné 0, vloží znak „#“, jinak vloží znak „$“. \\ Zpětné lomítko.
uplné info dostanete příkazem
man bash
jak tedy bude vypadat náš primární prompt? Nejspíš nějak takto [ zerog: ~ ]$ (v domovském adresáři) Nebádejte co znamená „${debian_chroot:+($debian_chroot)}„ není to důležité, prostě to vložte vždy před “/u“.
První věc co musíte udělat, je najít řádek #force_color_prompt=yes a odkomentovat ho (smažte #). Nyní je preferovaná větev if - else. Opět zakomentujte původní řádek (před PS1 dejte znak #) a zkopírujte následující:
PS1="$HC$FYEL[ $FBLE${debian_chroot:+($debian_chroot)}\u$FYEL: $FBLE\w $FYEL]\\$ $RS" PS2="$HC$FYEL> $RS"
Nyní bude prompt stejný jako předtím, ale krásně barevný. Použili jsme předdefinováné barvy, takže zápis není tak složitý. Primární prompt bude vypadat tedy takto : (žlutá)[(modrá) zerog(žlutá):(modrá) ~(žlutá) ]$(reset)
A nebo poněkud tradičnější řešení uspořádání obarveného promptu nabízí script:
PS1="$HC$FYEL$FBLE${debian_chroot:+($debian_chroot)}\u$FRED@$FYEL\h$FRED:$FBLE\w $FYEL\\$ $RS" PS2="$HC$FYEL> $RS"
Pokud chcete vidět, jak se Váš barevný prompt rýsuje, prostě jen otevřete nový bash. Pokud chcete videt sekundární prompt, napište \ na konec řádku.
Spusťte tyto příkazy, které obnoví zálohy:
sudo cp /etc/default/grub_zaloha /etc/default/grub sudo cp /etc/lsb-base-logging.sh_zaloha /etc/lsb-base-logging.sh cp ~/.bashrc_zaloha ~/.bashrc
Grafická úprava: Tento návod potřebuje důležité grafické a stylistické úpravy. Více...