Portál AbcLinuxu, 10. května 2025 08:59
/etc/init.d/keymap.sh
, který na všech konzolách zavede klávesnici /etc/condole/boottime.kmap.gz
, což je symlink na /usr/share/keymaps/i386/qwertz/cz-us-qwertz.kmap.gz
. Zároveň tento skript přepne první konzole do režimu UTF-8. Ostatní se musí přepínat explicitně voláním unicode_start
, což běžnému uživateli (nevím proč vypisuje):
Keymap 0: Permission denied Keymap 1: Permission denied Keymap 2: Permission denied Keymap 3: Permission denied Keymap 4: Permission denied Keymap 5: Permission denied Keymap 6: Permission denied Keymap 7: Permission denied Keymap 8: Permission denied Keymap 9: Permission denied Keymap 10: Permission denied Keymap 11: Permission denied Keymap 12: Permission denied Keymap 13: Permission denied Keymap 14: Permission denied Keymap 15: Permission denied KDSKBENT: Operation not permitted loadkeys: could not deallocate keymap 16Navíc jsou problémy se znaky ě a ř. Když je vše v pořádku, tak se vypisuje ěščřžýáíé. V horším případě se vypisuje πšč=žýáíé.
unocode_start
proběhlo hladce (což by bylo výhodnější). Dále bych rád, aby se znaky ě a ř zobrazovaly stejně jako ostatní znaky bez zvýraznění.
Bug#346100: udev: Permissions change breaks unicode_start
Máš nějaký rozumný důvod pro to používat UTF-8 v konzoli? To nepoužíváš X-ka a zároveň potřebuješ používat jiná písmenka, než která Ti poskytuje česká abeceda? Řekl bych, že plno lidí se snaží naprosto všude používat UTF-8, aniž by se zamysleli zdali to vůbec potřebují a jediné čeho tím docílí jsou zbytečné problémy.
Výchozí kódování nových instalací Debian GNU/Linuxu je UTF-8 a mnoho aplikací je pro toto kódování přednastaveno. Uživatelé přecházející na Etch ze starší verze se budou muset do tohoto kódování přepnout ručně vygenerováním příslušných locales a nastavením proměnných prostředí. Celosystémové nastavení můžete změnit příkazem dpkg-reconfigure locales.Prostě jsem usoudil, že bych měl mít UTF-8 i na konsoli. Ono to vlastně funguje. Jen mne rozčilují ty chybové výpisy. Ale když vidím, že je to složité opravit, tak to skutečně za tu námahu nestojí. Těch pár případů, co člověk dělá něco na konsoli se to vydrží. V každém případě díky za odpověď.
/etc/init.d/console-screen.sh
a konfigurák /etc/console-tools/config
. Ten při bootu nastavuje prvních 6 konzolí na UTF-8 (pokud je systémové locale v UTF-8).
Pokud je nainstalovaný balíček console-tools, skript /etc/init.d/keymap.sh se nepoužívá.
Pro zobrazování českých znaků stačí přidat do /etc/console-tools/config
řadky:
SCREEN_FONT=lat2-sun16
SCREEN_FONT_vc2=lat2-sun16
SCREEN_FONT_vc3=lat2-sun16
SCREEN_FONT_vc4=lat2-sun16
SCREEN_FONT_vc5=lat2-sun16
SCREEN_FONT_vc6=lat2-sun16
Automatické přepnutí všech konzolí do UTF-8 podle dokumentace nefunguje na "nových?" framebufferech, na nich se nastaví zase jen první konzole. Na vesafb mi nedělá problémy.
V dokumentace je ale uvedeno, že balíček console-tools je zastaralý a nahrazován balíčkem kbd. Já jsem zatím měnit nemusel a balíček kbd má prioritu "extra", zatímco console-tools "volitelný", takže to asi nebude tak horké.
K nastavení české klávesnice:
Nefungují mrtvé klávesy, viz http://www.debian.cz/users/localization.php:
Naneštěstí je však české rozložení klávesnice na unicodové konzoli téměř nepoužitelné, protože jaderný ovladač klávesnice neumí pracovat s tzv. mrtvou klávesou, pomocí které píšeme písmena jako ó, ť, ň, ď. Písmena navázaná na jedinou klávesu (ě, š, č, ř, ž, ý, á, í, é, ú, ů) půjdou napsat bez problémů. Chyba se týká pouze vstupu — zobrazování znaků funguje. Existuje několik záplat pro řešení této chyby, ale žádná z nich nebyla vývojáři linuxového jádra akceptována.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.