]> code.ossystems Code Review - openembedded-core.git/commitdiff
mini-x-session: Add this recipe as the session file for mini X
authorZhai Edwin <edwin.zhai@intel.com>
Wed, 21 Dec 2011 07:16:31 +0000 (15:16 +0800)
committerSaul Wold <sgw@linux.intel.com>
Tue, 3 Jan 2012 04:26:21 +0000 (20:26 -0800)
mini-x-session runs session files on behalf of file owner, so that no rootless X
required.

Signed-off-by: Zhai Edwin <edwin.zhai@intel.com>
meta/recipes-graphics/mini-x-session/files/mini-x-session [new file with mode: 0644]
meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb [new file with mode: 0644]

diff --git a/meta/recipes-graphics/mini-x-session/files/mini-x-session b/meta/recipes-graphics/mini-x-session/files/mini-x-session
new file mode 100644 (file)
index 0000000..1940e27
--- /dev/null
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# Very simple session manager for Mini X
+#
+
+# Uncomment below to enable parsing of debian menu entrys
+# export MB_USE_DEB_MENUS=1 
+
+if [ -e $HOME/.mini_x/session ]
+then
+exec $HOME/.mini_x/session
+fi
+
+if [ -e /etc/mini_x/session ]
+then
+exec /etc/mini_x/session
+fi
+
+MINI_X_SESSION_DIR=/etc/mini_x/session.d
+
+# Execute session file on behalf of file owner
+for SESSIONFILE in $MINI_X_SESSION_DIR/*; do
+    set +e
+    USERNAME=`stat -c %U $SESSIONFILE`
+    sudo -b -i -u $USERNAME $SESSIONFILE& 
+    set -e
+done
+# Default files to run if $HOME/.mini_x/session or /etc/mini_x/session
+# dont exist. 
+
+matchbox-terminal&
+exec matchbox-window-manager
diff --git a/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb b/meta/recipes-graphics/mini-x-session/mini-x-session_0.1.bb
new file mode 100644 (file)
index 0000000..3818d16
--- /dev/null
@@ -0,0 +1,24 @@
+DESCRIPTION = "Mini X session files for poky"
+HOMEPAGE = "http://www.yoctoproject.org"
+BUGTRACKER = "http://bugzilla.pokylinux.org"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://mini-x-session;endline=5;md5=b6430bffbcf05f9760e72938826b7487"
+
+SECTION = "x11"
+RCONFLICTS = "matchbox-common"
+
+SRC_URI = "file://mini-x-session"
+S = "${WORKDIR}"
+
+inherit update-alternatives
+
+ALTERNATIVE_NAME = "x-session-manager"
+ALTERNATIVE_LINK = "${bindir}/x-session-manager"
+ALTERNATIVE_PATH = "${bindir}/mini-x-session"
+ALTERNATIVE_PRIORITY = "10"
+
+do_install() {
+       install -d ${D}/${bindir}
+       install -m 0755 ${S}/mini-x-session ${D}/${bindir}
+}