Portál AbcLinuxu, 13. května 2025 21:54

Dotaz: Poškozená diakritika při kopírování v xtermu

16.2.2008 10:01 Dave
Poškozená diakritika při kopírování v xtermu
Přečteno: 508×
Odpovědět | Admin
Hezký den,

pokud do xtermu zkusím zkopírovat myší pomocí prostředního tlačítka myši nějaký text, tak se v něm místo znaků žščřů zobrazují hashe (#). Ostatní znaky fungují dobře. Distribuci mám Gentoo, nastavení locales je takovéto:
LC_ALL=cs_CZ
XTERM_LOCALE=cs_CZ
Stejná chyba už se řešila tady, ale bez nějakého výsledku. Nevíte někdo, co s tím?
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

16.2.2008 11:15 pavel
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nastavení písma - fontu?
16.2.2008 21:57 Dave
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Ne, písmo se zobrazuje správně. Text se poškodí při kopírování, viz odkaz na diskusi v mém dotazu, tam je to popsání ještě podrobněji.
SkyRaT avatar 19.2.2008 06:39 SkyRaT | skóre: 8 | Blansko, Praha, Nagoya
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemas nastaveny kodovani!!!
U me promennou $XTERM_LOCALE nastavuje xterm pri pusteni a nastavi ji podle systemu a tedy na:
$ echo $XTERM_LOCALE
en_US.UTF-8
Musis nastavit kodovani celemu systemu na LC_ALL=cs_CZ.UTF-8 a vsechno musi chodit. Pak se ti po spusteni xtermu nastavi to $XTERM_LOCALE na cs_CZ.UTF-8 samo.

Ted jsem to overil a opravdu pokud nastavim:
$ export XTERM_LOCALE=cs_CZ
tak se mi opravdu zacnou zobrazovat hashe.
$ echo $XTERM_LOCALE
cs_CZ
$ ááá###éééíííóóóúúú###ýýý############
19.2.2008 10:53 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Ale kdepak, vse je v jednom xtermu a shellu:
petr@album:~ $ locale
LANG=cs_CZ.UTF-8
LC_CTYPE="cs_CZ.UTF-8"
LC_NUMERIC="cs_CZ.UTF-8"
LC_TIME="cs_CZ.UTF-8"
LC_COLLATE="cs_CZ.UTF-8"
LC_MONETARY="cs_CZ.UTF-8"
LC_MESSAGES="cs_CZ.UTF-8"
LC_PAPER="cs_CZ.UTF-8"
LC_NAME="cs_CZ.UTF-8"
LC_ADDRESS="cs_CZ.UTF-8"
LC_TELEPHONE="cs_CZ.UTF-8"
LC_MEASUREMENT="cs_CZ.UTF-8"
LC_IDENTIFICATION="cs_CZ.UTF-8"
LC_ALL=
petr@album:~ $ echo $XTERM_LOCALE 
cs_CZ.UTF-8
LC_ALL být vámi bych do toho netahal, protože to má jiný smysl než LANG.

Přečtěte si odkazovanou chybu v Debianu, píše se tam, že xterm chybně smaže selection a pak data vkládá z cut bufferu, který z principu umí jen ISO-8859-1, tudíž ostatní znaky nahradí křížky.
SkyRaT avatar 19.2.2008 12:13 SkyRaT | skóre: 8 | Blansko, Praha, Nagoya
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Nejak z toho neni poznat jestli me doplnujes, negujes nebo reagujes do uplne jine diskuze...
19.2.2008 15:04 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Rozporuji nápad nastavit LC_ALL a nabízím LANG, dále tvrdím, že Musis nastavit kodovani celemu systemu… a vsechno musi chodit není pravda, protože chyba v xtermu je jiného ražení a hraní si s locale ji neopraví.
SkyRaT avatar 19.2.2008 16:28 SkyRaT | skóre: 8 | Blansko, Praha, Nagoya
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Tak ja to jen objasnim pro ty co to nepochopili:

1. pokud si vsimnes, tak LC_ALL nabizi sam autor a ma ho spatne, ja ho jen doplnil o kodovani. O LANG se vubec nezminuji, on take ne a predpokladam, ze ho ma stejne spatne. Proto jsem poznamenal, ze "Musis nastavit kodovani celemu systemu..." (tedy - pro tebe, petre_p - i promenne LANG). Bylo by vhodne, aby soudruhuv vystup vypadal jako tvuj (dodam, ze muj je s tvym shodny) a je spravne, stejne jako hodne dalsich kombinaci, ktere zde uvadet nebudeme.

2. pokud si prectes muj komentar poradne zjistis, ze problemy tohoto razeni nemam. Kdyz jsem se snazil problem zreprodukovat (coz ty jsi urcite nedelal) a aplikoval jsem soudruhovo nastaveni bez kodovani, dosahl jsem presne te chyby, kterou soudruh popisuje. Postupujeme-li obracenym zpusobem, chybu tim opravime! Pokud ne, muze byt chyba i jinde (treba v prahystoricke verzi xtermu), ale to je na dalsi thread nebo na autorovo vyjadreni, ze postup nezabral.
19.2.2008 16:46 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Tak to se omlouvám, odpovídal jsem na něco, na co se tazatel neptal.
19.2.2008 17:16 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
A kdyby někoho zajímalo řešení mého problému, tak jsem jej konečně našel. „Chyba“ byla opravena ve verzi 230, avšak „správné“ chování je třeba zapnout nastavením zdroje XTerm*keepSelection na hodnotu true.
19.2.2008 23:22 Dave
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji všem za příspěvky, ale žádné nabízené řešení bohužel nezabralo. Ani nastavení locales, ani nejnovější verze xtermu (232) s nastaveným "Keep Selection". Nějaké další nápady?
SkyRaT avatar 20.2.2008 06:12 SkyRaT | skóre: 8 | Blansko, Praha, Nagoya
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Odkud to kopirujes? Z webu? Rikas, ze text cesky psat do xtermu muzes a je spravne, zkus ho zkopirovat o radek niz, jestli se poskodi nebo zustane spravne.
Dalsi vec co me napada: jakej mas clipboard? Xkovej nebo ti to handeluje neco jako Klipper od KDE?
Jeste k predchozimu: doufam, ze mas ty locales vygenerovane a ze se opravdu zmenilo nastaveni v celem systemu a nehlasi to divne chyby o chybejicim locales. Je promenna $XTERM_LOCALE zmenena na tu s kodovanim? To je zasadni.
20.2.2008 07:47 Dave
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Při kopírování uvnitř jednoho xtermu se čeština rozbije taky. Pouzivam Enlightenment e16, tudíž používám obyčejný Xkový clipboard. Locales jsou snad nastavene spravne:
# locale
LANG=cs_CZ.ISO-8859-2
LC_CTYPE="cs_CZ.ISO-8859-2"
LC_NUMERIC="cs_CZ.ISO-8859-2"
LC_TIME="cs_CZ.ISO-8859-2"
LC_COLLATE="cs_CZ.ISO-8859-2"
LC_MONETARY="cs_CZ.ISO-8859-2"
LC_MESSAGES="cs_CZ.ISO-8859-2"
LC_PAPER="cs_CZ.ISO-8859-2"
LC_NAME="cs_CZ.ISO-8859-2"
LC_ADDRESS="cs_CZ.ISO-8859-2"
LC_TELEPHONE="cs_CZ.ISO-8859-2"
LC_MEASUREMENT="cs_CZ.ISO-8859-2"
LC_IDENTIFICATION="cs_CZ.ISO-8859-2"
LC_ALL=cs_CZ.ISO-8859-2

# echo $XTERM_LOCALE
cs_CZ.ISO-8859-2

# locale -a  
C
cs_CZ
cs_CZ.iso88592
cs_CZ.utf8
en_US
en_US.utf8
Pro UTF-8 je chování stejné. Tak nevím...
SkyRaT avatar 20.2.2008 08:42 SkyRaT | skóre: 8 | Blansko, Praha, Nagoya
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
V Debianu je opravdu chyba v Keep selection a opravuje ji trik petra_p. Projevuje se to tak, ze 50:50 to funguje spravne a spatne. Pokud ani tohle u tebe nezabralo, tak jeste muzes zkusit jinej terminal (kdyz Enlightement, tak treba Eterm). Pokud problem pretrva, tak bude spis uz v xclipboardu.
20.2.2008 20:32 Dave
Rozbalit Rozbalit vše Re: Poškozená diakritika při kopírování v xtermu
Tak jsem vyzkoušel Eterm a ten funguje správně. Takže nějaká chyba musí být přímo v Xtermu...

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.