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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
včera 22:44 | Komunita

Joinup informuje, že Mnichov používá open source groupware Kolab. V srpnu byl dokončen dvouletý přechod na toto řešení. V provozu je asi 60 000 poštovních schránek. Nejenom Kolabu se věnoval Georg Greve ve své přednášce Open Source: the future for the European institutions (SlideShare) na konferenci DIGITEC 2016, jež proběhla v úterý 29. listopadu v Bruselu. Videozáznam přednášek z hlavního sálu je ke zhlédnutí na Livestreamu.

Ladislav Hagara | Komentářů: 5
včera 15:30 | Zajímavý projekt

Společnost Jolla oznámila v příspěvku Case study: Sailfish Watch na svém blogu, že naportovala Sailfish OS na chytré hodinky. Využila a inspirovala se otevřeným operačním systémem pro chytré hodinky AsteroidOS. Použita je knihovna libhybris. Ukázka ovládání hodinek na YouTube.

Ladislav Hagara | Komentářů: 6
včera 14:15 | Nová verze

Byla vydána verze 7.1.0 skriptovacího jazyka PHP používaného zejména k vývoji dynamických webových stránek. Jedná se o první stabilní verzi nejnovější větvě 7.1. Přehled novinek v dokumentaci. Podrobnosti v ChangeLogu. K dispozici je také příručka pro přechod z PHP 7.0.x na PHP 7.1.x.

Ladislav Hagara | Komentářů: 1
včera 12:55 | Nová verze

Google Chrome 55 byl prohlášen za stabilní. Nejnovější stabilní verze 55.0.2883.75 tohoto webového prohlížeče přináší řadu oprav a vylepšení (YouTube). Opraveno bylo také 36 bezpečnostních chyb. Mariusz Mlynski si například vydělal 22 500 dolarů za 3 nahlášené chyby (Universal XSS in Blink).

Ladislav Hagara | Komentářů: 4
včera 11:55 | Pozvánky

Máte rádi svobodný software a hardware nebo se o nich chcete něco dozvědět? Přijďte na 135. sraz spolku OpenAlt, který se bude konat ve čtvrtek 8. prosince od 18:00 v Radegastovně Perón (Stroupežnického 20, Praha 5). Sraz bude tentokrát tématický. Bude retro! K vidění budou přístroje jako Psion 5mx nebo Palm Z22. Ze svobodného hardwaru pak Openmoko nebo čtečka WikiReader. Přijďte se i vy pochlubit svými legendami, nebo alespoň na pivo. Moderní hardware má vstup samozřejmě také povolen.

xkucf03 | Komentářů: 0
včera 00:10 | Nová verze

Byla vydána verze 3.2 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata. Z novinek lze zmínit například podporu protokolů DNP3 a CIP/ENIP, vylepšenou podporu TLS a samozřejmě také aktualizovanou dokumentaci.

Ladislav Hagara | Komentářů: 0
1.12. 21:00 | Nová verze

Byla vydána beta verze Linux Mintu 18.1 s kódovým jménem Serena. Na blogu Linux Mintu jsou hned dvě oznámení. První o vydání Linux Mintu s prostředím MATE a druhé o vydání Linux Mintu s prostředím Cinnamon. Stejným způsobem jsou rozděleny také poznámky k vydání (MATE, Cinnamon) a přehled novinek s náhledy (MATE, Cinnamon). Linux Mint 18.1 bude podporován až do roku 2021.

Ladislav Hagara | Komentářů: 0
1.12. 16:42 | Nová verze

Byl vydán Devuan Jessie 1.0 Beta 2. Jedná se o druhou beta verzi forku Debianu bez systemd představeného v listopadu 2014 (zprávička). První beta verze byla vydána v dubnu letošního roku (zprávička). Jedna z posledních přednášek věnovaných Devuanu proběhla v listopadu na konferenci FSCONS 2016 (YouTube, pdf).

Ladislav Hagara | Komentářů: 0
1.12. 15:16 | Komunita

Na GOG.com začal zimní výprodej. Řada zlevněných her běží oficiálně také na Linuxu. Hru Neverwinter Nights Diamond lze dva dny získat zdarma. Hra dle stránek GOG.com na Linuxu neběží. Pomocí návodu ji lze ale rozběhnout také na Linuxu [Gaming On Linux].

Ladislav Hagara | Komentářů: 1
1.12. 13:14 | Bezpečnostní upozornění

Byla vydána verze 2.7.1 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Řešeno je několik bezpečnostních problémů. Aktualizován byl především Tor Browser na verzi 6.0.7. Tor Browser je postaven na Firefoxu ESR (Extended Support Release) a právě ve Firefoxu byla nalezena a opravena vážná bezpečnostní chyba MFSA 2016-92 (CVE-2016-9079, Firefox SVG Animation

… více »
Ladislav Hagara | Komentářů: 0
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (24%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 761 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: smysl LC_CTYPE ?

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