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í
×
    dnes 03:33 | Bezpečnostní upozornění

    V dokumentově orientované databázi MongoDB byla nalezena a v upstreamu již opravena kritická bezpečností chyba CVE-2025-14847 aneb MongoBleed.

    Ladislav Hagara | Komentářů: 0
    včera 23:11 | IT novinky

    Při úklidu na Utažské univerzitě se ve skladovacích prostorách náhodou podařilo nalézt magnetickou pásku s kopií Unixu V4. Páska byla zaslána do počítačového muzea, kde se z pásky úspěšně podařilo extrahovat data a Unix spustit. Je to patrně jediný známý dochovaný exemplář tohoto 52 let starého Unixu, prvního vůbec programovaného v jazyce C.

    🇨🇽 | Komentářů: 0
    včera 15:55 | Komunita

    FFmpeg nechal kvůli porušení autorských práv odstranit z GitHubu jeden z repozitářů patřících čínské technologické firmě Rockchip. Důvodem bylo porušení LGPL ze strany Rockchipu. Rockchip byl FFmpegem na porušování LGPL upozorněn již téměř před dvěma roky.

    🇨🇽 | Komentářů: 5
    včera 15:44 | Zajímavý software

    K dispozici je nový CLI nástroj witr sloužící k analýze běžících procesů. Název je zkratkou slov why-is-this-running, 'proč tohle běží'. Klade si za cíl v 'jediném, lidsky čitelném, výstupu vysvětlit odkud daný spuštěný proces pochází, jak byl spuštěn a jaký řetězec systémů je zodpovědný za to, že tento proces právě teď běží'. Witr je napsán v jazyce Go.

    🇨🇽 | Komentářů: 1
    včera 15:33 | Zajímavý software

    Yazi je správce souborů běžící v terminálu. Napsán je v programovacím jazyce Rust. Podporuje asynchronní I/O operace. Vydán byl v nové verzi 25.12.29. Instalovat jej lze také ze Snapcraftu.

    Ladislav Hagara | Komentářů: 1
    26.12. 18:44 | Komunita

    Od soboty do úterý probíhá v Hamburku konference 39C3 (Chaos Communication Congress) věnovaná také počítačové bezpečnosti nebo hardwaru. Program (jiná verze) slibuje řadu zajímavých přednášek. Streamy a záznamy budou k dispozici na media.ccc.de.

    Ladislav Hagara | Komentářů: 0
    26.12. 13:22 | Zajímavý software

    Byl představen nový Xserver Phoenix, kompletně od nuly vyvíjený v programovacím jazyce Zig. Projekt Phoenix si klade za cíl být moderní alternativou k X.Org serveru.

    🇨🇽 | Komentářů: 7
    26.12. 13:11 | Nová verze

    XLibre Xserver byl 21. prosince vydán ve verzi 25.1.0, 'winter solstice release'. Od založení tohoto forku X.Org serveru se jedná o vůbec první novou minor verzi (inkrementovalo se to druhé číslo v číselném kódu verze).

    🇨🇽 | Komentářů: 0
    26.12. 03:33 | Nová verze

    Wayback byl vydán ve verzi 0.3. Wayback je "tak akorát Waylandu, aby fungoval Xwayland". Jedná se o kompatibilní vrstvu umožňující běh plnohodnotných X11 desktopových prostředí s využitím komponent z Waylandu. Cílem je nakonec nahradit klasický server X.Org, a tím snížit zátěž údržby aplikací X11.

    Ladislav Hagara | Komentářů: 0
    25.12. 14:44 | Nová verze

    Byla vydána verze 4.0.0 programovacího jazyka Ruby (Wikipedie). S Ruby Box a ZJIT. Ruby lze vyzkoušet na webové stránce TryRuby. U příležitosti 30. narozenin, první veřejná verze Ruby 0.95 byla oznámena 21. prosince 1995, proběhl redesign webových stránek.

    Ladislav Hagara | Komentářů: 0
    Kdo vám letos nadělí dárek?
     (33%)
     (1%)
     (23%)
     (1%)
     (1%)
     (1%)
     (11%)
     (12%)
     (16%)
    Celkem 177 hlasů
     Komentářů: 18, poslední 24.12. 15:29
    Rozcestník

    Dotaz: smysl LC_CTYPE ?

    29.11.2004 15:23 Zdenek Stryhal | skóre: 10 | blog: ZS
    smysl LC_CTYPE ?
    Přečteno: 403×
    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: 63 | 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.