]> code.ossystems Code Review - openembedded-core.git/commitdiff
xserver-nodm-init: Add ability to run X as a non-root user
authorRichard Purdie <rpurdie@linux.intel.com>
Wed, 27 May 2009 10:45:22 +0000 (11:45 +0100)
committerRichard Purdie <rpurdie@linux.intel.com>
Wed, 27 May 2009 10:45:22 +0000 (11:45 +0100)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
meta/packages/x11-common/xserver-nodm-init.bb
meta/packages/x11-common/xserver-nodm-init/xserver-nodm

index 521f17c5f4ca01f3116ccb5d1c2182c58c9c203f..c9efb71b811c938da2a0209611dd1b291cefe356 100644 (file)
@@ -2,8 +2,8 @@ DESCRIPTION = "Simple Xserver Init Script (no dm)"
 LICENSE = "GPL"
 SECTION = "x11"
 PRIORITY = "optional"
-PR = "r18"
-RDEPENDS = "dbus-wait"
+PR = "r21"
+RDEPENDS_${PN} = "dbus-wait sudo"
 
 SRC_URI = "file://xserver-nodm"
 S = ${WORKDIR}
index f6399fc1faab58555e7cebd6b94e8c21fec62fcc..69ea94972412f5d11a7bae9478ae17e70bde4ce1 100755 (executable)
@@ -26,8 +26,15 @@ done
 case "$1" in
   start)
        . /etc/profile
+       username=root
        echo "Starting Xserver"
-       /etc/X11/Xserver &
+       if [ -f /etc/X11/Xusername ]; then
+           username=`cat /etc/X11/Xusername`
+       fi
+       # Using sudo -i here has the nice side effect of making sire
+       # HOME, USER and other previously problematic variables
+       # are set correctly
+       sudo -b -i -u $username /etc/X11/Xserver
        # Wait for the desktop to say its finished loading
        dbus-wait org.matchbox_project.desktop Loaded
   ;;