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@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@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@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).