Portál AbcLinuxu, 6. května 2025 00:37
Předevčírem mě napadlo, že se kouknu jaké změny se objevily v debianím GNOME. Systém průběžně aktualizuji přes volbu dist-upgrade a pro práci používám XFCE4, ale GNOME i KDE mám nainstalované pro občasné testování. Jejich knihovny stejně využívají i jiné aplikace, takže těch pár mega navíc mě nezabije.
Ovšem ouha.. Při odhlašování mi plocha zatuhla a nezbylo než rebootnout. Občas se to na mém notebooku stává, integrovaná grafika se sdílenou pamětí totiž není žádná výhra. Jenže během toho došlo k nějaké změně, které jsem zaboha nebyl schopen přijít na kloub. Zatímco na konzoli fungovala klávesnice bez nejmenších problémů (česká qwerty + speciální znaky přes pravý alt) v X jako by bylo nataženo nějaké vadné mapování kláves. Pravý alt byl namapován jako Enter numerické klávesnice, jedna z šipek jako klávesa Print.. no prostě k zbláznění.
Po menší laboraci se setxkbmap jsem zjistil, že nastavení klávesnice příkazem "setxkbmap cs" jak jsem ho měl v poznámkách už dávno neplatí. Neocenitelný pomocník strace mne přivedl na stopu souboru /usr/share/X11/xkb/rules/xorg.lst
Jeho grepnutím jsem zjistil, že volbou "cs" přepínám klávesnici na Srbochorvatskou (tak proto ta cyrilice!) zatím co správná volba pro "Czechia" je cz. Navíc.. cz_qwerty není pouze názvem, podtržítko v tomto případě funguje spíše jako oddělovač, neboť qwerty je podvolbou cz. Prima. Takže příkazem $ setxkbmap cz_qwerty
jsem si klávesnici nastavil tak aby fungovala stejně jako na konzoli.
Problém se zdál být vyřešen, tak jsem přemýšlel kde se co mohlo změnit, abych to mohl opravit. Jenže.. když jsem spustil vmware, resp. vmware konzoli tak se ukázalo, že problém nadále trvá navzdory tomu že je klávesnice přepnutá, protože si tato rozhraní tahala nastavení bůhví odkud. To už jsem pomalu šílel.. A veškeré hrátky s xorg.conf
k ničemu nevedly. Projížděl jsem zdejší diskuze ale k ničemu to nebylo. Příliš mnoho zbytečných a opakujících se diskuzí na to, abych je byl schopen jednu po druhé pročíst abych se pokusil najít podobný problém co mě trápil.
V zoufalství jsem zkoušel nastavovat nejrůznější hodnoty XkbLayout a pořád to bylo špatné. Když tu jsem si všimnul analýzou souboru /var/log/Xorg.0.log
že nastavení z xorg.conf
přebíjí XINPUT. A v tom mě osvítilo! Nejprve jsem zkusil jestli bude systém protestovat, když mu balík xinput vyhodím. Kupodivu neřval a ejhle.. po restartování X serveru čeština funguje jak má..
Upozornění: Při té příležitosti bych rád také upozornil na vleklý bug který se táhne unstable Debianem už pěkně dlouho, přestože jsem již na něj maintainery balíku libc6 upozorňoval. Balík locales z libc6 totiž při každé aktualizaci nainstaluje vadný soubor /usr/share/i18n/locales/cs_CZ
díky kterému se locale pro cs_CZ.UTF-8 nevygenerují správně. Stačí ho však nahradit tím správným (lze ho získat třeba ze zdrojáků libc6, nebo jiné distribuce) a příkazem $ dpkg-reconfigure locale
provést rekonfiguraci a vše je Ok.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.