Presmerovani stderr

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Středa Červen 18 22:23:00 CEST 2003


On Wed, 18 Jun 2003, Zbynek Houska wrote:

> > # export DISPLAY=:0.0
> > # X 1> /tmp/X.log 2>&1  &
> > # sleep 10s
> > # xterm -e less /tmp/X.log

> Takze to jako neni mozne mit ty hlasky presmerovane na desktop? Mel
> jsem na mysli presmerovani pri startu X-ek...

Pokud tim myslite jako presmerovani hlasek bez toho mezisouboru, pak
je treba poznamenat, ze ten soubor ma velkou vyhodu v tom, ze zabranuje
deadlocku. Predstavte si situaci, kdy X server chce neco vypsat na svuj
chybovy vystup, ktery ale cte neco, co to zobrazuje zase pres ten X
server. Kdyz by doslo k situaci, ze by se buffery po ceste naplnily,
pak by se take mohlo stat, ze X server ceka, az nekdo precte neco
z bufferu, ale to neco nic neprecte, protoze ceka, az X server vyridi
nejaky pozadavek.


On Wed, 18 Jun 2003, oldfrog na volny.cz wrote:

> 2> soubor NENARUSTA
> 2>> soubor NARUSTA

Rozdil zalezi na tom, jak casto se odlogovavate. :)


On Wed, 18 Jun 2003, Dan Ohnesorg wrote:

> No ja nevim jestli je to ono, ale v dobach pred KDE mival temer kazdy na
> obrazove okno od xconsole, neni to to co chcete?

Ten program ma par chyb: jednak nejak trva na to, aby jeho ruid vlastnil
/dev/console (*), jednak neni schopen odchytnout to, co se neposila primo
do /dev/console nebo /dev/tty0, cili vetsinou ukaze jen hlasky z jadra,
ale uz nikoli treba vypisy samotneho X serveru a klientu v nem
spustenych apod.

(*) Nejlepsi na tom je, ze evidentne uplne zbytecne. Po aplikaci tohoto
patche mu funguje bez potizi i na Linuxu:

--- xconsole.c.orig	Wed Jun 18 22:12:57 2003
+++ xconsole.c	Wed Jun 18 22:13:50 2003
@@ -198,7 +198,7 @@
 	if (!strcmp (app_resources.file, "console"))
 	{
 	    /* must be owner and have read/write permission */
-#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(Lynx) && !defined(__UNIXOS2__)
+#if !defined(__NetBSD__) && !defined(__OpenBSD__) && !defined(Lynx) && !defined(__UNIXOS2__) && !defined(__linux__)
 	    struct stat sbuf;
 
 	    if (!stat("/dev/console", &sbuf) &&


i kdyz pravda...mam jiste pochybnosti o tom, zda je spravne, aby jadro
nechalo koholi, kdo si umi vyrobit pseudoterminal, krast pres TIOCCONS
vystup na konzoli. Nicmene tak jako tak by to melo kontrolovat jadro a ne
program xconsole.

--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