[X2Go-Commits] x2goserver.git - build-baikal (branch) updated: 3.0.99.7-3-gaaf29c0
X2Go dev team
git-admin at x2go.org
Wed Dec 4 06:21:49 CET 2013
The branch, build-baikal has been updated
via aaf29c0565aee2f6e46d25e33dfc53c05b674646 (commit)
from e8d2037ab25e6cf0d137cbe99c1859ded58ddea0 (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 | 2 +
debian/control | 27 ++++-
x2goserver-xsession/Makefile | 95 ++++++++++++++++
.../VERSION.x2goserver-xsession | 0
x2goserver-xsession/doc/README.Xsession-x2go | 15 +++
x2goserver-xsession/etc/Xresources | 1 +
x2goserver-xsession/etc/Xsession | 113 ++++++++++++++++++++
x2goserver-xsession/etc/Xsession.d | 1 +
x2goserver-xsession/etc/Xsession.options | 1 +
.../x2gofeature.d/x2goserver-xsession.features | 3 +-
x2goserver/bin/x2gostartagent | 3 +
12 files changed, 265 insertions(+), 2 deletions(-)
create mode 100755 x2goserver-xsession/Makefile
copy x2goserver-compat/VERSION.x2goserver-compat => x2goserver-xsession/VERSION.x2goserver-xsession (100%)
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 0a78ac4..179f5fa 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -2,6 +2,8 @@ x2goserver (3.0.99.8-0~x2go1) UNRELEASED; 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).
-- Mike Gabriel <mike.gabriel at das-netzwerkteam.de> Wed, 26 Oct 2011 17:37:10 +0200
diff --git a/debian/control b/debian/control
index dc1d274..139ed5f 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,
@@ -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/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-compat/VERSION.x2goserver-compat b/x2goserver-xsession/VERSION.x2goserver-xsession
similarity index 100%
copy from x2goserver-compat/VERSION.x2goserver-compat
copy to x2goserver-xsession/VERSION.x2goserver-xsession
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..6a6ca58
--- /dev/null
+++ b/x2goserver-xsession/etc/Xsession
@@ -0,0 +1,113 @@
+#!/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 at 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)
+if [ -n "$SESSIONFILES" ]; then
+ set +e
+ for SESSIONFILE in $SESSIONFILES; do
+ . $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/bin/x2gostartagent b/x2goserver/bin/x2gostartagent
index 00c2a58..3d26a9e 100755
--- a/x2goserver/bin/x2gostartagent
+++ b/x2goserver/bin/x2gostartagent
@@ -238,6 +238,9 @@ X2GO_AGENT_RETVAL=$?
test $X2GO_AGENT_RETVAL && {
$X2GO_LIB_PATH/x2gosyslog "$0" "notice" "successfully started X2go agent session with ID $SESSION_NAME"
+ # initialize x2goserver-xsession (process /etc/x2go/Xsession)
+ x2gofeature X2GO_XSESSION &>/dev/null && [ "x$SESSION_TYPE" = "xD" ] && . /etc/x2go/Xsession
+
# run x2goserver-extensions for post-start
x2gofeature X2GO_RUN_EXTENSIONS &>/dev/null && x2goserver-run-extensions $SESSION_NAME post-start
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