On 02/16/2010 04:00 PM, Hans de Goede wrote:
Hi Hans,
Hi,
1 comment inline.
+ '--sm-disable']
+ rc = iutil.execWithRedirect(cmd, args,
+ stdout='/dev/null', stderr='/dev/null')
+ if rc:
+ log.error("Error running window manager.")
+ sys.exit (rc)
+ else:
+ log.info("The window manager has terminated.")
+ sys.exit(0)
+ return childpid
+
Why the exec with redirect, why not simple exec metacity ?
Other then that, ack.
Because metacity dumps information into the standard output. For
instance now it complains about invalid values it gets from gconf. But
it runs. If the theme breaks, it might not even start up. We want to see
what it says but we don't want to have it in the standard output on
tty1. So I use execWithRedirect() which neatly logs everything metacity
says into program.log.
I know that this is annoying and will make another anaconda process
running all the time. Other solutions are:
:: open a subprocess and give it a special logfile like we do with vnc
(Radek suggests this). won't be logged remotely.
:: redirect stdout and stderr to /dev/null then execv() metacity.
horrible, makes metacity problems impossible to debug
:: execv() a command stub that deals with running metacity in anyway it
pleases; advantage: no extra anaconda instance running; disadvantage:
it's horrible.
So what I did was a compromise but I can be convinced something else is
better.
Ales
_______________________________________________
Anaconda-devel-list mailing list
Anaconda-devel-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/anaconda-devel-list