Portál AbcLinuxu, 19. července 2025 06:40


Dotaz: Elinks, čeština, kódování

Milan Vít avatar 29.6.2007 18:50 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Elinks, čeština, kódování
Přečteno: 768×
Odpovědět | Admin
Zdravím,

rozhodl jsem se počeštit si systém – a to kompletně, od konzolových aplikací až po KDEčka. Zatím jde vše poměrně bez problému (pominu-li nutnost rekompilace OpenOffice.org :-D), jen Elinks mě zlobí.

V Konsoli i virtuálních terminálech používám kódování Unicode (nabodeníčky fungují, písma se zdají být všude jinde v pořádku), v Elinksu mám nastaven systémový jazyk (pro jistotu: vpravo od něj se vypisuje text cs a ani změna natvrdo na češtinu se ve výsledku neprojeví) a v Nastavení terminálu je povolena volba UTF-8 I/O (v konfiguračním souboru Elinksu je mj. i řádek set terminal.xterm.utf_8_io = 1). Výsledek bohužel ani zdaleka neodpovídá stavu, který bych si představoval:
  1. V Konsoli nastavené na UTF-8 se dočkám místo znaků s nabodeníčky jen otazníčků. Pokud Konzoli přehodím do kódování ISO-8859-2 a Elinks také, vše funguje bez problémů
  2. Ve virtuálním terminálu se místo diakritiky písmena zdvojují, takže pak vidím třeba Vypnout rmmekky
Tak, a teď babo raď, když se na oficiálních stránkách o nějaké té lokalizaci ani slovem nezmiňují :-/
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Milan Vít avatar 29.6.2007 22:17 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Mírný pokrok v mezích zákona – příkazem unicode_start se mi podařilo sjednotit výsledky v Konsoli a virtuálních terminálech, teď už mám otazníčky všude :-D
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 22:26 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Odpovědět | | Sbalit | Link | Blokovat | Admin
V ~/.bashrc mám toto a funguje to:
if [ $TERM = "linux" ]; then
        unicode_start
fi
Funguje to v rámci možností, protože elinks neumí počítat délku UTF-8 znaků (UTF-8 I/O zapnuté mám). Takže nabídky i stránky se rozhazují, protože pro něj 1 bajt = 1 znak.
Milan Vít avatar 29.6.2007 22:31 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
unicode_start jsem před chvilkou zkoušel, s ním právě dostanu místo diakritiky otazníky, viz #1 :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 22:34 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Tahle podmínka zajistí spuštění unicode_start pokud jde o VT. Ukaž výstup příkazu locale
Milan Vít avatar 29.6.2007 22:39 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Vím, už to mám v ~/.zshrc, výsledek zůstává stejný – všude (tedy v Konsoli i VT) jsou místo písmen s diakritikou stále otazníky.
# locale
LANG=
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=cs_CZ.UTF-8
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 22:41 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Je v /etc/rc.conf nastaveno UNICODE na yes? Jak je na tom /etc/conf.d/keymaps?
Milan Vít avatar 29.6.2007 22:48 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
# grep UNICODE /etc/rc.conf | grep -v "#" 
UNICODE="yes"
# cat /etc/conf.d/keymaps | grep -v "#" 
KEYMAP="us"
SET_WINDOWKEYS="no"
EXTENDED_KEYMAPS=""
DUMPKEYS_CHARSET=""
Používám americké rozložení klávesnice – vím, trochu obskurní kombinace.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 22:50 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Ani nevím, zda to má vliv, ale já to mám takhle:
KEYMAP="cz"
SET_WINDOWKEYS="yes"
EXTENDED_KEYMAPS=""
DUMPKEYS_CHARSET="iso-8859-2"
Musí to být nějaká drobnost - mám tu UTF-8 na třech Gentoo strojích a není problém.
Milan Vít avatar 29.6.2007 22:54 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Vyzkouším změnit DUMPKEYS_CHARSET, SET_WINDOWKEYS raději ne – před chvílí jsem to v rámci experimentů zkusil a klávesnice zešílela tak decentně, že jsem byl rád, když jsem se dostal do VT a nastavil to zpět :-D
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Milan Vít avatar 29.6.2007 22:56 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Vyzkoušeno, DUMPKEYS_CHARSET u mě také způsobuje šílenství klávesnice a naprosto nepopsatelné chování.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 23:01 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Tak to už mě napadá jen odkázat na zde nalezené dokumenty.
Milan Vít avatar 29.6.2007 23:03 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Au. No, pokusím se, a mockrát díky za rady :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 23:05 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Ještě nápad: slang a ncurses jsou sestaveny s flagem unicode?
Milan Vít avatar 29.6.2007 23:08 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
slang nainstalovaný nemám, ncurses jsou zkompilovány z USE flagem unicode – mám jej v globálním seznamu USE flagů.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Milan Vít avatar 29.6.2007 23:00 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Odpovědět | | Sbalit | Link | Blokovat | Admin
Málem bych zapomněl – nevím, nakolik to spolu souvisí, ale Elinks nakonec není jediný program, se kterým neslavím úspěchy. Problémy mám i s manem, u něj vypadá výstup přibližně takto.

Všechny ostatní programy ale fungují bez problému, nebo jsem alespoň žádné další problémové neobjevil.
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Luboš Doležel (Doli) avatar 29.6.2007 23:02 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
man u mě chodí špatně taky. Vlastně ne.
alias man='LC_ALL=en_US man'
Asi by se to dalo vyřešit lépe, ale takhle mi to stačí :-)
Milan Vít avatar 29.6.2007 23:04 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Hezké, ale mě jde právě o ty české manuálové stránky :-D
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
Milan Vít avatar 30.6.2007 13:14 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Ještě poslední dodatek: na zprovoznění českých manuálových stránek lze použít tento nehezký, leč funkční workaround :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“
30.6.2007 12:09 Grumpa | skóre: 5
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Odpovědět | | Sbalit | Link | Blokovat | Admin
To se nasmějete, když vám řeknu, že to funguje skoro tak, jak jste popsal: V nstavení terminálu zapnout UTF8, jazyk nastavit na CS a ... teď to přijde ... kódování dát ISO8859-2. Je to nesmysl, ale funguje to.

Systém mám samozřejmě nastavený s locales cs_CZ.UTF-8
Milan Vít avatar 30.6.2007 12:18 Milan Vít | skóre: 23 | blog: about:linux | Orlová
Rozbalit Rozbalit vše Re: Elinks, čeština, kódování
Máte pravdu, to snad ani není možné! Díky mnohokráte, jdu zkusit vyřešit další zlobivé aplikace :-)
„There is no dark side of the Moon really… as a matter of fact it's all dark.“

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.