Fórum Ubuntu.cz

LTS vydání 18.04, 16.04, 14.04 => Podpora pro pracovní prostředí => Téma založeno: roj 12 Červen 2018, 14:32:16

Název: 18.4. Rozložení klávesnice čeština
Přispěvatel: roj 12 Červen 2018, 14:32:16
Ahoj.  Mám letitý problém, který jsem v předchozích verzích vždy po dlouhém laborování vyřešil.
Jsem od malička zvyklý používat rozložení klávesnice, které se původně jmenovalo Česká Amatérská. Postupně bylo přepracováváno z DOSu na Widle a následně i na Linux. Poslední verze, o které vím, je z roku cca 2014 dovedená k dokonalosti na http://www.imega.cz/keyboard/
Kdo někdy zkusil, nechce jinak. Nechápu, proč to tvůrci distribuce dávno nezařadili do základní výbavy, když je tam přehršel jiných českých variant, o jejichž používanosti bych rád něco věděl :)
Nejnovější 18.4. vzdoruje, včera jsem tím zabil celý den, ale marně.
Samozřejmě můžu vzít ten definiční soubor kláves a prostě jím přepsat
Kód: [Vybrat]
/usr/share/X11/xkb/symbols/czAle tím pak nikomu nepůjde normální zastaralá čeština. Což má své mouchy.
Nebo můžu nahradit definiční soubor z jiného jazyka, třeba slovenštiny, kanadštiny... ale ani to není čisté řešení.
Nahrál jsem dle návodu ne výše uvedeném odkazu definiční soubory cz-imega do adresáře
Kód: [Vybrat]
/usr/share/X11/xkb/symbols/ s teď můžu to klávesnici používat, pokud v konzoli zadám
Kód: [Vybrat]
setxkbmap -layout cz-imega2Jenže to s restartem "vyprchá". Otrava, opruz.
Pátral jsem v ardesáři /usr/share/X11/xkb/rules/
Tam je spousta souborů, které jsme zkoušel editovat a vložit do nich nějak odkaz na to cz-imega. Něco je popsáno v té stránce, ale nic nefunguje. Většina editací se nikde nijak neprojeví, jen editace
/usr/share/X11/xkb/rules/evdev.xml
dokáže vytvořit v grafickém Nastavení -> klavesnice ->Rozložení položku, jakou tam napíšu, ale nepodaří se k tíéto položce udělat to, aby se přiřadilo to rozložení. cz-imega. Zkoušel jsem všechno možné, ale ta syntaxe nemá žádnou logiku :(
Když tu položku vyberu, nestane se nic.
Věděl by někdo, jak to udělat?
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: juwa2 12 Červen 2018, 16:46:46
Tohle ošetříš jednoduše - přidej ten příkaz
Kód: [Vybrat]
sleep 20; setxkbmap -layout cz-imega2
do položek spouštěných po přihlášení.
Pak, po každém přihlášení/restartu bude klávesnice přepnutá jak požaduješ.
---------------------------------------------------------------------------------------------------------------
Jinak default layout se nastavuje editací souboru /etc/default/keyboard
Nicméně řešení výše je blbuvzdorné..... ;)
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: roj 12 Červen 2018, 19:13:07
A prosím, kde je ta sekce příkazů po spuštění?
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: juwa2 12 Červen 2018, 19:44:05
A prosím, kde je ta sekce příkazů po spuštění?

To si děláš legraci ne?
https://websiteforstudents.com/set-apps-to-auto-startup-at-logon-on-ubuntu-17-10-18-04/
Ten příkaz samozřejmě napíšeš do políčka "Příkaz" (Command).
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: roj 12 Červen 2018, 23:16:39
Bohužel to nefunguje. Dal jsem to s tím sleep 20ů  i bey toho a podívej, jak píšu "9 9to měl bejt smajlík0
ted dám ručně  setxkbmap -layout cz-imega2
A hele! Zas vše píše, jak má :)
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: juwa2 12 Červen 2018, 23:41:36
Bohužel to nefunguje. Dal jsem to s tím sleep 20ů  i bey toho a podívej, jak píšu "9 9to měl bejt smajlík0
ted dám ručně  setxkbmap -layout cz-imega2
A hele! Zas vše píše, jak má :)

Tak tam ten příkaz vlož takto:
Kód: [Vybrat]
/bin/bash -c "sleep 20 ; setxkbmap -layout cz-imega2"
Nebo vytvoř skript třebas  /home/uživatel/layout.sh  ten příkaz vlož do něj:
Kód: [Vybrat]
#!/bin/bash
sleep 20
setxkbmap -layout cz-imega2

a spouštěj po přihlášení ten skript (místo příkazu tam napiš k němu tu cestu).  Nezapomeň mu nastavit spustitelnost. 
Pak už to musí fungovat - přece nebudeš zápasit s takovou hovadinou......
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: roj 13 Červen 2018, 10:12:41
Jo, taky si myslím.
Jenže zas nic. Obě možnosti.
Já myslím, že problém je jinde. Že se tyhle příkazy vykonají dřív, než nastaví klávesnici "něco", co nikdo neví co, a jak to změnit
A to "něco" to zase domrší.

Ježiš hele, najednou to píše ok! Bezprostředně po startu jsem pustil Mousepad a přísahám, že to psalo blbě! Nedělá to ten sleep? V tom případě bych ho asi trochu zkrátil :-)
Jdu to ještě zkusit.
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: roj 13 Červen 2018, 10:17:02
Sleep zkrácen na 5 a spokojenost :-)

Ale stejně bych to rád měl zaintegrované do toho xfce nějak "normálně". Kdyby někdo věděl jak, podělte se prosím.
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: juwa2 13 Červen 2018, 11:52:36
1. To dá přece rozum, že když je tam sleep 20 že to nemůžeš zkoušet vteřinu po startu.... Je tam proto, že v ten okamžik startuje spousta dalších věcí a mohlo by to dělat neplechu. A kdo normálně něco píše dřív jak půl minuty po startu?

2. Už ti bylo řečeno, že layout se "normálně" nastavuje editací souboru /etc/default/keyboard  Takže to můžeš samozřejmě vyzkoušet a ten svůj si tam dopsat.  Nicméně stejně se nestane nic jiného než při použití setxkbmap.
A navíc - systém si někdy postaví hlavu, například tvrdošíjně "trvá" na angličtině, nastavení nerespektuje.
Z toho důvodu se osvědčilo moje řešení, které je blbuvzdorné a funguje vždycky..
Název: Re:18.4. Rozložení klávesnice čeština
Přispěvatel: roj 13 Červen 2018, 12:06:07
Hned se nečil. Zabil jsem s tím dva dny a zkoumal všechny ty soubory v ../rules.
Docela se v nich už vyznám a nebere mi hlava, že jsou tam vlastně jakoby na nic. Tak bych jen rád věděl, jak to doopravdy funguje, pochopit ty kilobajty konfigurací, které nic nedělají, možná kvůli nějaké trivialitě.

Když to nastavím v /etc, tak to bude globálně pro všechny uživatele. Což právě nechci, chci, aby si to každý měl možnost nastavit podle sebe.
To řešení se scriptem, co nakonec používám, to umožňuje, dík za něj.

(a co já vím, jestli sleep je 20 sekund nebo milisekund? Mně to startuje docela rychle, píšu hned!) :)