The branch, build-main has been updated via df472e95f6b39498d50db8fff849bd93beff05c1 (commit) via d008b49704c62448ca12ecf7f73f071393951834 (commit) via ac20aac62ee6ff4361b08308baef746b32ee9b8e (commit) via f73cf4bc7dc508af1e771ac913389f6a6a5f2914 (commit) via e4b3509fafdfe32784216183f7c89badf5aa25dc (commit) via 08e735f08cde6ce6b86386ab6ddf54dbe47b8df3 (commit) via 4404c69ef1d3be6908f128f8f291fc3309e83e37 (commit) via 43fef4c666441f126759223f0fe612539a580ca8 (commit) via 95ec74e42d54ed5747fca18c3753f556e5249b37 (commit) via 4fc8a771b56c267e489a8a7faa4089864149ac43 (commit) via 8580ba4b53602556e9e5b96bd6e87e2945b5be2f (commit) via a5e451560ad1d70ce2cd26333fc585e2830ccb15 (commit) via 606b4ffa50bab0425db81bd2e1a55d9c8585c040 (commit) via e7d3f6b1b26b4c956c76a716c200093b228f6962 (commit) via aaf29c0565aee2f6e46d25e33dfc53c05b674646 (commit) via e8d2037ab25e6cf0d137cbe99c1859ded58ddea0 (commit) via fb44b9ef4c59e138777562ebc8bfe831a877cf4e (commit) from 1c87d105f5607c6980219cd005de1bd1fed584a9 (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 ----------------------------------------------------------------- ----------------------------------------------------------------------- Summary of changes: Makefile | 6 + debian/changelog | 17 +++ debian/control | 29 +++++- debian/x2goserver-printing.postinst | 7 +- debian/x2goserver-printing.postrm | 2 + ...er-extensions.dirs => x2goserver-xsession.dirs} | 2 +- debian/x2goserver-xsession.docs | 1 + debian/x2goserver-xsession.install | 3 + debian/x2goserver.postrm | 2 + x2goserver-compat/VERSION.x2goserver-compat | 2 +- .../VERSION.x2goserver-extensions | 2 +- .../x2gofeature.d/x2goserver-extensions.features | 1 - x2goserver-printing/VERSION.x2goserver-printing | 2 +- x2goserver-xsession/Makefile | 95 +++++++++++++++ x2goserver-xsession/VERSION.x2goserver-xsession | 1 + x2goserver-xsession/doc/README.Xsession-x2go | 15 +++ x2goserver-xsession/etc/Xresources | 1 + x2goserver-xsession/etc/Xsession | 121 ++++++++++++++++++++ x2goserver-xsession/etc/Xsession.d | 1 + x2goserver-xsession/etc/Xsession.options | 1 + .../x2gofeature.d/x2goserver-xsession.features | 3 +- x2goserver/VERSION.x2goserver | 2 +- x2goserver/bin/x2goresume-session | 8 +- x2goserver/bin/x2goruncommand | 18 ++- x2goserver/bin/x2gostartagent | 6 +- x2goserver/bin/x2gosuspend-session | 8 +- x2goserver/bin/x2goterminate-session | 8 +- 27 files changed, 333 insertions(+), 31 deletions(-) copy debian/{x2goserver-extensions.dirs => x2goserver-xsession.dirs} (81%) create mode 100644 debian/x2goserver-xsession.docs create mode 100644 debian/x2goserver-xsession.install create mode 100755 x2goserver-xsession/Makefile create mode 100644 x2goserver-xsession/VERSION.x2goserver-xsession create mode 100644 x2goserver-xsession/doc/README.Xsession-x2go create mode 120000 x2goserver-xsession/etc/Xresources create mode 100755 x2goserver-xsession/etc/Xsession create mode 120000 x2goserver-xsession/etc/Xsession.d create mode 120000 x2goserver-xsession/etc/Xsession.options copy x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features => x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features (96%) The diff of changes is: diff --git a/Makefile b/Makefile index f3111d0..657dcfc 100755 --- a/Makefile +++ b/Makefile @@ -10,35 +10,41 @@ build_man2html: cd x2goserver-printing && make $@ cd x2goserver-compat && make $@ cd x2goserver-extensions && make $@ + cd x2goserver-xsession && make $@ clean: cd x2goserver && make $@ cd x2goserver-printing && make $@ cd x2goserver-compat && make $@ cd x2goserver-extensions && make $@ + cd x2goserver-xsession && make $@ build-arch: cd x2goserver && make $@ cd x2goserver-printing && make $@ cd x2goserver-compat && make $@ cd x2goserver-extensions && make $@ + cd x2goserver-xsession && make $@ build-indep: cd x2goserver && make $@ cd x2goserver-printing && make $@ cd x2goserver-compat && make $@ cd x2goserver-extensions && make $@ + cd x2goserver-xsession && make $@ install: cd x2goserver && make $@ cd x2goserver-printing && make $@ cd x2goserver-compat && make $@ cd x2goserver-extensions && make $@ + cd x2goserver-xsession && make $@ uninstall: cd x2goserver-extensions && make $@ cd x2goserver-compat && make $@ cd x2goserver-printing && make $@ cd x2goserver && make $@ + cd x2goserver-xsession && make $@ diff --git a/debian/changelog b/debian/changelog index 2f4e1f7..d4926ac 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,20 @@ +x2goserver (3.0.99.8-0~x2go1) unstable; urgency=low + + * New upstream version (3.0.99.8): + - Fix feature list in x2goserver-extensions. + - Add Xsession.d processing to X2Go (as x2goserver-xsession add-on + package). + - Ignore failures of x2gofeature calls, fixes x2goserver being + installed without x2goserver-extensions. + - Set X2Go log level to info when running Xsession parts. + * Make sure that package scripts (postinst, postrm, etc.) exit with + exit code 0 at the end of the script. + * Fix non-local printing with X2Go: x2goprint user on X2Go server host + needs a shell to accept incoming print jobs from the central CUPS + server(s). + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 20 Nov 2011 18:54:26 +0100 + x2goserver (3.0.99.7-0~x2go1) unstable; urgency=low * New upstream version (3.0.99.7): diff --git a/debian/control b/debian/control index dc1d274..8be5cdc 100644 --- a/debian/control +++ b/debian/control @@ -38,7 +38,9 @@ Recommends: xinit, x2goserver-extensions (= ${source:Version}) Suggests: - x2goserver-printing (= ${source:Version}), x2goserver-compat (= ${source:Version}) + x2goserver-printing (= ${source:Version}), + x2goserver-compat (= ${source:Version}), + x2goserver-xsession (= ${source:Version}) Breaks: x2goserver-one, x2goserver-home, @@ -77,7 +79,7 @@ Replaces: x2goprint Suggests: cups-x2go -Description: X2go server daemon scripts (extensions) +Description: X2go server daemon scripts (printing) X2go is a server based computing environment with - session resuming - low bandwith support @@ -139,3 +141,26 @@ Description: X2go server daemon scripts (extensions) if you want non-legacy X2go clients to be able to access your server without lack of features. +Package: x2goserver-xsession +Architecture: all +Depends: + ${misc:Depends}, + x2goserver (>= ${source:Version}), x2goserver (<< ${source:Version}.1~), + x11-common +Description: X2go server daemon scripts (Xsession runner) + X2go is a server based computing environment with + - session resuming + - low bandwith support + - LDAP support + - client side mass storage mounting support + - audio support + - authentication by smartcard and USB stick + . + This X2go server add-on enables Xsession script handling + when starting desktop sessions with X2go. + . + Amongst others the parsing of Xsession scripts will + enable desktop-profiles, ssh-agent startups, gpgagent + startups and many more Xsession related features on + X2go session login automagically. + diff --git a/debian/x2goserver-printing.postinst b/debian/x2goserver-printing.postinst index 00aa2b4..8ad8f80 100755 --- a/debian/x2goserver-printing.postinst +++ b/debian/x2goserver-printing.postinst @@ -35,12 +35,15 @@ case "$1" in echo "Creating x2goprint user." >&2 adduser --system \ --disabled-password --disabled-login \ - --shell /bin/false --group --home /var/spool/x2goprint x2goprint + --shell /bin/sh --group --home /var/spool/x2goprint x2goprint else echo "User x2goprint already exists." >&2 # make sure all settings are appropriate if [ "`id -gn x2goprint`" != "x2goprint" ]; then - usermod --gid x2goprint# x2goprint + usermod --gid x2goprint x2goprint + fi + if getent passwd x2goprint | egrep -v ".*:x:.*:.*:.*:.*:/bin/sh" 1>/dev/null 2>/dev/null; then + usermod --shell /bin/sh x2goprint fi if [ "`ls -1d ~x2goprint`" != "/var/spool/x2goprint" ]; then test -d /var/spool/x2goprint && \ diff --git a/debian/x2goserver-printing.postrm b/debian/x2goserver-printing.postrm index 63cf12d..16b0f1e 100755 --- a/debian/x2goserver-printing.postrm +++ b/debian/x2goserver-printing.postrm @@ -33,3 +33,5 @@ esac # generated by other debhelper scripts. #DEBHELPER# + +exit 0 \ No newline at end of file diff --git a/debian/x2goserver-extensions.dirs b/debian/x2goserver-xsession.dirs similarity index 81% copy from debian/x2goserver-extensions.dirs copy to debian/x2goserver-xsession.dirs index 45adc59..e1541a6 100644 --- a/debian/x2goserver-extensions.dirs +++ b/debian/x2goserver-xsession.dirs @@ -1,3 +1,3 @@ -usr/bin +etc/x2go usr/share/x2go usr/share/x2go/versions diff --git a/debian/x2goserver-xsession.docs b/debian/x2goserver-xsession.docs new file mode 100644 index 0000000..093650e --- /dev/null +++ b/debian/x2goserver-xsession.docs @@ -0,0 +1 @@ +x2goserver-xsession/doc \ No newline at end of file diff --git a/debian/x2goserver-xsession.install b/debian/x2goserver-xsession.install new file mode 100644 index 0000000..31531bb --- /dev/null +++ b/debian/x2goserver-xsession.install @@ -0,0 +1,3 @@ +x2goserver-xsession/etc/* /etc/x2go/ +x2goserver-xsession/VERSION.x2goserver-xsession /usr/share/x2go/versions/ +x2goserver-xsession/share/x2gofeature.d/* /usr/share/x2go/x2gofeature.d/ diff --git a/debian/x2goserver.postrm b/debian/x2goserver.postrm index eada048..ec6b579 100755 --- a/debian/x2goserver.postrm +++ b/debian/x2goserver.postrm @@ -40,3 +40,5 @@ esac # generated by other debhelper scripts. #DEBHELPER# + +exit 0 \ No newline at end of file diff --git a/x2goserver-compat/VERSION.x2goserver-compat b/x2goserver-compat/VERSION.x2goserver-compat index c89e6f8..d720f99 100644 --- a/x2goserver-compat/VERSION.x2goserver-compat +++ b/x2goserver-compat/VERSION.x2goserver-compat @@ -1 +1 @@ -3.0.99.7 \ No newline at end of file +3.0.99.8 \ No newline at end of file diff --git a/x2goserver-extensions/VERSION.x2goserver-extensions b/x2goserver-extensions/VERSION.x2goserver-extensions index c89e6f8..d720f99 100644 --- a/x2goserver-extensions/VERSION.x2goserver-extensions +++ b/x2goserver-extensions/VERSION.x2goserver-extensions @@ -1 +1 @@ -3.0.99.7 \ No newline at end of file +3.0.99.8 \ No newline at end of file diff --git a/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features b/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features index eb4e740..7e50dd7 100755 --- a/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features +++ b/x2goserver-extensions/share/x2gofeature.d/x2goserver-extensions.features @@ -30,7 +30,6 @@ X2GO_FEATURE=$1 case "$X2GO_FEATURE" in "X2GO_SET_KEYBOARD") echo "ok"; exit 0;; - "X2GO_LIST_MOUNTS") echo "ok"; exit 0;; "X2GO_RUN_EXTENSIONS") echo "ok"; exit 0;; *) exit -1;; diff --git a/x2goserver-printing/VERSION.x2goserver-printing b/x2goserver-printing/VERSION.x2goserver-printing index c89e6f8..d720f99 100644 --- a/x2goserver-printing/VERSION.x2goserver-printing +++ b/x2goserver-printing/VERSION.x2goserver-printing @@ -1 +1 @@ -3.0.99.7 \ No newline at end of file +3.0.99.8 \ No newline at end of file diff --git a/x2goserver-xsession/Makefile b/x2goserver-xsession/Makefile new file mode 100755 index 0000000..ec4a063 --- /dev/null +++ b/x2goserver-xsession/Makefile @@ -0,0 +1,95 @@ +#!/usr/bin/make -f + +SRC_DIR=$(CURDIR) +SHELL=/bin/bash + +INSTALL_DIR=install -d -o root -g root -m 755 +INSTALL_FILE=install -o root -g root -m 644 +INSTALL_PROGRAM=install -o root -g root -m 755 + +RM_FILE=rm -f +RM_DIR=rmdir -p --ignore-fail-on-non-empty + +DESTDIR= +PREFIX=/usr/local +ETCDIR=/etc/x2go +#BINDIR=$(PREFIX)/bin +#SBINDIR=$(PREFIX)/sbin +#LIBDIR=$(PREFIX)/lib/x2go +MANDIR=$(PREFIX)/share/man +SHAREDIR=$(PREFIX)/share/x2go + +#BIN_SCRIPTS=$(shell cd bin && ls) +#SBIN_SCRIPTS=$(shell cd sbin && ls) +#LIB_FILES=$(shell cd lib && ls) +ETC_FILES=$(shell cd etc && ls) +FEATURE_SCRIPTS=$(shell cd share/x2gofeature.d && ls *.features) + +#man_pages = `cd man && find * -type f` + +#MAN2HTML_BIN = man2html +#MAN2HTML_SRC = man +#MAN2HTML_DEST = .build_man2html/html + +all: clean build + +build: build-indep + +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) -r $(MAN2HTML_SRC)/$$man_page > $(MAN2HTML_DEST)/$$man_page.html; done + +clean: clean_man2html + +clean_man2html: +# rm -rf `dirname $(MAN2HTML_DEST)` + +install: install_scripts install_config install_man install_version + +install_scripts: +# $(INSTALL_DIR) $(DESTDIR)$(BINDIR) +# $(INSTALL_DIR) $(DESTDIR)$(SBINDIR) + $(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_config: + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR) + $(INSTALL_FILE) etc/* $(DESTDIR)$(ETCDIR)/ + +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_version: + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/versions + $(INSTALL_FILE) VERSION.x2goserver-xsession $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsession + +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 $(SBIN_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SBINDIR)/$$file; done + for file in $(FEATURE_SCRIPTS); do $(RM_FILE) $(DESTDIR)$(SHAREDIR)/x2gofeature.d/$$file; done + +uninstall_config: + for file in $(ETC_FILES); do $(RM_FILE) $(DESTDIR)$(ETCDIR)/$$file; done + +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 + +uninstall_version: + $(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-xsession + $(RM_DIR) $(DESTDIR)$(SHAREDIR)/versions || true diff --git a/x2goserver-xsession/VERSION.x2goserver-xsession b/x2goserver-xsession/VERSION.x2goserver-xsession new file mode 100644 index 0000000..d720f99 --- /dev/null +++ b/x2goserver-xsession/VERSION.x2goserver-xsession @@ -0,0 +1 @@ +3.0.99.8 \ No newline at end of file diff --git a/x2goserver-xsession/doc/README.Xsession-x2go b/x2goserver-xsession/doc/README.Xsession-x2go new file mode 100644 index 0000000..6324737 --- /dev/null +++ b/x2goserver-xsession/doc/README.Xsession-x2go @@ -0,0 +1,15 @@ +Xsession-x2go README +==================== + +With X2Go it is possible to use Xsession config files of your +local X11 system. + +By default most files and folders related to Xsession config +are symlinks to the corresponding file/folder in /etc/X11. + +If you want to customize your X2Go server's Xsession setup +copy the corresponding files from /etc/X11 to /etc/x2go and +adapt the setup to your needs. + +light+love, +Mike Gabriel, 20111027 diff --git a/x2goserver-xsession/etc/Xresources b/x2goserver-xsession/etc/Xresources new file mode 120000 index 0000000..484aa45 --- /dev/null +++ b/x2goserver-xsession/etc/Xresources @@ -0,0 +1 @@ +/etc/X11/Xresources \ No newline at end of file diff --git a/x2goserver-xsession/etc/Xsession b/x2goserver-xsession/etc/Xsession new file mode 100755 index 0000000..bda13bd --- /dev/null +++ b/x2goserver-xsession/etc/Xsession @@ -0,0 +1,121 @@ +#!/bin/sh +# +# /etc/x2go/Xsession +# +# X2go Xsession file -- used by x2goserver Xsession.d add-on. + +# This file has been derived from the global Xsession file in Debian squeeze + +set -e + +PROGNAME=XSession-x2go + +message () { + # pretty-print messages of arbitrary length; use xmessage if it + # is available and $DISPLAY is set + MESSAGE="$PROGNAME: $*" + echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2 + if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then + echo "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - + fi +} + +message_nonl () { + # pretty-print messages of arbitrary length (no trailing newline); use + # xmessage if it is available and $DISPLAY is set + MESSAGE="$PROGNAME: $*" + echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} >&2; + if [ -n "$DISPLAY" ] && which xmessage > /dev/null 2>&1; then + echo -n "$MESSAGE" | fold -s -w ${COLUMNS:-80} | xmessage -center -file - + fi +} + +errormsg () { + # exit script with error + message "$*" + exit 1 +} + +internal_errormsg () { + # exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message + # One big call to message() for the sake of xmessage; if we had two then + # the user would have dismissed the error we want reported before seeing the + # request to report it. + errormsg "$*" \ + "Please report the installed version of the \"x2goserver\"" \ + "package and the complete text of this error message to" \ + "<x2go-dev@lists.x2go.org>." +} + +# initialize variables for use by all session scripts + +OPTIONFILE=/etc/x2go/Xsession.options + +SYSRESOURCES=/etc/x2go/Xresources +USRRESOURCES=$HOME/.Xresources-x2go + +SYSSESSIONDIR=/etc/x2go/Xsession.d +USERXSESSION=$HOME/.xsession-x2go +USERXSESSIONRC=$HOME/.xsessionrc-x2go +ALTUSERXSESSION=$HOME/.Xsession-x2go +ERRFILE=$HOME/.xsession-x2go-errors + +# attempt to create an error file; abort if we cannot +if (umask 077 && touch "$ERRFILE") 2> /dev/null && [ -w "$ERRFILE" ] && + [ ! -L "$ERRFILE" ]; then + chmod 600 "$ERRFILE" +elif ERRFILE=$(tempfile 2> /dev/null); then + if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-x2go-$USER"; then + message "warning: unable to symlink \"$TMPDIR/xsession-x2go-$USER\" to" \ + "\"$ERRFILE\"; look for session log/errors in" \ + "\"$TMPDIR/xsession-x2go-$USER\"." + fi +else + errormsg "unable to create X session (X2Go) log/error file; aborting." +fi + +exec >>"$ERRFILE" 2>&1 + +echo "$PROGNAME: X session started for $LOGNAME at $(date)" + +# sanity check; is our session script directory present? +if [ ! -d "$SYSSESSIONDIR" ]; then + errormsg "no \"$SYSSESSIONDIR\" directory found; aborting." +fi + +# Attempt to create a file of non-zero length in /tmp; a full filesystem can +# cause mysterious X session failures. We do not use touch, :, or test -w +# because they won't actually create a file with contents. We also let standard +# error from tempfile and echo go to the error file to aid the user in +# determining what went wrong. +WRITE_TEST=$(tempfile) +if ! echo "*" >>"$WRITE_TEST"; then + message "warning: unable to write to ${WRITE_TEST%/*}; X session (X2Go) may" \ + "exit with an error" +fi +rm -f "$WRITE_TEST" + +# use run-parts to source every file in the session directory; we source +# instead of executing so that the variables and functions defined above +# are available to the scripts, and so that they can pass variables to each +# other + +SESSIONFILES=$(run-parts --list $SYSSESSIONDIR) +SYSSESSIONDIR=/etc/x2go/Xsession.d + +SESSIONFILES=$(run-parts --list $SYSSESSIONDIR) + +### source Xsession files +if [ -n "$SESSIONFILES" ]; then + + set +e + for SESSIONFILE in $SESSIONFILES; do + /usr/lib/x2go/x2gosyslog "$0" "info" "executing $SESSIONFILE" + . $SESSIONFILE + done + set -e +fi + +exit 0 + +# vim:set ai et sts=2 sw=2 tw=80: diff --git a/x2goserver-xsession/etc/Xsession.d b/x2goserver-xsession/etc/Xsession.d new file mode 120000 index 0000000..f64317e --- /dev/null +++ b/x2goserver-xsession/etc/Xsession.d @@ -0,0 +1 @@ +/etc/X11/Xsession.d \ No newline at end of file diff --git a/x2goserver-xsession/etc/Xsession.options b/x2goserver-xsession/etc/Xsession.options new file mode 120000 index 0000000..72929e1 --- /dev/null +++ b/x2goserver-xsession/etc/Xsession.options @@ -0,0 +1 @@ +/etc/X11/Xsession.options \ No newline at end of file diff --git a/x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features b/x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features similarity index 96% copy from x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features copy to x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features index 7332656..9fb329e 100755 --- a/x2goserver-printing/share/x2gofeature.d/x2goserver-printing.features +++ b/x2goserver-xsession/share/x2gofeature.d/x2goserver-xsession.features @@ -29,7 +29,8 @@ X2GO_FEATURE=$1 # check for X2go server core features case "$X2GO_FEATURE" in - "X2GO_PRINTING") echo "ok"; exit 0;; + "X2GO_XSESSION") echo "ok"; exit 0;; *) exit -1;; + esac diff --git a/x2goserver/VERSION.x2goserver b/x2goserver/VERSION.x2goserver index c89e6f8..d720f99 100644 --- a/x2goserver/VERSION.x2goserver +++ b/x2goserver/VERSION.x2goserver @@ -1 +1 @@ -3.0.99.7 \ No newline at end of file +3.0.99.8 \ No newline at end of file diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session index c4f9158..16a7f0c 100755 --- a/x2goserver/bin/x2goresume-session +++ b/x2goserver/bin/x2goresume-session @@ -84,16 +84,16 @@ echo "$NEWOPTIONS" >${SESSION_DIR}/options $X2GO_LIB_PATH/x2goresume $X2GO_CLIENT $SESSION_NAME > /dev/null # run x2goserver-extensions for pre-resume -x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-resume +x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-resume || true kill -HUP $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gosyslog "$0" "notice" "client $X2GO_CLIENT has successfully resumed session with ID $SESSION_NAME" # resume x2godesktopsharing, if it has been in use before the session got suspended - x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2goresume-desktopsharing $SESSION_NAME + x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2goresume-desktopsharing $SESSION_NAME || true # run x2goserver-extensions for post-resume - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-resume + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-resume || true } || { err_msg="ERROR: failed to resume session with ID $SESSION_NAME" @@ -105,7 +105,7 @@ kill -HUP $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME > /dev/null # run x2goserver-extensions for fail-resume - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-resume + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-resume || true } diff --git a/x2goserver/bin/x2goruncommand b/x2goserver/bin/x2goruncommand index 6ac93c1..d3f0d98 100755 --- a/x2goserver/bin/x2goruncommand +++ b/x2goserver/bin/x2goruncommand @@ -110,12 +110,20 @@ then fi # run x2goserver-extensions for pre-runcommand -x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-runcommand +x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-runcommand || true sucessful_run=false if [ "$EXEC" != "" ] && [ -x $EXEC ]; then $X2GO_LIB_PATH/x2gosyslog "$0" "debug" "running command $EXEC" - $cmd + + x2gofeature X2GO_XSESSION &>/dev/null && [ "x$X2GO_SESS_TYPE" = "xD" ] && { + STARTUP=$cmd + $X2GO_LIB_PATH/x2gosyslog "$0" "notice" "launching session with Xsession-x2go mechanism, using STARTUP=\"$STARTUP\"" + STARTUP="$STARTUP" /etc/x2go/Xsession + } || { + $cmd + } + #### some applications can quit immediately, we will wait here as long as x2goagent exists if [ "$X2GO_SESS_TYPE" == "R" ] && [ "$IMEXIT" == "false" ]; then $X2GO_LIB_PATH/x2gosyslog "$0" "debug" "command $EXEC forked to background, waiting for agent to finish" @@ -127,19 +135,19 @@ if [ "$EXEC" != "" ] && [ -x $EXEC ]; then successful_run=true # run x2goserver-extensions for post-runcommand - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-runcommand + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-runcommand || true else $X2GO_LIB_PATH/x2gosyslog "$0" "err" "ERROR: command $EXEC failed to execute" echo "X2GORUNCOMMAND ERR NOEXEC:$cmd" > $MESSAGE_FILE # run x2goserver-extensions for fail-runcommand - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-runcommand + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-runcommand || true fi # stop x2godesktopsharing process gracefully... -x2gofeature X2GO_DESKTOPSHARING >/dev/null && x2godesktopsharing-terminate $X2GO_SESSION +x2gofeature X2GO_DESKTOPSHARING >/dev/null && x2godesktopsharing-terminate $X2GO_SESSION || true kill -TERM $X2GO_AGENT_PID $X2GO_LIB_PATH/x2gochangestatus 'F' $X2GO_SESSION > /dev/null diff --git a/x2goserver/bin/x2gostartagent b/x2goserver/bin/x2gostartagent index 00c2a58..32d16b8 100755 --- a/x2goserver/bin/x2gostartagent +++ b/x2goserver/bin/x2gostartagent @@ -225,7 +225,7 @@ else fi # run x2goserver-extensions for pre-start -x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-start +x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-start || true if [ "$X2GO_STYPE" == "S" ]; then LD_LIBRARY_PATH=$X2GO_LIB x2goagent $X2GODPIOPTION_ -$SESSION_TYPE -auth ~/.Xauthority -S -shadow $SHADOW_DESKTOP -shadowmode $SHADOW_MODE -geometry ${X2GO_GEOMETRY} -name "X2GO-${SESSION_NAME}" ${NX_AGENT} 2>${SESSION_DIR}/session.log & @@ -239,13 +239,13 @@ test $X2GO_AGENT_RETVAL && { $X2GO_LIB_PATH/x2gosyslog "$0" "notice" "successfully started X2go agent session with ID $SESSION_NAME" # run x2goserver-extensions for post-start - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-start + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-start || true } || { $X2GO_LIB_PATH/x2gosyslog "$0" "err" "ERROR: failed to start X2go agent session with ID $SESSION_NAME" # run x2goserver-extensions for fail-start - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-start + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-start || true } diff --git a/x2goserver/bin/x2gosuspend-session b/x2goserver/bin/x2gosuspend-session index c2d627d..ffc19f9 100755 --- a/x2goserver/bin/x2gosuspend-session +++ b/x2goserver/bin/x2gosuspend-session @@ -39,16 +39,16 @@ killall -HUP knotify &>/dev/null $X2GO_LIB_PATH/x2gochangestatus 'S' $SESSION_NAME > /dev/null # terminate x2godesktopsharing instance and remember that it was running... -x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2gosuspend-desktopsharing $SESSION_NAME +x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2gosuspend-desktopsharing $SESSION_NAME || true # run x2goserver-extensions for pre-suspend -x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-suspend +x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-suspend || true kill -HUP $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gosyslog "$0" "notice" "session with ID $SESSION_NAME has been suspended successfully" # run x2goserver-extensions for post-suspend - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-suspend + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-suspend || true } || { err_msg="ERROR: failed to suspend session with ID $SESSION_NAME" @@ -60,7 +60,7 @@ kill -HUP $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME > /dev/null # run x2goserver-extensions for fail-suspend - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-suspend + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-suspend || true } diff --git a/x2goserver/bin/x2goterminate-session b/x2goserver/bin/x2goterminate-session index 66fd118..d07b9c0 100755 --- a/x2goserver/bin/x2goterminate-session +++ b/x2goserver/bin/x2goterminate-session @@ -36,16 +36,16 @@ X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}` $X2GO_LIB_PATH/x2gochangestatus 'F' $SESSION_NAME > /dev/null # stop x2godesktopsharing process gracefully... -x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2goterminate-desktopsharing $SESSION_NAME +x2gofeature X2GO_DESKTOPSHARING &>/dev/null && x2goterminate-desktopsharing $SESSION_NAME || true # run x2goserver-extensions for pre-terminate -x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-terminate +x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME pre-terminate || true kill -TERM $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gosyslog "$0" "notice" "session with ID $SESSION_NAME has been terminated successfully" # run x2goserver-extensions for post-terminate - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-terminate + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-terminate || true } || { err_msg="ERROR: failed to terminate session with ID $SESSION_NAME" @@ -56,7 +56,7 @@ kill -TERM $X2GO_AGENT_PID &>/dev/null && { $X2GO_LIB_PATH/x2gosyslog "$0" "err" "$err_msg" # run x2goserver-extensions for fail-terminate - x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-terminate + x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME fail-terminate || true } 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).