[X2go-Commits] x2goserver.git - master (branch) updated: 3.1.1.0-18-g3fa5425
X2Go dev team
git-admin at x2go.org
Wed May 23 13:45:32 CEST 2012
The branch, master has been updated
via 3fa5425554f3c40e1d4a2717f575c406f471c1a3 (commit)
from 1af7be02935673fbe6afe3f4ba75d3ae65f6f62e (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3fa5425554f3c40e1d4a2717f575c406f471c1a3
Author: Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
Date: Wed May 23 13:39:03 2012 +0200
Add support for client-side keyboard detection. Moved script x2gosetkeyboard from x2goserver-pyhoca into x2goserver package.
-----------------------------------------------------------------------
Summary of changes:
debian/changelog | 2 +
debian/x2goserver-pyhoca.docs | 2 +-
debian/x2goserver-pyhoca.install | 4 +-
debian/x2goserver-pyhoca.manpages | 2 +-
x2goserver-pyhoca/Makefile | 36 ++++++++++----------
x2goserver-pyhoca/man/man8/x2gosetkeyboard.8 | 34 ------------------
.../share/x2gofeature.d/x2goserver-pyhoca.features | 1 -
x2goserver/bin/x2goresume-session | 6 +++
.../bin/x2gosetkeyboard | 5 ++-
x2goserver/bin/x2gostartagent | 6 +++-
x2goserver/share/x2gofeature.d/x2goserver.features | 1 +
11 files changed, 40 insertions(+), 59 deletions(-)
delete mode 100644 x2goserver-pyhoca/man/man8/x2gosetkeyboard.8
rename {x2goserver-pyhoca => x2goserver}/bin/x2gosetkeyboard (95%)
The diff of changes is:
diff --git a/debian/changelog b/debian/changelog
index 525dcdf..107a2a2 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,8 @@ x2goserver (3.1.1.1-0~x2go1) UNRELEASED; urgency=low
x2gostartagent.
- Export NX_ROOT=$HOME/.x2go in x2gostartagent. Makes the keyboard file
in X2Go session cache directory.
+ - Add support for client-side keyboard detection. Moved script
+ x2gosetkeyboard from x2goserver-pyhoca into x2goserver package.
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Wed, 04 Apr 2012 11:44:14 +0200
diff --git a/debian/x2goserver-pyhoca.docs b/debian/x2goserver-pyhoca.docs
index 6652b35..3a19506 100644
--- a/debian/x2goserver-pyhoca.docs
+++ b/debian/x2goserver-pyhoca.docs
@@ -1 +1 @@
-x2goserver-pyhoca/.build_man2html/html
+#x2goserver-pyhoca/.build_man2html/html
diff --git a/debian/x2goserver-pyhoca.install b/debian/x2goserver-pyhoca.install
index 7ba0b60..69985ca 100644
--- a/debian/x2goserver-pyhoca.install
+++ b/debian/x2goserver-pyhoca.install
@@ -1,3 +1,3 @@
-x2goserver-pyhoca/bin/x2go* /usr/bin/
+#x2goserver-pyhoca/bin/x2go* /usr/bin/
x2goserver-pyhoca/VERSION.x2goserver-pyhoca /usr/share/x2go/versions/
-x2goserver-pyhoca/share/x2gofeature.d/* /usr/share/x2go/x2gofeature.d/
+#x2goserver-pyhoca/share/x2gofeature.d/* /usr/share/x2go/x2gofeature.d/
diff --git a/debian/x2goserver-pyhoca.manpages b/debian/x2goserver-pyhoca.manpages
index 845a36c..6f35882 100644
--- a/debian/x2goserver-pyhoca.manpages
+++ b/debian/x2goserver-pyhoca.manpages
@@ -1 +1 @@
-x2goserver-pyhoca/man/man8/*
\ No newline at end of file
+#x2goserver-pyhoca/man/man8/*
\ No newline at end of file
diff --git a/x2goserver-pyhoca/Makefile b/x2goserver-pyhoca/Makefile
index 8fc06fa..c24be41 100755
--- a/x2goserver-pyhoca/Makefile
+++ b/x2goserver-pyhoca/Makefile
@@ -39,25 +39,25 @@ build-indep: build_man2html
build-arch:
build_man2html:
- mkdir -p $(MAN2HTML_DEST)
- for man_page in $(man_pages); do mkdir -p `dirname $(MAN2HTML_DEST)/$$man_page`; done
- for man_page in $(man_pages); do $(MAN2HTML_BIN) $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done
+# mkdir -p $(MAN2HTML_DEST)
+# for man_page in $(man_pages); do mkdir -p `dirname $(MAN2HTML_DEST)/$$man_page`; done
+# for man_page in $(man_pages); do $(MAN2HTML_BIN) $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done
clean: clean_man2html
clean_man2html:
- rm -rf `dirname $(MAN2HTML_DEST)`
+# rm -rf `dirname $(MAN2HTML_DEST)`
install: install_scripts install_config install_man install_version
install_scripts:
- $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
+# $(INSTALL_DIR) $(DESTDIR)$(BINDIR)
# $(INSTALL_DIR) $(DESTDIR)$(SBINDIR)
- $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
- $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d
- $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/
+# $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
+# $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/x2gofeature.d
+# $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/
# $(INSTALL_PROGRAM) sbin/* $(DESTDIR)$(SBINDIR)/
- $(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/
+# $(INSTALL_PROGRAM) share/x2gofeature.d/*.features $(DESTDIR)$(SHAREDIR)/x2gofeature.d/
install_config:
# $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)
@@ -67,10 +67,10 @@ install_config:
# $(INSTALL_FILE) etc/x2gosql/sql $(DESTDIR)$(ETCDIR)/x2gosql
install_man:
- $(INSTALL_DIR) $(DESTDIR)$(MANDIR)
- $(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man8
- $(INSTALL_FILE) man/man8/*.8 $(DESTDIR)$(MANDIR)/man8
- gzip -f $(DESTDIR)$(MANDIR)/man8/x2go*.8
+# $(INSTALL_DIR) $(DESTDIR)$(MANDIR)
+# $(INSTALL_DIR) $(DESTDIR)$(MANDIR)/man8
+# $(INSTALL_FILE) man/man8/*.8 $(DESTDIR)$(MANDIR)/man8
+# gzip -f $(DESTDIR)$(MANDIR)/man8/x2go*.8
install_version:
$(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)
@@ -80,10 +80,10 @@ install_version:
uninstall: uninstall_scripts uninstall_config uninstall_man uninstall_version
uninstall_scripts:
- for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done
+# for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(BINDIR)/$$file; done
# for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SBINDIR)/$$file; done
# for file in $(LIB_FILES); do $(RM_FILE) $(DESTDIR)$(LIBDIR)/$$file; done
- for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done
+# for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done
uninstall_config:
# $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2goserver.conf
@@ -93,9 +93,9 @@ uninstall_config:
# $(RM_DIR) $(DESTDIR)$(ETCDIR)/x2gosql || true
uninstall_man:
- for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
- for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
- $(RM_DIR) $(DESTDIR)$(MANDIR) || true
+# for file in $(BIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
+# for file in $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(MANDIR)/man8/$$file.8.gz; done
+# $(RM_DIR) $(DESTDIR)$(MANDIR) || true
uninstall_version:
$(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-pyhoca
diff --git a/x2goserver-pyhoca/man/man8/x2gosetkeyboard.8 b/x2goserver-pyhoca/man/man8/x2gosetkeyboard.8
deleted file mode 100644
index 3e9baaf..0000000
--- a/x2goserver-pyhoca/man/man8/x2gosetkeyboard.8
+++ /dev/null
@@ -1,34 +0,0 @@
-'\" -*- coding: utf-8 -*-
-.if \n(.g .ds T< \\FC
-.if \n(.g .ds T> \\F[\n[.fam]]
-.de URL
-\\$2 \(la\\$1\(ra\\$3
-..
-.if \n(.g .mso www.tmac
-.TH x2gosetkeyboard 8 "Mar 2012" "Version 3.1.1.x" "X2Go Server Tool (PyHoca)"
-.SH NAME
-x2gosetkeyboard \- Allow server-side Keyboard Setting Updates issued by X2Go Client
-.SH SYNOPSIS
-'nh
-.fi
-.ad l
-x2gosetkeyboard
-
-.SH DESCRIPTION
-\fBx2gosetkeyboard\fR looks for a 'keyboard' file in the X2Go session directory and introspects
-the X2Go session keyboard settings requested from the client side.
-.PP
-If no 'keyboard' file is present in the X2Go session directory, nothing happens (i.e. no error
-will be raised).
-.SH RETURN VALUES
-If \fBx2gosetkeyboard\fR successfully sets the session's keyboard parameters an exit code of 0 is
-returned. Also, if the file ${HOME}/.x2go/C-${X2GO_SESSION}/keyboard is not presented at the
-expected location, a zero-exitcode is returned.
-.PP
-If the command fails on its way, then the exitcode of the failing command is returned.
-.SH FILES
-${HOME}/.x2go/C-${X2GO_SESSION}/keyboard
-.PP
-.SH AUTHOR
-This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2Go project
-(http://www.x2go.org).
diff --git a/x2goserver-pyhoca/share/x2gofeature.d/x2goserver-pyhoca.features b/x2goserver-pyhoca/share/x2gofeature.d/x2goserver-pyhoca.features
index 1737ad8..2411c0e 100755
--- a/x2goserver-pyhoca/share/x2gofeature.d/x2goserver-pyhoca.features
+++ b/x2goserver-pyhoca/share/x2gofeature.d/x2goserver-pyhoca.features
@@ -29,7 +29,6 @@ X2GO_FEATURE=$1
# check for X2Go server core features
case "$X2GO_FEATURE" in
- "X2GO_SET_KEYBOARD") echo "ok"; exit 0;;
*) exit -1;;
esac
diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session
index 50cb638..fd001e8 100755
--- a/x2goserver/bin/x2goresume-session
+++ b/x2goserver/bin/x2goresume-session
@@ -171,6 +171,12 @@ kill -HUP $X2GO_AGENT_PID &>/dev/null && {
#done
(sleep 1; $X2GO_LIB_PATH/x2goresume "$X2GO_CLIENT" "$SESSION_NAME" "$GR_PORT" "$SOUND_PORT" "$FS_PORT" > /dev/null;)
+ # set client-side keyboard model, type, variant, etc.
+ if [ "$X2GO_SET_KBD" != "0" ]
+ X2GO_DISPLAY=$(echo $X2GO_SESSION | cut -d"-" -f2)
+ (sleep 1; DISPLAY=:$X2GO_DISPLAY.0 x2gosetkeyboard;)
+ fi
+
# resume x2godesktopsharing, if it has been in use before the session got suspended
x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2goresume-desktopsharing "$SESSION_NAME" || true
diff --git a/x2goserver-pyhoca/bin/x2gosetkeyboard b/x2goserver/bin/x2gosetkeyboard
similarity index 95%
rename from x2goserver-pyhoca/bin/x2gosetkeyboard
rename to x2goserver/bin/x2gosetkeyboard
index 481d01a..6ca357e 100755
--- a/x2goserver-pyhoca/bin/x2gosetkeyboard
+++ b/x2goserver/bin/x2gosetkeyboard
@@ -48,12 +48,15 @@ read_keyboard_file() {
update_keymap() {
+ if [ "$XKB_RULES" = "evdev" ]; then
+ XKB_RULES="xfree86"
+ fi
# prepare for setxkbmap call
[ -n "$XKB_RULES" ] && XKB_RULES="-rules $XKB_RULES"
[ -n "$XKB_MODEL" ] && XKB_MODEL="-model $XKB_MODEL"
[ -n "$XKB_LAYOUT" ] && XKB_LAYOUT="-layout $XKB_LAYOUT"
[ -n "$XKB_VARIANT" ] && XKB_VARIANT="-variant $XKB_VARIANT"
- [ -n "$XKB_OPTIONS" ] && XKB_OPTIONS="-options $XKB_OPTIONS"
+ [ -n "$XKB_OPTIONS" ] && XKB_OPTIONS="-option $XKB_OPTIONS"
# update keyboard map
setxkbmap $XKB_RULES $XKB_MODEL $XKB_LAYOUT $XKB_VARIANT $XKB_OPTIONS
diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 6531218..234047c 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -251,8 +251,12 @@ if [ "$X2GO_STYPE" == "S" ]; then
x2goagent -nolisten tcp $X2GODPIOPTION_ -$SESSION_TYPE -auth "$XAUTHORITY" -shadow $SHADOW_DESKTOP -shadowmode $SHADOW_MODE -geometry ${X2GO_GEOMETRY} -name "${SESSION_WINDOW_TITLE}" "${NX_AGENT}" 2>"${SESSION_DIR}/session.log" &
else
x2goagent -nolisten tcp $X2GODPIOPTION_ $XDMCPOPT -$SESSION_TYPE $NOEXITPARAM -auth "$XAUTHORITY" -geometry ${X2GO_GEOMETRY} -name "${SESSION_WINDOW_TITLE}" "${NX_AGENT}" 2>"${SESSION_DIR}/session.log" &
-fi
+ # if we do not enforce a special keybaord type/layout/variant, use the one detected on the client-side
+ if [ "$X2GO_SET_KBD" != "0" ]
+ (sleep 1; x2gosetkeyboard; )
+ fi
+fi
X2GO_AGENT_PID=$!
X2GO_AGENT_RETVAL=$?
diff --git a/x2goserver/share/x2gofeature.d/x2goserver.features b/x2goserver/share/x2gofeature.d/x2goserver.features
index a5dd741..db4aaf2 100755
--- a/x2goserver/share/x2gofeature.d/x2goserver.features
+++ b/x2goserver/share/x2gofeature.d/x2goserver.features
@@ -35,6 +35,7 @@ case "$X2GO_FEATURE" in
"X2GO_UMOUNTSESSION_ONLYPATH") echo "ok"; exit 0;;
"X2GO_PUBLISHED_APPLICATIONS") echo "ok"; exit 0;;
"X2GO_SERVERSIDE_DESKTOPCOMMANDS") echo "ok"; exit 0;;
+ "X2GO_SET_KEYBOARD") echo "ok"; exit 0;;
*) exit -1;;
esac
hooks/post-receive
--
x2goserver.git (X2Go Server)
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "x2goserver.git" (X2Go Server).
More information about the x2go-commits
mailing list