Dear Rusty and all, I don't know if anybody had noticed, but there are some issues with the event.d scripts that are supposed to start the X on UME.
The problem is that unless you change the /etc/X11/Xwrapper.config there is no way the X is going to start on the machine. This is because the way it comes configured is with allowed_users=console. If you check with the xserver-wrapper.c you will find out that the upstart starts processes in the /dev/console which is not ok from the xserver-wrapper.c point of view. I include also here mytest.c file that basically emulates the behavior of the Xwrapper test so you can see that I am right. Here is how you can test it: 1. Place the mytest file in /etc/event.d $ sudo cp mytest /etc/event.d 2. Compile the mytest.c $ sudo cc -o /mytest mytest.c 3. Re-read the event.d? $ sudo init q 4. Check if it is there: $ sudo initctl list|grep mytest mytest (stop) waiting 5. Now you can see what I am talking about by running in console (login in text mode): $ sudo initctl start mytest and compare the result with: $ /mytest The explanation is that the test is looking for /dev/tty[n] as a process start fd/0. Since console is minor 5 and not 4 it is therefore rejected (unless you allow any process to start the X, which poses some security problems later). Long explanation for a short resolution to our problem: We need to change the /etc/event.d/session as follows: -exec su -l ume "/usr/bin/starx -- -config xorg-crownbeach.conf" +console output +exec openvt -w -f -c 1 -- su -l ume "/usr/bin/starx -- -config \ xorg-crownbeach.conf" I added the console output so that there is some feedback to the user if things goes wrong... Hope it helps other people having the same problem... Cheers, Peter -- Peter Antoniac, PhD https://launchpad.net/~theseinfeld GIT/CS a C+++ UL+++$ w--- PGP++ e++++
/* $Author: Peter Antoniac */ #include <stdio.h> #include <sys/stat.h> int main (void) { struct stat s; if (fstat (0, &s) != 0) // if (stat ("/dev/tty1", &s) != 0) { (void) fprintf (stderr, "X: cannot stat stdin\n"); (void) fprintf (stdout, "X: cannot stat stdin\n"); } if (S_ISCHR(s.st_mode) && ((s.st_rdev >> 8) & 0xff) == 4 && (s.st_rdev & 0xff) < 64) { (void) fprintf (stderr, "X: is ok\n"); (void) fprintf (stdout, "X: is ok\n"); } else { (void) fprintf (stderr, "X: is NOT ok\n"); (void) fprintf (stdout, "X: is NOT ok\n"); } return 0; }
# My test for Xwrapper behaviour in upstart # description "testing x behaviour in upstart" author "Peter Antoniac <[EMAIL PROTECTED]>" stop on runlevel [!2] start on runlevel 2 console output exec /mytest
-- Ubuntu-mobile mailing list Ubuntu-mobile@lists.ubuntu.com Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/ubuntu-mobile