terminaly (was: Textovy YaST2 (Re: SuSE Linux 8.0 - velke zklamani...))

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Pondělí Květen 27 13:09:13 CEST 2002


On Mon, 27 May 2002, Michal ©paček wrote:

> On Mon, May 27, 2002 at 12:05:19PM +0200, Petr Tomasek wrote:
> > On Mon, May 27, 2002 at 11:53:34AM +0200, Michal ©paček wrote:
> > > On Sun, May 26, 2002 at 12:36:24AM +0200, Pavel Kankovsky wrote:
> > > > > Zaver na vasi otazku je -> neni co navrhovat je treba se drzet standardnich
> > > > > valsnosti unixovych terminalu.
> > > > "Standardni vlastnosti unixovych terminalu" jsou dedictvi starsi nez Unix
> > > > a neni to neco, co by bylo zrovna nejlepe vymysleno. Priklady: date cat
> > > > na soubor, ve kterem je nahodou nejake svinstvo a pak se jen divite, do
> > > > jakeho stavu se ten terminal dostal (at zije in-band signalling);
> > > > suspendujete program, ktery nastavil cerne pismo na cernem pozadi a nic
> > > > nevidite. Atd.
> > > ad cat ;-)
> > > Takova stpidni otazka:
> > > Nevite nahodou jestli existuje nejaka iniciativa to resit?
> > co mate proti 'less'? pripadne, pokud se vam to nelibi, muzete udelat
> > neco jako 'safe_cat', ktery by vyhodil nebezpecne znaky (hlavne ESC sekvence)
> Ja osobne pouzivam less, more, cat, zcat apod.
> Vsechno jsou uzitecne.

Ono ostatne jako "safe_cat" lze pouzit i cat -v. Smyslem ale bylo ukazat,
jak prilis snadne je udelat neco blbe.

> Ja se ptal na technologii, protoze jsem pochopil, ze je spatna.
> Jina otazka: Je to problem terminalu nebo aplikace? Pochopil jsem, ze
> terminalu.

Chyba je (IMHO) v tom in-band signallingu, cili ze ridici sekvence
terminalu i "normalni text" jsou splacane v jednom kanalu k jejich
oddeleni je treba zvlastniho usili. Takhle musi *kazdy* program, ktery
ma nekdy potrebu vypsat neco na terminal, aniz by to mohlo byt
interpretovano jako ridici sekvence (napr. z toho duvodu, ze vypisovany
text pochazi z neduveryhodneho zdroje), resit problem:
1. jake znaky jsou na prislusnem terminalu ridici ci jinak problemove
   (to neni vzdy uplne trivialni ukol),
2. jak "pacifikovat" ty znaky ve vypisovanem textu, ktere byly
   identifikovany jako mozne zdroje potizi.

Druha chyba pak spociva v tom, ze je terminal pojat jako zarizeni 
kompletne sdilene vsemi procesy v prislusne seanci, takze nelze snadno
a prirozene zaridit, aby se napr. pri vymene procesu na popredi vymenilo
aktualni nastaveni (napr. ta barva pisma, ale i echo apod.), nebo aby to,
ze nejaky proces na pozadi vypise neco na terminal, nerozhodilo totalne
vystup procesu na popredi -- vzpomente si na to, jak to dopadne, kdyz
mate spusteny nejaky pekny interaktivni program a nekdo na vas provede
talk.

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Daląí informace o konferenci Linux