seriova konzola bezi len 80x25

Patrik Ostrihon pa3k na pa3k.sk
Středa Květen 14 20:01:19 CEST 2003


Dňa St, 2003-05-14 at 16:34, Rybarik, Michal napísal:
> 
> > man stty
> > priklad: stty cols 110
> 
> vdaka, pomohlo. akurat som tam nenasiel nic na sposob autodetekcie 
> rozmeru terminaloveho okna. ked tam idem cez ssh, funguje to, cez 
> konzolu nie. why?

Nejedna sa o autodetekciu, take nieco nefunguje.

Velkos terminalu sa nastavuje pomocou ioctl. Ovladac terminalu (zvycajne
pseudoterminalu) si tuto informaciu udrziava pre kazdy terminal,
prislusna aplikacia si ju tak isto cez ioctl moze nacitat. 

Ked v xterme zmenite velkost, on o tom da vediet ovladacu
pseudoterminalu a ten si nastavy novy rozmer. Nasledne aplikacia xterm
zasle signal SIGWINCH vsetkym procesom, ktore maju otvoreny dany
pseudoterminal. Pokial je tou aplikaciou ssh klient, on na zaklade
prijatia tohoto signalu posle tuto informaciu ssh serveru s ktorym je
spojeny a ten vykona potrebne nastavenie na prislusnom pseudoterminale a
tak isto ako xterm, posle signal vsetkym procesom ktore ho maju
otvoreny. Ak je tymto procesom mc :), tak obdrzi signal, zisti si novu
velkost  a prisposobi sa jej :). 

Takze ziadna autodetekcia.
Problem je v tom, ze ssh vramci svojho protokolu ma moznost posielat si
aj ine informacie ako to co stlacite a to co sa ma zobrazit :), jednou z
nich je aj zmena velkosti terminaloveho okna. Po seriovej linke tuto
moznost nemate (pokial berieme pripad, ze tu seriovu linku pouzivate
priamo ako terminalovu linku a nemate na nej ppp a cez ppp ssh :) ).
Mam taky dojem, ze by to malo ist aj pomocou ESC sekvencie, ale to som
si nie isty, to by som sa na to musel pozriet, to uz naspamat neviem :).

-- 
Patrik Ostrihon
Technicky riaditel
ProWeb Consulting, a.s.
Werferova 1, 040 11  Kosice
Tel./fax: 055 / 7898 401
Navstivte nas na: www.pwc.sk




Další informace o konferenci Linux