abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:15 | IT novinky
Firma Raptor Computing Systems, která stojí také za pracovní stanicí Talos II, představila levnější desku Blackbird s podporou jednoho 4-/8jádrového CPU POWER9 Sforza a formátem microATX; bližší specifikace jsou ve wiki výrobce.
Fluttershy, yay! | Komentářů: 0
včera 22:11 | Zajímavý projekt

Byla vydána verze 1.0 svobodné federalizované platformy pro sledování a sdílení videí, alternativy YouTube s podporou P2P, PeerTube (Wikipedie). Za vývojem PeerTube stojí nezisková organizace Framasoft snažící se mimo jiné nahradit svými svobodnými Frama službami služby společnosti Google (De-google-ify Internet).

Ladislav Hagara | Komentářů: 0
včera 19:44 | Zajímavý projekt

Společnost System76 prodávající počítače s Pop!_OS nebo Ubuntu plánuje prodej vlastního open source počítače s názvem Thelio. Informací je poskrovnu. Na Twitteru byla představena open source rozšířující deska (daughterboard), která by měla převzít funkce proprietárního softwaru na základní desce (motherboard).

Ladislav Hagara | Komentářů: 2
včera 00:22 | Nová verze

Google Chrome 70 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 70.0.3538.67 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 23 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 7
16.10. 22:44 | Komunita

Open source nástroj pro monitorování zabezpečení počítačových sítí Bro (Bro Network Security Monitor, Wikipedie) byl přejmenován na Zeek (Zeek Network Security Monitor). Nový název bez negativní konotace by měl být pro uživatele atraktivnější.

Ladislav Hagara | Komentářů: 13
16.10. 22:00 | Nová verze

Po dvou letech od vydání verze 0.4 byla vydána nová major verze 5 linuxové distribuce elementary OS (Wikipedie) vycházející z Ubuntu. Kódové jméno této nejnovější verze je Juno. Přehled novinek i s náhledy v příspěvku na Medium.

Ladislav Hagara | Komentářů: 0
16.10. 18:33 | Komunita

Svobodná decentralizovaná mikroblogovací platforma a sociální síť podobná Twitteru Mastodon (Wikipedie) slaví 2 roky. Krátkou historii a milníky shrnuje příspěvek na blogu.

Ladislav Hagara | Komentářů: 0
16.10. 11:11 | Zajímavý článek

Společnosti Microsoft, Google, Apple i Mozilla včera shodně oznámily, že z jejich webových prohlížečů Internet Explorer, Edge, Chrome, Safari a Firefox počátkem roku 2020 odstraní protokoly TLS 1.0 a TLS 1.1. Michal Špaček v článku Vypněte TLS 1.0 a 1.1 už dnes na svých stránkách informuje, že TLS 1.0 a 1.1 lze vypnout již dnes. Ověřit to lze například pomocí SSL Labs Server Testu.

Ladislav Hagara | Komentářů: 13
16.10. 05:55 | Humor

Banksy před několika dny šokoval umělecký svět svým obrazem, jenž se přímo v aukční síni po svém prodeji za více než 30 milionů korun sám částečně skartoval. Z obrazu Dívka s balónem vznikl obraz Láska v koši. Command Line Magic ukazuje, jak na podobného Banksyho z příkazového řádku.

Ladislav Hagara | Komentářů: 3
15.10. 16:55 | Komunita

Handshake, decentralizovaná certifikační autorita a peer-to-peer DNS aneb DNS v blockchainu, postupně rozděluje mezi svobodné a open source projekty celkově 10,2 milionu dolarů. V srpnu získalo 300 000 dolarů GNOME a 100 000 dolarů GIMP. Dnes oznámila nezisková organizace KDE e.V. zastupující komunitu kolem KDE v právních a finančních záležitostech, že od Handshake získala 300 000 dolarů, z čehož 100 000 dolarů je alokováno pro multiplatformní balík svobodných kancelářských a grafických aplikací Calligra.

Ladislav Hagara | Komentářů: 78
Přispíváte osobně k vývoji svobodného softwaru?
 (41%)
 (42%)
 (24%)
 (23%)
 (12%)
 (37%)
Celkem 234 hlasů
 Komentářů: 12, poslední včera 21:18
Rozcestník

Dotaz: smysl LC_CTYPE ?

29.11.2004 15:23 Zdenek Stryhal | skóre: 10 | blog: ZS
smysl LC_CTYPE ?
Přečteno: 324×
Snažím se pochopit jak funguje klávesnice.
Čeština, jak jsem se dočetl a vyzkoušel, nefunguje bez příslušně nastavené LC_CTYPE. Chápu, že se takto nastaví systém, aby správně příjmal znaky z klávesnice. Nechápu však, jak zařídit aby systém byl schopen zpracovat znaky z různých znakových sad.
Předpokládám, že pokud zvolím hodnotu "cs_CZ" bude fungovat také anglická klávesnice jako podmnožina. Jakou hodnotu mám však nastavit, kdybych chtěl přepínat mezi naprosto odlišnými klávesnicemi (např. us,cz,ru).

Odpovědi

29.11.2004 16:01 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Viz locale(7) a sekci Character Handling v info libc.

LC_CTYPE určuje vlastnosti znaků -- co je a není písmeno, co je odpovídající malé/velké písmeno čeho a pod.

S klávesnicí souvisí jen tak, že se špatně píší písmena, která nejsou považována za písmena (ale třeba za kontrolní znaky).

LC_CTYPE má odpovídat kódování, kterou používáš. Buď je to UTF-8, pak je jazyk celkem irelevantní, nebo jsi schizofrenik, protože žádná osmibitová znaková sada neobsahuje zároveň kompletní české i ruské znaky.
30.11.2004 08:19 rastos | skóre: 61 | blog: rastos
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Pravda je, ze tato problematika je pomerne komplikovana. Mal som problem najst ucelenu dokumentaciu, ktora by vysvetlila pojmy kodovania, charsetov, layoutov, (v linuxe tiez keybord option-vo, modelov a variantov) vztahov fontov a klavesnic ... proste je to chaos. Hlavne pre cloveka co sa s tou problematikou stretne prvy krat a nie je mu jasne aky nazov sa pouziva pre nieco co pozna z inej stranky.

Myslim, ze tato tema, ako namet na clanok, by bola vysoko ocenena ;-)

30.11.2004 10:11 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Ano, pak jsem to pochopil správně. Pokud chci zároveň používat více znakových sad(klávesnic) je třeba zvolit stále ne zcela použitelné UTF-8. Proč však potom existují locales typu "cs_CZ.UTF-8", proč ne pouze "UTF-8".
Lze při změně klávesnice automaticky změnit hodnotu LC_CTYPE a aktuální font? (domnívám se, že ne, kvůli nepřipravenosti aplikací)
Také se vám zdá situace kolem klávesnice(prakticky nejzákladnější HW) na linuxu značně neutěšená?
30.11.2004 11:40 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Protože LC_CTYPE slouží především pro klasifikaci znaků. Aplikace potřebují vědět, co je písmeno, které znaky jsou zobrazitelné na terminál apod. Tyhle věci se v jednotlivých jazycích (a občas i variantách) liší.
30.11.2004 11:52 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Proč však potom existují locales typu "cs_CZ.UTF-8", proč ne pouze "UTF-8".

Protože ostatní kategorie locale určují úplně jiné věci -- např. formát data a času nebo jazyk hlášek. Nevím, jak bys z UTF-8 poznal, jakým jazykem to má mluvit.

Lze při změně klávesnice automaticky změnit hodnotu LC_CTYPE a aktuální font?

Nejde a taková otázka vůbec nemá smysl -- hodnoty LC_CTYPE a aktuální font čeho? Používej UTF-8.

Také se vám zdá situace kolem klávesnice (prakticky nejzákladnější HW) na linuxu značně neutěšená?

Ne.
30.11.2004 13:49 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Protože ostatní kategorie locale určují úplně jiné věci -- např. formát data a času nebo jazyk hlášek. Nevím, jak bys z UTF-8 poznal, jakým jazykem to má mluvit.

Měl jsem na mysli LC_CTYPE, u ostatních locales je mi to jasné.


hodnoty LC_CTYPE a aktuální font čeho? Používej UTF-8.

Měl jsem na mysli LC_CTYPE a aktuální font pro příslušnou aplikaci. UTF-8 je patrně řešení, ale ne vše už uspokojivě funguje...

30.11.2004 14:27 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Měl jsem na mysli LC_CTYPE, u ostatních locales je mi to jasné.

To je nesmysl. Jméno locale je jen jedno. Když např. nastavím LANG=cs_CZ a nic jiného, tak se použije pro všechny kategorie. Kromě toho locale jsou dávno standardizovány ISO C (takže mimochodem stejně fungují i na MS Windows) a nemá smysl vymýšlet, jak by co by kdyby.

Co to je ,aktuální font v příslušné aplikaci`? Tj. který program je příslušná aplikace a které jeho fonty se mají změnit?

Kromě toho mohu xmodmapem plynule po jednom znaku předělat českou klávesnici na ruskou -- jak se má během toho přechodu chovat LC_CTYPE a fonty?

Zkrátka to je pitomost, závislost chování aplikací na klávesnici je odporná vlasnost MS Windows, kterou rozhodně není dobrý nápad reprodukovat -- tobě se opravdu líbí, když máš text ve wordprocesoru napsaný střídavě po několika znacích různými fonty, protože jsi přepínal mezi českou a anglickou klávesnicí kvůli speciálním znakům (nebo naopak českým znakům, kterých mohlo být jen pár)?

V Linuxu to nefunguje špatně, ale logicky. Tvůj názor, že je situace s klávesnicí neutěšená (a ostatně i tvoje představy o locale) spíš ukazuje na to, že naprosto netušíš, jak to funguje, než že to funguje špatně. Takže doporučuji nejprve si něco nastudovat.
30.11.2004 20:03 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
jak se má během toho přechodu chovat LC_CTYPE a fonty?

Domníval jsem se, že když stisknu klávesu, dostane program informaci závislou na kódování a bude jí podle stavu LC_CTYPE interpretovat. Když teda změním kódování měl by o tom program vědět. Pokud bude program ke stisknuté klávese vykreslovat znak, měl by vědět v jakém kódování, a zvolit příslušný font (nemyslím tedy měnit rodinu fontu ale pouze kódování, je li to možné).

...závislost chování aplikací na klávesnici je odporná vlasnost MS Windows, kterou rozhodně není dobrý nápad reprodukovat -- tobě se opravdu líbí, když máš text ve wordprocesoru napsaný střídavě po několika znacích různými fonty...

Tohle bych opravdu nechtěl, ale MS Windows a wordprocesory prakticky nikdy nepoužívám.

V Linuxu to nefunguje špatně, ale logicky. Tvůj názor, že je situace s klávesnicí neutěšená (a ostatně i tvoje představy o locale) spíš ukazuje na to, že naprosto netušíš, jak to funguje, než že to funguje špatně. Takže doporučuji nejprve si něco nastudovat.

Opravdu se snažím pochopit(nastudovat) jak to funguje, často bohužel metodou pokus-omyl. Snažím se zjistit proč mi některé věci nefugují, nebo fugují jinak nž bych očekával. Uznávám, že mám značně zkreslené představy o locales. V systému mám nastaveno pouze LC_CTYPE, a snažím se zjistit k čemu vlastně je. V jeho existenci vidím spory, které zřejmě nejsou problém, a tak jsem chtel vědět proč.

30.11.2004 20:22 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Domníval jsem se, že když stisknu klávesu, dostane program informaci závislou na kódování.

Ne. Aplikace dostane symbol -- např. rcaron (neboli ř). Ten má význam nezávislý na kódování. Tedy ve skutečnosti je to kapku složitější, s řadou historických excesů, ale podstatné je, že symboly ,nepatří` žádnému kódování. Po

xmodmap -e 'keysym a = Cyrillic_zhe'

začne klávesa a psát ж. Což nijak nesouvisí s ruštinou -- nebo to má být ukrajinština? bulharština? Jak by se to poznalo? Prostě jen začne psát ж.
1.12.2004 08:59 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Aplikace dostane symbol -- např. rcaron (neboli ř). Ten má význam nezávislý na kódování.

Ano, to jsem zjistil programem xev. Právě to byl důvod, proč jsem se začal zajímat o LC_CTYPE. Symbol zřejmě dostane podle nastavené klávesnice a nezávisle na LC_CTYPE nebo jinde nastaveném kódování. Proč však je však symbol při neadekvátně nastavené LC_CTYPE chybně(vůbec ne) interpretován když je naprosto jasné o co jde nezávisle na kódování(např. xterm)? Očekával bych třeba chybovou hlášku, že program si není jistý co s takovým symbolem dělat.

1.12.2004 09:07 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Nechápu, co je na tom chybného a neadekvátního. Nepoužíváš-li UTF-8, tak ses omezil na podmnožinu symbolů, které akceptuješ. Ty ostatní neakceptuješ.

P.S.: Terminál, který by vypisoval jakékoli chybové hlášky při čemkoli (kromě při spuštění), by u mě nevydržel ani pět minut.
Stanislav Brabec avatar 30.11.2004 14:28 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Měl jsem na mysli LC_CTYPE a aktuální font pro příslušnou aplikaci.

Takovému řešení používal blahé paměti altfontpatch v AmigaOS. Také to uspokojivě nefungovalo: Okna se překreslila jen v překrytých částech. Jiným oknům neseděla velikost. Text v původním jazyce se stal nečitelný. Všechna kódování musela mít tentýž převod kód znaku <-> CTYPE (což pro ISO-8859 neplatí).

V X, kde si každá aplikace vybírá font podle svého, a zdaleka ne každý má obdobu, by to vedlo k častým pádům aplikací.

Navíc moderní aplikace (GTK2, KDE3) již dávno nepracují s jednotlivými fonty, ale s více fonty najednou a na vyžádání natahují jednotlivé znaky. A pracují interně v UNICODE.
29.11.2004 17:07 Maude Lebowski
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
LC_CTYPE=cs_CZ.UTF-8
30.11.2004 10:25 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Proč zrovna "cs_CZ.UTF-8" a ne "UTF-8", má snad "cs_CZ" nejaké výsadní postavení? / Rád bych si to myslel :-) /
Stanislav Brabec avatar 30.11.2004 12:26 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Nemá, ale pokud si nastavíte třeba LC_CTYPE=tr_TR.UTF-8, pak se vám budou písmena chovat podle pravidel spisovné turečtiny, tedy písmenu i už nebude odpovídat velké I, ale velké İ, a písmenu I se přiřadí malé ı, nikoliv malé i.

Podobně to bude i s jinými jazyky. U proměnné LC_COLLATE budou rozdíly ještě výraznější.

Chcete-li kombinovat ruštinu s češtinou, budete muset použít UTF-8 (nebo jinou reprezentaci UNICODE), některé orientální kódování nebo nějaké obskurní kódování z dob RVHP (ke kterému si dopíšete charmap). Anebo se spokojit s tím, že budete neustále přepínat font, a vždy vidět správně jen polovinu textu.
zgrep -l "CYRILLIC SMALL LETTER SHCHA" $(zgrep -l "SMALL LETTER N WITH CARON" /usr/share/i18n/charmaps/*)
30.11.2004 13:56 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jak to však udělá chudák turek když bude chtít psát taky ještě česky?
Stanislav Brabec avatar 30.11.2004 14:20 Stanislav Brabec | skóre: 45 | Praha
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Použije některé z kódování, které mu najde výše zmíněný zgrep. Třeba UTF-8.

A s tím, že mu nebude správně chodit převod malých písmen na velké, se musí smířit. Jen v aplikacích, kde je možné explicitně vyznačit, která číst textu je v kterém jazyce (třeba TeX), tam může převod fungovat korektně.
30.11.2004 19:30 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Dobře, tomu rozumím, UTF-8 je pro tento případ dobrá nadmnožina kódování.
Proč je však převod malých písmen na velké závislý na "proměnné" která se nastavuje v nadřazeném terminálu? Je to jen implicitní nastavení nebo to lze operativně nastavit? (xterm ... export LC_CTYPE=... asi nebude to pravé?)
30.11.2004 20:19 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Není. Je závislý na nastavení proměnné prostředí toho programu, který to převádí. Ten ji ovšem obvykle dědí od shellu, z něhož byl spuštěn. Terminál žádné proměnné prosředí nemá.
30.11.2004 20:23 Zdenek Stryhal | skóre: 10 | blog: ZS
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jasně shell :-)
30.11.2004 20:24 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Každý proces má proměnné prostředí. Terminál je taky proces.

LC_ALL=en xterm

a

LC_ALL=cz_CZ.UTF-8 xterm

vytvoří znatelně jinak se chovající xtermy.
30.11.2004 20:28 Michal Kubeček
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Terminál není proces. Terminál je znakové zařízení.
30.11.2004 20:34 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Jeden z významů slova terminál je program emulující terminál (který je sám o sobě zařízení umožňující posílat příkazy na vzdálený počítač). A to je proces.
30.11.2004 20:37 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Obecně terminál není to znakové zařízení, ale věc která se chová jako terminál. Tj. faktorgrupa emulací terminálu vzhledem k implementaci...
30.11.2004 12:28 Miroslav Franc
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Ne nemá žádné výsadní postavení : ))) Proste je taková syntaxe : ))

"jazyk_teritorium.znakovaSada"

Jazyk je podle ISO 639 pro nas cs, teritorium podle ISO 3376 pro nas CZ.
30.11.2004 12:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
Přesněji je to

jazyk[_teritorium][.znakovásada][@modifikátor]

Modifikátory jsou např. v no@nynorsk nebo uz@Cyrl, uz@Latn.
1.12.2004 21:05 Miroslav Franc
Rozbalit Rozbalit vše Re: smysl LC_CTYPE ?
No dobre : ), nechtel jsem to zas az tak komplikovat.

Založit nové vláknoNahoru

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

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.