Portál AbcLinuxu, 4. června 2024 14:01


Dotaz: Mezerník nepíše mezeru.

4.4.2008 14:03 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Mezerník nepíše mezeru.
Přečteno: 1917×
Odpovědět | Admin
Ahoj,
nainstaloval jsem si ArchLinux. Po instalaci jsem si v rc.conf nastavil locale na cs_CZ.utf8 a klávesnici na us. Vše fungovalo správně. Potom jsem si nainstaloval Xfce4. Když jsem chtěl v terminálu (emulátor pro X) napsat znak mezera na anglické klávesnici, tak se vypsal nějaký neviditelný znak, který mezera není. Na české klávesnici to funguje správně a v terminálu (ne Xka) to funguje taky správně i s anglickou klávesnicí. To tedy znamená, že při zapnuté anglické klávesnici a napsání např. man man to hodí chybu, že příkaz man man nezná :
cenda@Hurvajs ~  $ man man
bash: man man: command not found
Bash to bere jako jeden příkaz: man(můj divný znak)man.
Zkoušel jsem locale přehodit na cs_CZ.iso88592 a je to stále stejné. Na jiných distribucích (Debian, Fedora,...) jsem toto nepozoroval.

Nevíte čím to je nebo jak to opravit?

dík
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.4.2008 14:25 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Jak ten "znak" identifikuje xev?
4.4.2008 14:44 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Po spuštění xev a zmáčknutí mezerníku to vypíše:
KeyPress event, serial 27, synthetic NO, window 0x1e00001,
    root 0x51, subw 0x0, time 7963482, (166,-46), root:(717,272),
    state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XmbLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x1e00001,
    root 0x51, subw 0x0, time 7963600, (166,-46), root:(717,272),
    state 0x0, keycode 65 (keysym 0x20, space), same_screen YES,
    XLookupString gives 1 bytes: (20) " "
    XFilterEvent returns: False
4.4.2008 14:58 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Tak oprava, ten výpis víše je s českou klávesnicí. Tento je s anglickou:
KeyPress event, serial 27, synthetic NO, window 0x1e00001,
    root 0x51, subw 0x0, time 8666314, (482,-52), root:(1033,266),
    state 0x2000, keycode 65 (keysym 0xa0, nobreakspace), same_screen YES,
    XLookupString gives 2 bytes: (c2 a0) " "
    XmbLookupString gives 2 bytes: (c2 a0) " "
    XFilterEvent returns: False

KeyRelease event, serial 30, synthetic NO, window 0x1e00001,
    root 0x51, subw 0x0, time 8666441, (482,-52), root:(1033,266),
    state 0x2000, keycode 65 (keysym 0xa0, nobreakspace), same_screen YES,
    XLookupString gives 2 bytes: (c2 a0) " "
    XFilterEvent returns: False
Ještě doplním, že v Xorg.conf mám nastaveno toto:
Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
        #Driver "keyboard"
        Option  "CoreKeyboard"
        Option  "XkbRules" "xorg"
        Option  "XkbModel"  "pc105"
        Option  "XkbLayout" "cz,us"
        #Option "XkbVariant" "qwertz,"
        Option  "XkbOptions" "grp:alt_shift_toggle"
EndSection
4.4.2008 15:02 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Podle toho druhého výpisu to vypadá, že to píše nezalomitelnou mezeru. Nevím, jestli mám správně nastavený model klávesnice. Který model by ještě připadal v úvahu pro notebook FS Pa1510?
5.4.2008 11:19 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Nevíte, kde je seznam modelů pro klávesnici, které lze nastavit v xorg.conf? Hledal jsem, ale marně. :-)
David Watzke avatar 5.4.2008 12:39 David Watzke | skóre: 74 | blog: Blog... | Praha
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Na Gentoo je to v /usr/share/X11/xkb/symbols/pc nebo inet. Jinde to může bejt někde v /etc/X11.
“Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
6.4.2008 13:09 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Díky, já spíš myslel něco na netu. Zkoušel jsem hledat na x.org a nic jsem nenašel, jen dokumentace pro vývojáře.
12.3.2009 07:50 rastos | skóre: 62 | blog: rastos
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Díky, já spíš myslel něco na netu.

Aj abclinuxu je na netu ;-)
6.4.2008 09:00 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Vyzkoušel bych i jiný emulátor terminálu, jestli je to problém pouze konsole nebo třeba klávesové mapy pro X.
5.4.2008 12:56 R
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
V Slackware som to mal chvilu tiez. Bol to nejaky bug.
6.4.2008 13:20 tessaract | skóre: 2 | Opava
Rozbalit Rozbalit vše Taky se s tím potýkám
Odpovědět | | Sbalit | Link | Blokovat | Admin
Problém nevzniknul při instalaci, ale při nějaké aktualizaci "něčeho".

Zůstává u mě nevyřešen, používám tedy českou klávesnici i v terminálu a učím se klávesové zkratky pro všechny ty divné znaky, které jsou pro práci potřeba.

Gentoo / XFce / Fujitsu-Siemens Amilo M6450
6.4.2008 18:44 cenda | skóre: 24 | blog: dedalebedanebohurvajs | Planá nad Lužnicí
Rozbalit Rozbalit vše Re: Taky se s tím potýkám
Takže myslíš, že je zbytečné to nějak řešit? Jak dlouho s tím máš problémy?
6.4.2008 20:34 tessaract | skóre: 2 | Opava
Rozbalit Rozbalit vše Re: Taky se s tím potýkám
Jestli je to zbytečné řešit, to věru nevím - je to silně individuelní. Já se s tím potýkám asi dva až tři měsíce, nějakou dobu jsem se pokoušel to řešit - bez úspěchu - kompiloval jsem různé verze terminálu, knihoven... Fakt nevím, kde je problém.

Tak jsem se na to vybod a čekám, jestli se to s nějakou další verzí "něčeho" nezlepší.

Faktem ale je, že neustálé přepínání klávesnice je na prd, zdržuje to, a někdy se mi až uzlují prsty a nevím, kde jsem ;-)

Jestli někdo ví jak na to, taky bych ocenil návrat k původnímu stavu.
6.4.2008 21:20 R
Rozbalit Rozbalit vše Re: Taky se s tím potýkám
Je to nieco s X, nejaka sucast okolo klavesnice. V poslednej dobe je tam tych bugov dost vela :(
6.4.2008 21:55 Jan Šimák | skóre: 37 | Hradec Králové
Rozbalit Rozbalit vše Re: Taky se s tím potýkám
Pro psaní speciálních znaků, které jsou dostupné pod anglickou mapou používám kombinaci pravý alt + příslušná klávesa. Třeba vám to nějak pomůže do doby než vyjde oprava :-)
6.4.2008 21:01 Jary | skóre: 30 | blog: Jary má blog | Dům
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkus nainstalovat nebo třeba přeinstalovat http://www.freedesktop.org/wiki/Software/XKeyboardConfig , nebo taky xkbdata ale to je prý deprecated ve prospěch toho XKeyboardConfig
.sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky. GitHub
20.6.2008 13:49 xm | skóre: 36 | blog: Osvobozený blog | Praha
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Odpovědět | | Sbalit | Link | Blokovat | Admin
Je to bug v X.Org. A asi pěkně zapeklitý (zřejmě nějaká memory corruption, kterou se nedaří najít). Co jsem o tom něco hledal, tak se s tím setkali i v SUSE (viz bug #368673) a místo vyřešení příčiny problému radši použili jen workaround.

Nicméně ten workaround je jednoduchý, stačí po naběhnutí X jednou spustit příkaz setxkbmap (stačí bez parametrů) a už to funguje jak má (píše to standardní mezeru místo nobreakspace).

Můžete si ten příkaz setxkbmap přidat třeba do skriptu v adresáři ~/.kde/env/ nebo v ~/.kde/Autostart/.
Svoboda je tím nejdůležitějším, co máme. Nenechte se o ní připravit, podporujte Pirátskou stranu!
Fuky avatar 10.2.2009 18:44 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Mezerník nepíše mezeru.
Díky, řešení pomohlo i mě. Stejný problém je v Debian GNU/Linux Lenny - X.Org X Server 1.4.2 (Release Date: 11 June 2008).

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.