[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [E-devel] Entranced does not start entrance properly



Fixed it.
Here's a patch that runs /bin/bash first.

If that doesn't work execl should return so the next line should run after that ( execl("/bin/sh", ...)

I also found the same issue when entrace starts the session. The same fix finally got everything working corectly.

BTW, I'm new to this patching thing ... Should I have ran cvs diff -u in e17/apps/entrance so both files would have been inside the same diff?

Cheers,
Eugen.
Index: entranced_display.c
===================================================================
RCS file: /var/cvs/e/e17/apps/entrance/src/daemon/entranced_display.c,v
retrieving revision 1.2
diff -u -r1.2 entranced_display.c
--- entranced_display.c	1 Aug 2006 05:30:58 -0000	1.2
+++ entranced_display.c	27 Aug 2006 15:50:27 -0000
@@ -162,6 +162,10 @@
         sigaction(SIGUSR1, &_entrance_x_sa, NULL);
       /* FIXME: need to parse command and NOT go thru /bin/sh!!!! */
       /* why? some /bin/sh's wont pass on this SIGUSR1 thing... */
+
+      /* FIXME: PARTIAL FIX: try to run /bin/bash before /bin/sh 
+       * because /bin/bash works */
+	execl("/bin/bash","/bin/bash","-c", x_cmd, NULL);
         execl("/bin/sh", "/bin/sh", "-c", x_cmd, NULL);
         syslog(LOG_WARNING, "Could not execute X server.");
         exit(1);
Index: entrance_session.c
===================================================================
RCS file: /var/cvs/e/e17/apps/entrance/src/client/entrance_session.c,v
retrieving revision 1.84
diff -u -r1.84 entrance_session.c
--- entrance_session.c	3 Jun 2006 07:24:49 -0000	1.84
+++ entrance_session.c	27 Aug 2006 16:07:16 -0000
@@ -497,6 +497,7 @@
    entrance_session_free(e);
    /* replace this process with a clean small one that just waits for its */
    /* child to exit.. passed on the cmd-line */
+   execl("/bin/bash", "/bin/bash", "-l", "-c", buf, NULL);
    execl("/bin/sh", "/bin/sh", "-l", "-c", buf, NULL);
 }