Dálnopis (mezinárodní veřejná telexová síť a dnes již zrušená česká síť)používá 5bitovou MTA-2 (ITA-2) nikoliv 7bitovou ASCII jak píšete. Stejné to bylo i v rámci části přenosových systémů pošty na přepravu telegramů, které byly uzavřené. Na některých místech světa se používal kod Baudott, který je poněkud odlišný, ale též pětibitový. Dálnopis byl vždy pětibitový a vždy stavový (písmena/čísla). V obdobném stylu bych mohla pokračovat. Laskavě si ověřujte fakta než je pustíte do světa.
yuriko pls..
1) jde o preklad - takze si stezujte originalnimu autorovi
2) jde o detail, ktery pouze velmi slabe souvisi s tematem clanku a i kdyby tato informace byla zcela lziva, informacni hodnota clanku (tj. informace o fungovani unixovych terminalu) zustane stale dost vysoka.
Urcite je vhodne upozornit na chybu, ktora sa vyskytne, avsak vzdy je dolezity sposob. Predmetna pani, ktora na chybu upozornila, zvolila velmi primitivny nadneseny ton. Stare: Errare humanum est - mylit sa je ludske, by si mali zvlast uvedomit jedinci, ktori cez svoje zaslepene ego najlepsie vidia chyby druhych, co manifestuju velmi namyslenym sposobom.
Ackoli s vami souhlasim v tom, ze ta informace o kodovani dalnopisu je pro informacni hodnotu clanku o tty dost nepodstatna, dovolil bych si poznamenat, ze je potreba opravovat i takoveto chyby. Clovek si pak po letech nekde vzpomene, ze "dalnopis byl ascii" a uz davno netusi, jaky byl zdroj, jak byl duveryhodny, jak byla informace relevantni ... proste "vi", ze dalnopis byl ascii. A to nepotesi ...
Ja - i kdyz jsem vedel, ze (alespon nektere) dalnopisy byly 5 bitove - jsem byl liny overovat to na wiki a usoudil jsem, ze uz tenkrat asi bylo vic kodovani.
Mnozstvi _KVALITNICH_ clanku, ktere tento tyden na rootu vyslo se zacina blizit hodnote, u ktere mam zas pocit, ze je to "stary dobry root".
A to, ze jde o preklad mi prilis nevadi (i kdyz sam bych asi nektere casti prelozil jinak - napr. misto "vyhubeny" bych pouzil spise slovo "vyhynuly" - nikdo terminaly aktivne nelikvidoval).
Jen tak dal!
Docela podrobný článek o TTY je tak tady:
http://www.linusakesson.net/programming/tty/index.php
Jo, to je fakt výlet do Unixové prehistorie. Terminálové sekvence mělo dávno nahradit API, jak je tomu například ve Windows. "Skvělým" výsledkem přežívání terminálových sekvencí a stovek typů terminálů na Unixech je stav, kdy po připojení na systém jiného typu terminál prakticky nikdy nefunguje. Nejvtipnější je, že i backspace a delete se kóduje na různých terminálech různě. To je fakt prehistorie.
BTW když je tu seriál o technickém muzeu terminálů, nechce autor rovnou pokračovat u X11?
nepřeskakuj, o terminálech se toho dá napsat tolik, že se X11 nedostaneme :).
Nějaký úvod o X11 by být mohl, ale X11 trpí backward kompatibilitou ještě výrazně víc. I když třeba díky ICCCM můžu používat tiling window manager, který oknu vnutí velikost, a většina aplikací s tím nemá problém. Výrazně mi to zpřehledňuje plochu a nenašel jsem ještě nic podobného pro windows. (Dokonce ani autor toho mého winowmanageru, který se naštval na linuxovou komunitu s tím, že přejde na windows, nenapsal windowsí variantu tak skvělého windowmanageru (ion3)).
Jestli ti to vadí, můžeš změnit používaný systém, nikdo ti přeci nebrání. Myslim, že mnoho lidí, stejně jako já, jsou rádi za terminál a nevidí důvod, proč by se to mělo měnit, když to funguje skvěle.
Pokud se ti libí, jak je to u widlí, tak je používej. Pro ostatní jsou tu UNIX like systémy. Díky této diverzitě si každý může vybrat, co se mu používá nejlíp a nemusí řešit různý obezličky.
Což znamená, že musíte požadavek přeložit pomocí API na sekvenci, a tu sekvenci pak zase dekódovat. Navíc to neřeší problém pro uživatele, který musí sladit nastavení terminálu na svém a vzdáleném stroji. K tomu některé aplikace používají vlastní nastavení terminálu, a některé i vlastní databáze sekvencí (pokud se nemýlím, tak to byl svého času třeba mc).
Jenže to jede přes popisy terminálů v termcap nebo terminfo (jak kde a někdy dokonce a jak která aplikace) a já ještě neviděl termcap nebo terminfo, kde by byla dobře popsaná i třeba 30 let stará vt100 (kromě těch, co jsem si napsal sám). Spousta věcí, které umí, podle těch popisů neumí a je tam i dost chyb. takže nakonec podle toho fungují jen ty nezbytné základy.
Navíc spousta aplikací si dělá do nich vlastní sekvence (například Informix) a pak je sranda, že s těmi aplikacemi dostanete termcap nebo terminfo, které přeplácne ty systémové, ale přitom tam jsou jen ty sekvence, co potřebuje ta aplikace. A pak hledáte, proč to, co chodilo, najednou nechodí, protože takovouhle prasárnu od dodavatelů SW nečekáte.
Jasně využívá to termcap nebo terminfo, ale stále to API je a původní stížnost na to, že si musí někdo hrát s escape sekvencemi tím padá. Že jsou v databázi chyby asi nejde vyloučit a ani to nikdo netvrdil, ale v normálním použití (pokud člověk nepožaduje grafiku a to dnes asi už nikdo nechce) se na chyby moz nenaráží - resp. viděl jsem špatně nastavené terminálové klienty, ale to je již jiná věc.
Větší problém je v neefektivitě vlastního přenosového protokolu, ale s tím asi nikdo nic neudělá, pokud se tedy nepřenese část logiky na klienta.
Jo. Před pár lety (jaká je situace dnes, nevím, ale když to zůstalo stejný třicet let, tak se to asi moc nezměnilo) jsem dělal triviální věc - zapsat do lišty okna běžný adresář. Samozřejmě jsem zkusil tput, jenže ani pro jeden terminál, který umělo putty, nebyla v terminfu sekvence pro psaní do stavové řádky. Takže to nakonec skončilo hraním s ESC sekvencemi (nemaje práva administrátora nemohl jsem terminfo opravit). Prostě bez správné terminfo databáze je vám tput nanic. A dobře udělanou terminfo databázi jsem ještě neviděl.
Vždycky jsem měl pocit, že trpíte nějakou psychickou poruchou. Ale jak už tu někdo napsal, poslední dobou se tento pocit mění v jistotu. A zdá se, že porucha nad vámi pomalu přebírá kontrolu. Snad by bylo vhodnější navštívit nějakého specialistu místo kompenzace v podobě trapných příspěvků do veřejných diskusí.
Jasně, takže všichni přejdeme na nestandardní CP1250 s nestandardním CRLF na konci řádku a na používání API, který se teď bude měnit co půl roku. A zaručený pád systému 2x týdně. Juch! To bude skvělý...
Přiznej si pravdu. Nový věci nejsou automaticky skvělý. A pokud jsou nějakou náhodou někdy nový věci skvělý, ne vždycky jsou technicky nebo ekonomicky aplikovatelný. Představ si, že by co půl roku někdo stáhl na update meziplanetární sondu nebo se automaticky týden co týden updatovala a hodinu restartovala telemetrie jadernýho reaktoru...
Byla řeč o terminálech. V čem konkrétně je podle vás je Unixový přístup k terminálům výhodný?
Ad CP1250 - to je sice historie, ale rozhodně lepší, než 8859-2, kde v dokumentu ani nenapíšete české uvozovky, protože nejsou v kódové stránce.
Ad "nestandardní" CRLF - HTTP, SMTP, FTP, IRC a další používají CRLF. A ty dálnopisy také používají dva znaky - CR pro návrat vozíku na začátek řádky, LF pro posun papíru.
Ad API, který se teď bude měnit co půl roku - které konkrétně? :)
Souhlas, nový věci nejsou automaticky skvělý. Totéž platí o starých věcech.
Možná jede ve zkripleném UTF-16, do kterého se nevejde celé Unicode, ale programy pro konzoli musí být v IBM-852, což samozřejmě způsobí nefunkčnost v jiné jazykové verzi.
Zatímco na Linuxu je wchar dvaatřicetibitový, a převede se to automaticky podle locales na libovolném počítači kdekoliv na planetě. Binárka bez kompilace zdrojáku!
To je samozřejmě nesmysl. V PC 852 jsou programy pro DOS. Do konzole je možné psát v UTF-16, ANSI CP (1250) a OEM CP (v češtině 852). API jsem linkoval.
Ukázka:
static void Main(string[] args)
{
Console.OutputEncoding = System.Text.Encoding.Unicode;
Console.WriteLine("ěšččřžДЕЖЗИΓΕΘΛΝ");
Console.ReadLine();
}
Běžte si to zkusit. Pokud vám to nezobrazí azbuku a řecká písmena, změňte si ve vlastnostech konzole font.
Tie obrazky aj s pohladom na subsystem mi pripadaju take tazkopadne. Podla mna je jednoduchsi klasicky vrstvovy model, kde dole mam nejaky hw (povodne serial line, dnes cokolvek), nad tym nejaku linkovu disciplinu, nad tym nejaku abstrakciu - charakter device, nad tym zas terminfo/termcap.... atd.
Potom sa napriklad nemusim zaoberat tym, ci je tam modem, alebo prudova slucka, alebo krutena dvojlinka. Proste je tam spojenie. Zaroven sa tie vrstvy daju popisat samostatne a celkovo je to prehladnejsie.
Ale chapem, ze je to preklad......
Inak doteraz pouzivame terminaly k starsim aixom ako systemove konzoly, je to celkom prakticke.