The .shbg extension is not properly supported by the Xsession script provided by xserver-common.
Make the matchbox-keyboard startup script wait for matchbox desktop and start the matchbox-keyboard daemon in its own shell, in the background. See discussion here: https://lists.yoctoproject.org/pipermail/poky/2013-December/009463.html Bug here: https://bugzilla.yoctoproject.org/show_bug.cgi?id=5546 Signed-off-by: Alexandre Belloni <alexandre.bell...@free-electrons.com> --- Changes since v1: - stop using another script to start in the background and spawn a background shell from the startup script .../matchbox-keyboard/files/80matchboxkeyboard.sh | 21 ++++++++++++++++++++ .../files/80matchboxkeyboard.shbg | 23 ---------------------- .../matchbox-keyboard/matchbox-keyboard_git.bb | 4 ++-- 3 files changed, 23 insertions(+), 25 deletions(-) create mode 100755 meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh delete mode 100755 meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg diff --git a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh new file mode 100755 index 000000000000..d822efa6e70c --- /dev/null +++ b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.sh @@ -0,0 +1,21 @@ +#!/bin/sh + +. /etc/formfactor/config + +CMD="" + +if [ "$HAVE_KEYBOARD" = "0" ]; then + CMD="matchbox-keyboard -d" +elif [ "$DISPLAY_CAN_ROTATE" = "1" ]; then + if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then + CMD="matchbox-keyboard -d -o landscape" + elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then + CMD="matchbox-keyboard -d -o portrait" + fi +fi + +if [ "$CMD" ]; then + # Delay to make sure the window manager is active + # by waiting for the desktop to say its finished loading + ( dbus-wait org.matchbox_project.desktop Loaded && $CMD ) & +fi diff --git a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg b/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg deleted file mode 100755 index 43c5d3ed6a32..000000000000 --- a/meta/recipes-sato/matchbox-keyboard/files/80matchboxkeyboard.shbg +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh - -. /etc/formfactor/config - -CMD="" - -if [ "$HAVE_KEYBOARD" = "0" ]; then - CMD="matchbox-keyboard -d" -elif [ "$DISPLAY_CAN_ROTATE" = "1" ]; then - if [ "$HAVE_KEYBOARD_PORTRAIT" = "1" -a "$HAVE_KEYBOARD_LANDSCAPE" = "0" ]; then - CMD="matchbox-keyboard -d -o landscape" - elif [ "$HAVE_KEYBOARD_LANDSCAPE" = "1" -a "$HAVE_KEYBOARD_PORTRAIT" = "0" ]; then - CMD="matchbox-keyboard -d -o portrait" - fi -fi - - -if [ "$CMD" ]; then - # Delay to make sure the window manager is active - # by waiting for the desktop to say its finished loading - dbus-wait org.matchbox_project.desktop Loaded - exec $CMD -fi diff --git a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb index ffcabcad2215..70caf6fc0222 100644 --- a/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb +++ b/meta/recipes-sato/matchbox-keyboard/matchbox-keyboard_git.bb @@ -17,7 +17,7 @@ PR = "r4" SRC_URI = "git://git.yoctoproject.org/${BPN} \ file://configure_fix.patch;maxrev=1819 \ file://single-instance.patch \ - file://80matchboxkeyboard.shbg \ + file://80matchboxkeyboard.sh \ file://png-fix.patch" S = "${WORKDIR}/git" @@ -43,7 +43,7 @@ FILES_${PN}-applet = "${libdir}/matchbox-panel/*.so" do_install_append () { install -d ${D}/${sysconfdir}/X11/Xsession.d/ - install -m 755 ${WORKDIR}/80matchboxkeyboard.shbg ${D}/${sysconfdir}/X11/Xsession.d/ + install -m 755 ${WORKDIR}/80matchboxkeyboard.sh ${D}/${sysconfdir}/X11/Xsession.d/ rm -f ${D}${libdir}/gtk-2.0/*/immodules/*.la rm -f ${D}${libdir}/matchbox-panel/*.la -- 1.8.3.2 _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core