The branch, build-main has been updated via ad9a7e6f8173f342cdddcc824ef1f15f0c836511 (commit) via ee0b2b616b2764ad2da6ec54de8fce48fce62f51 (commit) via 2a56ff7adae0abc5758938a863269771e65d06d9 (commit) via 4e789a61df7bf41aac49817d1207954ce6cb8688 (commit) via 429cc9fe5fe724b3a6ac166ed39ba7ee1e9afbb6 (commit) via 54f9ba4f953caaf0390ba4df99df471cd5772060 (commit) via 3be6695368cc2d9e522dff419a43426fba03e829 (commit) via 5e65654724f5b9fc9e76260fe4a1ef8182af3b3b (commit) via d64013f1b0ac2d5de341b5acddb29223a1e98e6d (commit) via 9cdeea70167490c2257fc905a7b2364aa4a58e2f (commit) via 62f39bff4dd294f6973c88f5b54eabace85d5b3e (commit) via fc40b4b0365e61dabf9a6a2c16e3ef0a6bbdae6e (commit) via ff6e33487a414ef58c4a7c2fd7ffceba9ecd42b1 (commit) via cf6abd4c1dc2ff5e9536787c4482f16f68816f99 (commit) via a2608a27b8bdf0b0de8685c20bd9009f7a6772a2 (commit) via c5bf55a4811185f286a05ff91283ed5667fd7628 (commit) via d9c027bc304c5131c11e7baa312433dbba7a4cc2 (commit) via d9fbb184b688c5c9dc376e07a8e4ae071fb45d28 (commit) via 45d22a87339986c5e062be733584b8b18aa5cde7 (commit) via eb69e430bdb1f8c6182987e2175ce781156d894f (commit) via 1ac8f38b73abfa302c19e6eebe46335eed88526d (commit) via 550999a270a5c16f04109f84892b9308aab56f3d (commit) via 497cc223f35c5ad935d210d7343baabfa3f411e1 (commit) via f694b1b0ec434427ae98c4bc5bde30de6242d6b9 (commit) via 10090a8827390851fe4c5e6e783ec9ba3c29ee32 (commit) via 693d01c97a19f52c82b4acdd39d02cbfafd541fa (commit) via d26b079a38561d1a047f25660ad647323198475b (commit) via c69ab7501a44bf87d0364767281c369d168d71f0 (commit) via a11d0710319e5a1be3834f1c21c8a1e821a9b9c8 (commit) via c59db1919428a86491645e7d718307c6846d9091 (commit) via d4b7032af631f0dd90bb63a4de9adae194fe5dd0 (commit) via 8e650e2bd0b793d9739dc5080dadc40122f2b0fd (commit) via 99c8a000951ad26707a144d133522af826985149 (commit) via bfe51002d37a5f54a4a7d5febcf1dcdfeca8bd53 (commit) via f64caf3555e6fb2537352174c38c9f94390e0e6d (commit) via 98686e7fdcdda3c0ba05a5188b4d356e1d5a2028 (commit) via f4f840848650204369964d8fc2af52e63ce3086c (commit) via 388c841702a3069d1d3dd07feef44a7bc3b71662 (commit) via 52ae7d0897cbc84f4c297d06dc8e6e56a7862212 (commit) via d1ce5e0052aa77b3d9534d76f7e5948b9de874db (commit) via 96baf09c7c12dad0995a1c9da3f1d950473ef8d0 (commit) via 0cb7b131ffeda0fa2935b3e572a8093088bfb820 (commit) via 208c0cd58c8229b3b5fb3efc2f6e066f4797fab2 (commit) via b7821fd534df524141e7ec1987a13d5f5fcbe58a (commit) via 149ec2a8a73f1f5d7361e5bc37be5ff0df9d05b2 (commit) via 5f357334b50b6d834108bebb8813b6c4f77b05a2 (commit) from d352a2b49a9e2461c21c61df072a12c2042d1a74 (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: INSTALL | 53 +++++++++++ Makefile | 23 +++++ UNINSTALL | 26 +++++ debian/changelog | 36 +++++++- debian/compat | 2 +- debian/control | 94 +++++++++++++++---- debian/copyright | 56 ++++++----- debian/rules | 28 +----- debian/x2goserver-extensions.dirs | 3 + debian/x2goserver-extensions.docs | 1 + debian/x2goserver-extensions.install | 2 + debian/x2goserver-extensions.manpages | 1 + debian/x2goserver.dirs | 6 +- debian/x2goserver.docs | 1 + debian/x2goserver.init | 15 ++- debian/x2goserver.install | 39 +------- debian/x2goserver.manpages | 1 + debian/x2goserver.postinst | 2 +- x2gochangestatus | 11 -- x2gocmdexitmessage | 7 -- x2gocreatesession | 17 ---- x2gogetagent | 8 -- x2gogetdisplays | 9 -- x2gogetports | 9 -- x2gogetservers | 8 -- x2goinsertport | 14 --- x2goinsertsession | 13 --- x2golistdesktops | 53 ----------- x2golistsessions | 61 ------------ x2golistsessions_root | 52 ---------- x2golistsessions_sql | 30 ------ x2goprint | 62 ------------ x2goresume | 11 -- x2goresume-session | 71 -------------- .../html/man8/x2gosetkeyboard.8.html | 61 ++++++++++++ .../.build_man2html/html/man8/x2goversion.8.html | 69 ++++++++++++++ x2goserver-extensions/Makefile | 98 ++++++++++++++++++++ .../VERSION.x2goserver-extensions | 1 + x2goserver-extensions/bin/x2gosetkeyboard | 60 ++++++++++++ x2goserver-extensions/bin/x2goversion | 47 ++++++++++ x2goserver-extensions/man/man8/x2gosetkeyboard.8 | 29 ++++++ x2goserver-extensions/man/man8/x2goversion.8 | 35 +++++++ .../html/man8/x2gocleansessions.8.html | 49 ++++++++++ .../html/man8/x2golistsessions.8.html | 49 ++++++++++ .../.build_man2html/html/man8/x2gomountdirs.8.html | 49 ++++++++++ .../.build_man2html/html/man8/x2goprint.8.html | 49 ++++++++++ .../html/man8/x2goresume-session.8.html | 49 ++++++++++ .../html/man8/x2goruncommand.8.html | 49 ++++++++++ .../html/man8/x2gostartagent.8.html | 49 ++++++++++ .../html/man8/x2gosuspend-session.8.html | 49 ++++++++++ .../html/man8/x2goterminate-session.8.html | 49 ++++++++++ .../html/man8/x2goumount-session.8.html | 49 ++++++++++ .../.build_man2html/html/man8/x2goumount.8.html | 49 ++++++++++ x2goserver/Makefile | 98 ++++++++++++++++++++ x2goserver/VERSION.x2goserver | 1 + x2goserver/bin/x2gochangestatus | 32 +++++++ x2goserver/bin/x2gocmdexitmessage | 26 +++++ x2goserver/bin/x2gocreatesession | 37 ++++++++ x2goserver/bin/x2gogetagent | 29 ++++++ x2goserver/bin/x2gogetdisplays | 29 ++++++ x2goserver/bin/x2gogetports | 29 ++++++ x2goserver/bin/x2gogetservers | 28 ++++++ x2goserver/bin/x2goinsertport | 34 +++++++ x2goserver/bin/x2goinsertsession | 33 +++++++ x2goserver/bin/x2golistdesktops | 74 +++++++++++++++ x2goserver/bin/x2golistsessions | 81 ++++++++++++++++ x2goserver/bin/x2golistsessions_root | 73 +++++++++++++++ x2goserver/bin/x2golistsessions_sql | 49 ++++++++++ x2gomountdirs => x2goserver/bin/x2gomountdirs | 21 ++++ x2goserver/bin/x2goprint | 82 ++++++++++++++++ x2goserver/bin/x2goresume | 31 ++++++ x2goserver/bin/x2goresume-session | 91 ++++++++++++++++++ x2goruncommand => x2goserver/bin/x2goruncommand | 22 ++++- x2goserver/bin/x2gosessionlimit | 97 +++++++++++++++++++ x2goserver/bin/x2goshowblocks | 37 ++++++++ .../bin/x2gosqlitewrapper | 20 ++++ x2gostartagent => x2goserver/bin/x2gostartagent | 20 ++++ x2goserver/bin/x2gosuspend-agent | 30 ++++++ x2goserver/bin/x2gosuspend-session | 43 +++++++++ x2goserver/bin/x2goterminate | 30 ++++++ x2goserver/bin/x2goterminate-session | 36 +++++++ x2goserver/bin/x2goumount | 62 ++++++++++++ .../bin/x2goumount-session | 24 ++++- x2goserver/bin/x2goumount_session | 1 + x2goserver.conf => x2goserver/etc/x2goserver.conf | 0 sql => x2goserver/etc/x2gosql/sql | 0 x2goserver/lib/a.out | Bin 0 -> 6867 bytes x2goserver/lib/setuidwrapper.c | 12 +++ x2goserver/lib/test.py | 9 ++ .../lib/x2godbwrapper.pm | 20 ++++ x2goserver/man/man8/x2gocleansessions.8 | 22 +++++ x2goserver/man/man8/x2golistsessions.8 | 22 +++++ x2goserver/man/man8/x2gomountdirs.8 | 22 +++++ x2goserver/man/man8/x2goprint.8 | 22 +++++ x2goserver/man/man8/x2goresume-session.8 | 22 +++++ x2goserver/man/man8/x2goruncommand.8 | 22 +++++ x2goserver/man/man8/x2gostartagent.8 | 35 +++++++ x2goserver/man/man8/x2gosuspend-session.8 | 22 +++++ x2goserver/man/man8/x2goterminate-session.8 | 22 +++++ x2goserver/man/man8/x2goumount-session.8 | 22 +++++ x2goserver/man/man8/x2goumount.8 | 22 +++++ .../sbin/x2gocleansessions | 27 +++++- x2godbadmin => x2goserver/sbin/x2godbadmin | 20 ++++ x2goserver/share/x2go/versions/VERSION.x2goserver | 1 + x2gosessionlimit | 77 --------------- x2goshowblocks | 17 ---- x2gosuspend-agent | 10 -- x2gosuspend-session | 23 ----- x2goterminate | 9 -- x2goterminate-session | 16 --- x2goumount | 41 -------- 111 files changed, 2856 insertions(+), 745 deletions(-) create mode 100644 INSTALL create mode 100755 Makefile create mode 100644 UNINSTALL create mode 100644 debian/x2goserver-extensions.dirs create mode 100644 debian/x2goserver-extensions.docs create mode 100644 debian/x2goserver-extensions.install create mode 100644 debian/x2goserver-extensions.manpages create mode 100644 debian/x2goserver.docs create mode 100644 debian/x2goserver.manpages mode change 100644 => 100755 debian/x2goserver.postrm delete mode 100755 x2gochangestatus delete mode 100755 x2gocmdexitmessage delete mode 100755 x2gocreatesession delete mode 100755 x2gogetagent delete mode 100755 x2gogetdisplays delete mode 100755 x2gogetports delete mode 100755 x2gogetservers delete mode 100755 x2goinsertport delete mode 100755 x2goinsertsession delete mode 100755 x2golistdesktops delete mode 100755 x2golistsessions delete mode 100755 x2golistsessions_root delete mode 100755 x2golistsessions_sql delete mode 100755 x2goprint delete mode 100755 x2goresume delete mode 100755 x2goresume-session create mode 100644 x2goserver-extensions/.build_man2html/html/man8/x2gosetkeyboard.8.html create mode 100644 x2goserver-extensions/.build_man2html/html/man8/x2goversion.8.html create mode 100755 x2goserver-extensions/Makefile create mode 100644 x2goserver-extensions/VERSION.x2goserver-extensions create mode 100755 x2goserver-extensions/bin/x2gosetkeyboard create mode 100755 x2goserver-extensions/bin/x2goversion create mode 100644 x2goserver-extensions/man/man8/x2gosetkeyboard.8 create mode 100644 x2goserver-extensions/man/man8/x2goversion.8 create mode 100644 x2goserver/.build_man2html/html/man8/x2gocleansessions.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2golistsessions.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2gomountdirs.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goprint.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goresume-session.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goruncommand.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2gostartagent.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2gosuspend-session.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goterminate-session.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goumount-session.8.html create mode 100644 x2goserver/.build_man2html/html/man8/x2goumount.8.html create mode 100755 x2goserver/Makefile create mode 100644 x2goserver/VERSION.x2goserver create mode 100755 x2goserver/bin/x2gochangestatus create mode 100755 x2goserver/bin/x2gocmdexitmessage create mode 100755 x2goserver/bin/x2gocreatesession create mode 100755 x2goserver/bin/x2gogetagent create mode 100755 x2goserver/bin/x2gogetdisplays create mode 100755 x2goserver/bin/x2gogetports create mode 100755 x2goserver/bin/x2gogetservers create mode 100755 x2goserver/bin/x2goinsertport create mode 100755 x2goserver/bin/x2goinsertsession create mode 100755 x2goserver/bin/x2golistdesktops create mode 100755 x2goserver/bin/x2golistsessions create mode 100755 x2goserver/bin/x2golistsessions_root create mode 100755 x2goserver/bin/x2golistsessions_sql rename x2gomountdirs => x2goserver/bin/x2gomountdirs (86%) create mode 100755 x2goserver/bin/x2goprint create mode 100755 x2goserver/bin/x2goresume create mode 100755 x2goserver/bin/x2goresume-session rename x2goruncommand => x2goserver/bin/x2goruncommand (70%) create mode 100755 x2goserver/bin/x2gosessionlimit create mode 100755 x2goserver/bin/x2goshowblocks rename x2gosqlitewrapper => x2goserver/bin/x2gosqlitewrapper (90%) rename x2gostartagent => x2goserver/bin/x2gostartagent (87%) create mode 100755 x2goserver/bin/x2gosuspend-agent create mode 100755 x2goserver/bin/x2gosuspend-session create mode 100755 x2goserver/bin/x2goterminate create mode 100755 x2goserver/bin/x2goterminate-session create mode 100755 x2goserver/bin/x2goumount rename x2goumount_session => x2goserver/bin/x2goumount-session (68%) create mode 120000 x2goserver/bin/x2goumount_session rename x2goserver.conf => x2goserver/etc/x2goserver.conf (100%) rename sql => x2goserver/etc/x2gosql/sql (100%) create mode 100755 x2goserver/lib/a.out create mode 100644 x2goserver/lib/setuidwrapper.c create mode 100755 x2goserver/lib/test.py rename x2godbwrapper.pm => x2goserver/lib/x2godbwrapper.pm (94%) create mode 100644 x2goserver/man/man8/x2gocleansessions.8 create mode 100644 x2goserver/man/man8/x2golistsessions.8 create mode 100644 x2goserver/man/man8/x2gomountdirs.8 create mode 100644 x2goserver/man/man8/x2goprint.8 create mode 100644 x2goserver/man/man8/x2goresume-session.8 create mode 100644 x2goserver/man/man8/x2goruncommand.8 create mode 100644 x2goserver/man/man8/x2gostartagent.8 create mode 100644 x2goserver/man/man8/x2gosuspend-session.8 create mode 100644 x2goserver/man/man8/x2goterminate-session.8 create mode 100644 x2goserver/man/man8/x2goumount-session.8 create mode 100644 x2goserver/man/man8/x2goumount.8 rename x2gocleansessions => x2goserver/sbin/x2gocleansessions (65%) rename x2godbadmin => x2goserver/sbin/x2godbadmin (94%) create mode 120000 x2goserver/share/x2go/versions/VERSION.x2goserver delete mode 100755 x2gosessionlimit delete mode 100755 x2goshowblocks delete mode 100755 x2gosuspend-agent delete mode 100755 x2gosuspend-session delete mode 100755 x2goterminate delete mode 100755 x2goterminate-session delete mode 100755 x2goumount The diff of changes is: diff --git a/INSTALL b/INSTALL new file mode 100644 index 0000000..a189806 --- /dev/null +++ b/INSTALL @@ -0,0 +1,53 @@ +TARBALL INSTALLATION OF x2goserver +================================== + +1.) INSTALL x2goserver FILES +----------------------------- +Extract tarball and run + + $ make install + +in base folder of the extracted tarball. + + +2.) USER + GROUP for X2go +------------------------- +Set up x2gouser account and its group if they do not exist +already: + + $ addgroup --system x2gousers + $ adduser --system --no-create-home \ + --disabled-password --disabled-login \ + --shell /bin/false --group --home /var/lib/x2go x2gouser + +3.) SUID USER +------------- +Configure ownership, permissions and setuid user bit of x2gosqlitewrapper: + + $ chown x2gouser:x2gousers /usr/bin/x2gosqlitewrapper + $ chmod 6755 /usr/bin/x2gosqlitewrapper + + +4.) INIT SCRIPT +--------------- +Create a simple init script that starts $PREFIX/sbin/x2gocleansessions on system start +(runlevel 2-3-4-5). + +Alternatively, you can add a single line to /etc/rc.local: + +/usr/local/sbin/x2gocleansessions & + + +5.) OPTIONAL: PostgreSQL setup +------------------------------ +This last step is optional and is only needed for a setup of x2goserver +with PostgreSQL as database backend... + +When using PostgreSQL the following steps are necessary: + + $ chmod 700 /etc/x2go/x2gosql/passwords + $ touch /etc/x2go/x2gosql/passwords/pgadmin + $ chmod 600 /etc/x2go/x2gosql/passwords/pgadmin + $ x2godbadmin --createdb + + diff --git a/Makefile b/Makefile new file mode 100755 index 0000000..444112f --- /dev/null +++ b/Makefile @@ -0,0 +1,23 @@ +#!/usr/bin/make -f + +all: build + +build: build-indep + +clean: + cd x2goserver && make $@ + cd x2goserver-extensions && make $@ + +build-indep: + cd x2goserver && make $@ + cd x2goserver-extensions && make $@ + +install: + cd x2goserver && make $@ + cd x2goserver-extensions && make $@ + +uninstall: + cd x2goserver && make $@ + cd x2goserver-extensions && make $@ + + diff --git a/UNINSTALL b/UNINSTALL new file mode 100644 index 0000000..e75d6fc --- /dev/null +++ b/UNINSTALL @@ -0,0 +1,26 @@ +TARBALL UNINSTALL OF x2goserver +=============================== + +1.) Remove SQLite database +-------------------------- + $ rm -vf /var/lib/x2go/x2go_sessions + + +2.) Remove PostgreSQL passwords +------------------------------- + $ rm -vf /etc/x2go/x2gosql/passwords/pgadmin + + +3.) Remove x2gouser and groups from the system +---------------------------------------------- + + $ deluser x2gouser + $ delgroup x2gousers + + +4.) Run Makefile's uninstall +---------------------------- + + $ cd /path/to/extracted/x2goserver/tarball + $ make uninstall + diff --git a/debian/changelog b/debian/changelog index 40b449e..a01fa12 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,37 @@ +x2goserver (3.0.99.5-0~x2go3) UNRELEASED; urgency=low + + [Mike Gabriel] + * Rename x2goumount_session calls to x2goumount-session calls in x2goserver + internal scripts. + * React to bug #627990, prefer man2html-base over man2html. + + [Martin Oehler] + * Removes old debug code fragment, fixes x2golistsessions parsing. + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Sun, 05 Jun 2011 20:44:32 +0200 + +x2goserver (3.0.99.5-0~x2go2) unstable; urgency=low + + * splitting up x2goserver package into x2goserver and x2goserver-extensions + (x2goserver provides full functionality to legacy x2goclient, + x2goserver-extensions is a container/namespace for add-on tools/scripts + needed for other client implementations like Python X2go. + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 31 May 2011 10:57:15 +0200 + +x2goserver (3.0.99.5-0~x2go1) unstable; urgency=low + + * adds x2goprint to x2goserver package + * implements X2go MIME Box feature + * fixes installation conflicts with x2goserver-one, x2goserver-home + and x2goprint + * change of version numbering scheme + * re-organization of folder structure + * adds several man pages + * adds x2goversion script + + -- Mike Gabriel <mike.gabriel@das-netzwerkteam.de> Tue, 03 May 2011 10:42:02 +0200 + x2goserver (3.0.99-5) unstable; urgency=low * fixed db_getserver @@ -221,7 +255,7 @@ x2goserver (2.0.1-2) unstable; urgency=low x2goserver (2.0.1-1) unstable; urgency=low - * Initial release (Closes: #nnnn) <nnnn is the bug number of your ITP> + * Initial release -- Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> Thu, 8 Feb 2007 15:21:30 +0100 diff --git a/debian/compat b/debian/compat index 7ed6ff8..7f8f011 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -5 +7 diff --git a/debian/control b/debian/control index a322e54..7a64da7 100644 --- a/debian/control +++ b/debian/control @@ -2,24 +2,84 @@ Source: x2goserver Section: x11 Priority: extra Maintainer: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> -Build-Depends: debhelper (>= 5) -Standards-Version: 3.7.2 +Uploaders: + Mike Gabriel <mike.gabriel@das-netzwerkteam.de> +Build-Depends: + debhelper (>= 7.0.50~), + man2html-base | man2html +Standards-Version: 3.9.2 +Homepage: http://code.x2go.org/releases/source/x2goserver +Vcs-Git: git://code.x2go.org/x2goserver.git +Vcs-Browser: http://code.x2go.org/gitweb?p=x2goserver.git;a=summary Package: x2goserver Architecture: all -Depends: x2goagent, perl-suid, lsof, openssh-client, openssh-server, libconfig-simple-perl, makepasswd, libdbd-pg-perl, libdbd-sqlite3-perl, adduser -Recommends: sshfs -Breaks: x2goserver-one -Description: x2goserver (daemon and tools) - x2go is a serverbased computing environment with - - session resuming - - low bandwith support - - LDAP support - - client side mass storage mounting support - - audio/arts support - - authentication by smartcard and usb-stick - - KDE control-center modules for administration - - KDE based tools for just in time messaging and client surveillance +Depends: + ${misc:Depends}, + x2goagent, + perl-suid, + lsof, + openssh-client, + openssh-server, + libconfig-simple-perl, + makepasswd, + libdbd-pg-perl, + libdbd-sqlite3-perl, + adduser, + xauth +Recommends: + sshfs, + x11-apps, + x11-session-utils, + x11-utils, + x11-xfs-utils, + x11-xkb-utils, + x11-xserver-utils, + xinit, + x2goserver-extensions (= ${source:Version}) +Replaces: + x2goserver-one, + x2goserver-home, + x2goprint +Description: X2go server daemon scripts + X2go is a serverbased computing environment with + - session resuming + - low bandwith support + - LDAP support + - client side mass storage mounting support + - audio support + - authentication by smartcard and USB stick . - x2goserver contains the main daemon and tools for - session administrations (scripts). + This package contains the main daemon and tools for + X2go server-side session administrations. + . + The x2goserver package provides full functionality + for running the X2go project's legacy X2go client + (x2goclient) on the client-side. + . + However, if you intend using other client implementations + of X2go make sure that you also have X2go server + extensions package (x2goserver-extensions) installed. + +Package: x2goserver-extensions +Architecture: all +Depends: + ${misc:Depends}, + x2goserver (= ${source:Version}), + x11-xkb-utils +Description: X2go server daemon scripts (extensions) + X2go is a serverbased computing environment with + - session resuming + - low bandwith support + - LDAP support + - client side mass storage mounting support + - audio support + - authentication by smartcard and USB stick + . + The X2go server extension namespace offers contributors + to add script functionality to X2go that is not + needed/ignored by the legacy X2go client (x2goclient). + . + Make sure you have this package installed on your server + if you want non-legacy X2go clients to be able to + access your server without lack of features. diff --git a/debian/copyright b/debian/copyright index 487b08b..23cc85f 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,35 +1,39 @@ -This package was debianized by Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> on -Thu, 1 Feb 2007 14:11:03 +0100. - -It was downloaded from www.obviously-nice.de - -Upstream Author: Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> - -Copyright (C) 2007-2011 obviously nice - http://www.obviouslynice.de - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation; either version 2 of the License, or -(at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU General Public License -along with this program; if not, write to the -Free Software Foundation, Inc., -59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +Upstream Authors: + + Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> + Heinz-M. Graesing <heinz-m.graesing@obviously-nice.de> + +Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the +Free Software Foundation, Inc., +51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. Copyright (C) 2007-2011 Oleksandr Shneyder oleksandr.shneyder@obviously-nice.de -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. +Copyright (C) 2007-2011 Heinz-Markus Graesing +heinz-m.graesing@obviously-nice.de +Upstream contributors to x2goserver-extensions: +Mike Gabriel <mike.gabriel@das-netzwerkteam.de>: + * x2goversion + * x2gosetkeyboard + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. The Debian packaging is (C) 2007-2011, Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> and is licensed under the GPL, see above. - diff --git a/debian/rules b/debian/rules index dc98d08..c34429d 100755 --- a/debian/rules +++ b/debian/rules @@ -1,28 +1,6 @@ #!/usr/bin/make -f -clean: - dh_testdir - dh_testroot - dh_clean +%: + dh $@ -build: - dh_prep - -# We have nothing to do by default. -binary-indep: build -binary-arch: build - dh_testdir - dh_testroot - dh_installdirs - dh_install - dh_installchangelogs - dh_installdocs - dh_compress - dh_fixperms - dh_installdeb - dh_shlibdeps - dh_gencontrol - dh_md5sums - dh_builddeb - -binary: binary-indep binary-arch +override_dh_auto_install: diff --git a/debian/x2goserver-extensions.dirs b/debian/x2goserver-extensions.dirs new file mode 100644 index 0000000..45adc59 --- /dev/null +++ b/debian/x2goserver-extensions.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/x2go +usr/share/x2go/versions diff --git a/debian/x2goserver-extensions.docs b/debian/x2goserver-extensions.docs new file mode 100644 index 0000000..f000f68 --- /dev/null +++ b/debian/x2goserver-extensions.docs @@ -0,0 +1 @@ +x2goserver-extensions/.build_man2html/html diff --git a/debian/x2goserver-extensions.install b/debian/x2goserver-extensions.install new file mode 100644 index 0000000..8263b77 --- /dev/null +++ b/debian/x2goserver-extensions.install @@ -0,0 +1,2 @@ +x2goserver-extensions/bin/x2go* /usr/bin/ +x2goserver-extensions/VERSION.x2goserver-extensions /usr/share/x2go/versions/ \ No newline at end of file diff --git a/debian/x2goserver-extensions.manpages b/debian/x2goserver-extensions.manpages new file mode 100644 index 0000000..1dec58d --- /dev/null +++ b/debian/x2goserver-extensions.manpages @@ -0,0 +1 @@ +x2goserver-extensions/man/man8/* \ No newline at end of file diff --git a/debian/x2goserver.dirs b/debian/x2goserver.dirs index 29d4959..8699a0c 100644 --- a/debian/x2goserver.dirs +++ b/debian/x2goserver.dirs @@ -1,5 +1,9 @@ etc/x2go etc/x2go/x2gosql etc/x2go/x2gosql/passwords -usr/lib/x2go/script +usr/bin +usr/sbin +usr/lib/x2go +usr/share/x2go +usr/share/x2go/versions var/lib/x2go diff --git a/debian/x2goserver.docs b/debian/x2goserver.docs new file mode 100644 index 0000000..6c7d3af --- /dev/null +++ b/debian/x2goserver.docs @@ -0,0 +1 @@ +x2goserver/.build_man2html/html diff --git a/debian/x2goserver.init b/debian/x2goserver.init index e6285b6..14dbbe2 100644 --- a/debian/x2goserver.init +++ b/debian/x2goserver.init @@ -5,7 +5,7 @@ # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 -# Short-Description: Start and stop the x2go daemon +# Short-Description: Start and stop the X2go daemon ### END INIT INFO PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin @@ -13,10 +13,17 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin case "$1" in start) echo "Cleaning up stale x2go sessions." - /usr/sbin/x2gocleansessions + /usr/sbin/x2gocleansessions ;; - stop|reload|force-reload|restart) - # nothing to do + stop) + # kill x2gocleansessions, ignore on failure + killall x2gocleansessions || true + ;; + reload|force-reload|restart) + # kill x2gocleansessions, ignore on failure + killall x2gocleansessions || true + echo "Cleaning up stale x2go sessions." + /usr/sbin/x2gocleansessions ;; *) N=/etc/init.d/x2goserver diff --git a/debian/x2goserver.install b/debian/x2goserver.install index 4e20dd5..d33709c 100644 --- a/debian/x2goserver.install +++ b/debian/x2goserver.install @@ -1,33 +1,6 @@ -x2gochangestatus /usr/bin/ -x2gocmdexitmessage /usr/bin/ -x2gocreatesession /usr/bin/ -x2gogetagent /usr/bin/ -x2gogetdisplays /usr/bin/ -x2gogetports /usr/bin/ -x2gogetservers /usr/bin/ -x2goinsertport /usr/bin/ -x2goinsertsession /usr/bin/ -x2golistsessions /usr/bin/ -x2golistdesktops /usr/bin/ -x2golistsessions_root /usr/bin/ -x2golistsessions_sql /usr/bin/ -x2gomountdirs /usr/bin/ -x2goprint /usr/bin/ -x2goresume /usr/bin/ -x2goresume-session /usr/bin/ -x2goruncommand /usr/bin/ -x2goshowblocks /usr/bin/ -x2gosqlitewrapper /usr/bin/ -x2gostartagent /usr/bin/ -x2gosuspend-session /usr/bin/ -x2gosuspend-agent /usr/bin/ -x2goterminate /usr/bin/ -x2goterminate-session /usr/bin/ -x2goumount /usr/bin/ -x2goumount_session /usr/bin/ -x2gosessionlimit /usr/bin/ -sql /etc/x2go/x2gosql/ -x2goserver.conf /etc/x2go/ -x2godbwrapper.pm /usr/lib/x2go/ -x2gocleansessions /usr/sbin/ -x2godbadmin /usr/lib/x2go/script +x2goserver/bin/x2go* /usr/bin/ +x2goserver/sbin/x2go* /usr/sbin/ +x2goserver/etc/x2gosql/sql /etc/x2go/x2gosql/ +x2goserver/etc/x2goserver.conf /etc/x2go/ +x2goserver/lib/x2godbwrapper.pm /usr/lib/x2go/ +x2goserver/VERSION.x2goserver /usr/share/x2go/versions/ \ No newline at end of file diff --git a/debian/x2goserver.manpages b/debian/x2goserver.manpages new file mode 100644 index 0000000..88720a8 --- /dev/null +++ b/debian/x2goserver.manpages @@ -0,0 +1 @@ +x2goserver/man/man8/* \ No newline at end of file diff --git a/debian/x2goserver.postinst b/debian/x2goserver.postinst index d81b6ce..4e75de8 100755 --- a/debian/x2goserver.postinst +++ b/debian/x2goserver.postinst @@ -41,7 +41,7 @@ case "$1" in fi if [ ! -f /var/lib/x2go/x2go_sessions ]; then - /usr/lib/x2go/script/x2godbadmin --createdb + x2godbadmin --createdb fi dpkg-statoverride --add --update x2gouser x2gousers 6755 /usr/bin/x2gosqlitewrapper || true diff --git a/debian/x2goserver.postrm b/debian/x2goserver.postrm old mode 100644 new mode 100755 diff --git a/x2gochangestatus b/x2gochangestatus deleted file mode 100755 index f7ecfe9..0000000 --- a/x2gochangestatus +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $status=shift or die; -my $sid=shift or die; - -db_changestatus($status, $sid); diff --git a/x2gocmdexitmessage b/x2gocmdexitmessage deleted file mode 100755 index 29da10e..0000000 --- a/x2gocmdexitmessage +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/bash - - -X2GO_ROOT=${HOME}/.x2go -MESSAGE_FILE=$X2GO_ROOT/C-$1/cmdoutput - -cat $MESSAGE_FILE \ No newline at end of file diff --git a/x2gocreatesession b/x2gocreatesession deleted file mode 100755 index 7776e6e..0000000 --- a/x2gocreatesession +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - - -my $cookie=shift or die; -my $pid=shift or die; -my $client=shift or die; -my $gr_port=shift or die; -my $snd_port=shift or die; -my $fs_port=shift or die; -my $sid=shift or die; - -db_createsession($cookie,$pid,$client,$gr_port, $snd_port, $fs_port, $sid); diff --git a/x2gogetagent b/x2gogetagent deleted file mode 100755 index cf0b265..0000000 --- a/x2gogetagent +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/perl -use strict; - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $sid=shift or die; -print db_getagent $sid; diff --git a/x2gogetdisplays b/x2gogetdisplays deleted file mode 100755 index 3e153e7..0000000 --- a/x2gogetdisplays +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $host=shift or die; -print join("\n", db_getdisplays($host)); diff --git a/x2gogetports b/x2gogetports deleted file mode 100755 index 0a1ec60..0000000 --- a/x2gogetports +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $host=shift or die; -print join("\n", db_getports($host)); diff --git a/x2gogetservers b/x2gogetservers deleted file mode 100755 index f81ed27..0000000 --- a/x2gogetservers +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -print join("\n", db_getservers); diff --git a/x2goinsertport b/x2goinsertport deleted file mode 100755 index 128ac5e..0000000 --- a/x2goinsertport +++ /dev/null @@ -1,14 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $server=shift or die; -my $sid=shift or die; -my $port=shift or die; - -db_insertport($server,$sid,$port); -print "inserted"; - diff --git a/x2goinsertsession b/x2goinsertsession deleted file mode 100755 index fc616d5..0000000 --- a/x2goinsertsession +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $display=shift or die; -my $server=shift or die; -my $sid=shift or die; - -db_insertsession($display, $server, $sid); -print "inserted"; diff --git a/x2golistdesktops b/x2golistdesktops deleted file mode 100755 index 4e5d050..0000000 --- a/x2golistdesktops +++ /dev/null @@ -1,53 +0,0 @@ -#!/usr/bin/perl -use strict; -use Sys::Hostname; - -my $serv=shift; -if( ! $serv) -{ - $serv=hostname; -} - -my $rsess=`x2golistsessions x2goserver |grep _stR`; -my @rsess=split("\n","$rsess"); -my @rdisplays; -for(my $i=0;$i<@rsess;$i++) -{ - my @sinfo=split("\\|",@rsess[$i]); - @rdisplays[$i]=@sinfo[2]; -} - -my $rdisp=join("I",@rdisplays); -$rdisp="I${rdisp}I"; - -my $uname=$ENV{'USER'}; -my $outp=`ls -1 /tmp/.X11-unix/`; -my @outp=split("\n","$outp"); -for(my $i=0;$i<@outp;$i++) -{ - my $display=@outp[$i]; - $display=~s/X/:/; - my $checkdisp=$display; - $checkdisp=~s/:/I/; - $checkdisp="${checkdisp}I"; - if (!( $rdisp =~ m/$checkdisp/ )) - { - my $inf=`xwininfo -root -display $display 2> /dev/null`; - if ( $inf=~ m/geometry/) - { - print "$uname\@$display\n"; - } - } -} - -$outp=`ls -1 /tmp/ | grep x2godesktopsharing_`; -@outp=split("\n","$outp"); - -for(my $i=0;$i<@outp;$i++) -{ - my @ln=split("\@",@outp[$i]); - if( @ln[1] ne $uname ) - { - print "@ln[1]\@@ln[2]\n"; - } -} diff --git a/x2golistsessions b/x2golistsessions deleted file mode 100755 index 88fc44e..0000000 --- a/x2golistsessions +++ /dev/null @@ -1,61 +0,0 @@ -#!/usr/bin/perl -use Sys::Hostname; -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - - -sub check_stat -{ - my $sess=shift; - my $log="$ENV{'HOME'}/.x2go/C-$sess/session.log"; - my $text=`tail -1 $log`; - if($text =~ m/Session suspended/) - { - return 0; - } - return 1; -} - -my $serv=shift; -if( ! $serv) -{ - $serv=hostname; -} - -my @outp; -if($serv eq "--all-servers") -{ - @outp=db_listsessions_all(); -} -else -{ - @outp=db_listsessions($serv); -} - -for(my $i=0;$i<@outp;$i++) -{ - @outp[$i] =~ s/ //g; - @outp[$i] =~ s/\*/ /g; - my @sinfo=split('\\|',"@outp[$i]"); - if(@sinfo[4]eq 'F') - { - print "@outp[$i]\n"; - } - else - { - if(@sinfo[4]eq 'R') - { - if(!check_stat(@sinfo[1])) - { - db_changestatus( 'S', @sinfo[1] ); - @outp[$i] =~ s/\|R\|/\|S\|/; - system( "x2goumount_session @sinfo[1]"); - - } - } - print "@outp[$i]\n"; - } -} diff --git a/x2golistsessions_root b/x2golistsessions_root deleted file mode 100755 index c74cbfd..0000000 --- a/x2golistsessions_root +++ /dev/null @@ -1,52 +0,0 @@ -#!/usr/bin/perl -use Sys::Hostname; -use strict; - - -sub check_stat -{ - my $sess=shift; - my $user=shift; - my $log="~$user/.x2go/C-$sess/session.log"; - my $text=`tail -1 $log`; - if($text =~ m/Session suspended/) - { - return 0; - } - return 1; -} - - -my $uname; - -my $serv=shift; -if( ! $serv) -{ - $serv=hostname; -} - -my $outp=`x2golistsessions_sql $serv 2>/dev/null`; - - -my @outp=split("\n","$outp"); - -for(my $i=0;$i<@outp;$i++) -{ - my @sinfo=split('\\|',"@outp[$i]"); - if(@sinfo[4]eq 'F') - { - print "@outp[$i]\n"; - } - else - { - if(@sinfo[4]eq 'R') - { - if(!check_stat(@sinfo[1],@sinfo[11])) - { - system("su - @sinfo[11] -c \"x2gochangestatus 'S' @sinfo[1]\" > /dev/null"); - @outp[$i] =~ s/\|R\|/\|S\|/; - } - } - print "@outp[$i]\n"; - } -} diff --git a/x2golistsessions_sql b/x2golistsessions_sql deleted file mode 100755 index 071fac8..0000000 --- a/x2golistsessions_sql +++ /dev/null @@ -1,30 +0,0 @@ -#!/usr/bin/perl -use strict; - - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - - - -my $serv=shift; -my @array; -if($serv eq "--all-servers") -{ - @array=dbsys_listsessionsroot_all(); -} -else -{ - @array=dbsys_listsessionsroot ($serv); -} -my $i; -for ( $i=0;$i<@array;$i++) -{ - my @ln=split('\|',@array[$i]); - if(@ln[4] eq "F") - { - dbsys_rmsessionsroot( @ln[1]); - } - print "@array[$i]\n"; -} diff --git a/x2goprint b/x2goprint deleted file mode 100755 index f314329..0000000 --- a/x2goprint +++ /dev/null @@ -1,62 +0,0 @@ -#!/usr/bin/perl - -use File::Basename; -use File::Copy; -use File::Path; -use strict; - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -if (scalar(@ARGV) ==1) -{ - system ("su @ARGV[0] -c \"x2golistsessions --all-servers\" "); -} -elsif (scalar(@ARGV) != 4) -{ - print STDERR "ERROR: Usage:\nx2goprint user session file titleFile\nx2goprint user\n"; - exit 1; -} - -my ($user, $session, $file, $titleFile)=@ARGV; - -my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam("x2goprint"); -my $printdir=$homedir; - -my $title; -if( -e "$printdir/$titleFile") -{ - open (TITLE,"<$printdir/$titleFile"); - $title=<TITLE>; - close (TITLE); - unlink("$printdir/$titleFile"); -} - - -($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam($user); - -my $spoolbase="/tmp/spool_$user"; -my $spooldir="$spoolbase/$session"; -my $spooltmp="$spoolbase/tmp"; -mkpath($spooltmp); -chown $uid, $gid, "$spooltmp"; -chmod 0700, "$spooltmp"; - -my ($mounts)=db_getmounts($session); -if( $mounts=~m/$spooldir/) -{ - move("$printdir/$file", "$spooltmp") or die "$!: Can't move $file to $spooltmp/"; - chown $uid, $gid, "$spooltmp/$file"; - system("su $user -c \"mv $spooltmp/$file $spooldir\""); - - open (RFILE,">$spooltmp/$file.ready"); - print RFILE "$file\n$title"; - close (RFILE); - - chown $uid, $gid, "$spooltmp/$file.ready"; - system ("su $user -c \"mv $spooltmp/$file.ready $spooldir\""); -} -else -{ - unlink("$printdir/$file"); -} diff --git a/x2goresume b/x2goresume deleted file mode 100755 index 251fb5e..0000000 --- a/x2goresume +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $client=shift or die; -my $sid=shift or die; - -db_resume($client, $sid); diff --git a/x2goresume-session b/x2goresume-session deleted file mode 100755 index c9ca10a..0000000 --- a/x2goresume-session +++ /dev/null @@ -1,71 +0,0 @@ -#!/bin/bash - -SESSION_NAME=$1 -X2GO_GEOMETRY=$2 -X2GO_LINK=$3 -X2GO_PACK=$4 -X2GO_KBD_LAYOUT=$5 -X2GO_KBD_TYPE=$6 -X2GO_SET_KBD=$7 - - - -X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` - - -X2GO_ROOT=${HOME}/.x2go -X2GO_RESIZE=0 -X2GO_FULLSCREEN=0 - -if [ "$X2GO_GEOMETRY" == "" ] -then - X2GO_GEOMETRY=fullscreen -fi - -if [ "$X2GO_GEOMETRY" == "fullscreen" ] -then - X2GO_RESIZE=1 - X2GO_FULLSCREEN=1 -fi - -SESSION_DIR=${X2GO_ROOT}/C-${SESSION_NAME} -OPTIONS=`cat ${SESSION_DIR}/options` - -GSTR=`echo "$OPTIONS" | awk -F, {'print $13'}` -RSTR=`echo "$OPTIONS" | awk -F, {'print $14'}` -FSTR=`echo "$OPTIONS" | awk -F, {'print $15'}` -LSTR=`echo "$OPTIONS" | awk -F, {'print $2'}` -PSTR=`echo "$OPTIONS" | awk -F, {'print $3'}` -KTSTR=`echo "$OPTIONS" | awk -F, {'print $12'}` - - -KTSTR=`echo $KTSTR | sed "s/\//\\\\\\\\\//"` -X2GO_KBD_TYPE=`echo $X2GO_KBD_TYPE | sed "s/\//\\\\\\\\\//"` - -if [ "$X2GO_SET_KBD" == "0" ] -then - X2GO_KBD_TYPE="null\/null" -fi - -NEWOPTIONS=`echo "$OPTIONS" | sed -e "s/$LSTR/link=$X2GO_LINK/"\ - -e "s/$PSTR/pack=$X2GO_PACK/"\ - -e "s/$KTSTR/kbtype=$X2GO_KBD_TYPE/"\ - -e "s/$GSTR/geometry=$X2GO_GEOMETRY/"\ - -e "s/$RSTR/resize=$X2GO_RESIZE/"\ - -e "s/$FSTR/fullscreen=$X2GO_FULLSCREEN/"` - - -#echo -e "old options:$OPTIONS\n\nnew options:$NEWOPTIONS" - - -X2GO_CLIENT=`echo $SSH_CLIENT | awk '{print $1}'` -if [ "$X2GO_CLIENT" == "" ] -then - X2GO_CLIENT=$HOSTNAME -fi - -echo "$NEWOPTIONS" >${SESSION_DIR}/options - -x2goresume $X2GO_CLIENT $SESSION_NAME > /dev/null - -kill -HUP $X2GO_AGENT_PID diff --git a/x2goserver-extensions/.build_man2html/html/man8/x2gosetkeyboard.8.html b/x2goserver-extensions/.build_man2html/html/man8/x2gosetkeyboard.8.html new file mode 100644 index 0000000..cff91de --- /dev/null +++ b/x2goserver-extensions/.build_man2html/html/man8/x2gosetkeyboard.8.html @@ -0,0 +1,61 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2gosetkeyboard</TITLE> +</HEAD><BODY> +<H1>x2gosetkeyboard</H1> +Section: X2go Server Tool (Extension) (8)<BR>Updated: 31 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2gosetkeyboard - Allow server-side Keyboard Setting Updates issued by X2go Client +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2gosetkeyboard</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2gosetkeyboard</B> looks for a 'keyboard' file in the X2go session directory and introspects +the X2go session keyboard settings requested from the client side. +<P> + +If no 'keyboard' file is present in the X2go session directory, nothing happens (i.e. no error +will be raised). +<P> + +<A NAME="lbAE"> </A> +<H2>FILES</H2> + +${HOME}/.x2go/C-${X2GO_SESSION}/keyboard +<P> + +<A NAME="lbAF"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">FILES</A><DD> +<DT><A HREF="#lbAF">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver-extensions/.build_man2html/html/man8/x2goversion.8.html b/x2goserver-extensions/.build_man2html/html/man8/x2goversion.8.html new file mode 100644 index 0000000..458ec41 --- /dev/null +++ b/x2goserver-extensions/.build_man2html/html/man8/x2goversion.8.html @@ -0,0 +1,69 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goversion</TITLE> +</HEAD><BODY> +<H1>x2goversion</H1> +Section: X2go Server Tool (Extension) (8)<BR>Updated: 31 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goversion - Retrieve Code Versions of X2go Server Components +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goversion [<x2go-component>]</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goversion</B> allows to retrieve code versions of X2go server components. +<P> + +If the +<B>[<x2go-component>]</B> parameter is omitted then a list of all available X2go server +component names and versions is listed. +<P> + +If an X2go component is specified with the <B>[<x2go-component>]</B> parameter, then only the +component's version is printed to stdout. +<P> + +The <B>x2goversion</B> tool can be used by X2go client implementations to query server-side versions +of X2go components. +<P> + +<A NAME="lbAE"> </A> +<H2>FILES</H2> + +/usr/share/x2go/versions/VERSION.* +<P> + +<A NAME="lbAF"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">FILES</A><DD> +<DT><A HREF="#lbAF">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver-extensions/Makefile b/x2goserver-extensions/Makefile new file mode 100755 index 0000000..c7ea989 --- /dev/null +++ b/x2goserver-extensions/Makefile @@ -0,0 +1,98 @@ +#!/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) + +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_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)$(LIBDIR) + $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/ +# $(INSTALL_PROGRAM) sbin/* $(DESTDIR)$(SBINDIR)/ +# $(INSTALL_FILE) lib/* $(DESTDIR)$(LIBDIR)/ + +install_config: +# $(INSTALL_DIR) $(DESTDIR)$(ETCDIR) +# $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)/x2gosql +# $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)/x2gosql/passwords +# $(INSTALL_FILE) etc/x2goserver.conf $(DESTDIR)$(ETCDIR)/ +# $(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_version: + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/versions + $(INSTALL_FILE) VERSION.x2goserver-extras $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-extras + +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 $(LIB_FILES); do $(RM_FILE) $(DESTDIR)$(LIBDIR)/$$file; done +# $(RM_DIR) $(DESTDIR)$(LIBDIR) + +uninstall_config: +# $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2goserver.conf +# $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2gosql/sql +# $(RM_DIR) $(DESTDIR)$(ETCDIR) +# $(RM_DIR) $(DESTDIR)$(ETCDIR)/x2gosql/passwords +# $(RM_DIR) $(DESTDIR)$(ETCDIR)/x2gosql + +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) + +uninstall_version: + $(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver-extensions + $(RM_DIR) $(DESTDIR)$(SHAREDIR)/versions diff --git a/x2goserver-extensions/VERSION.x2goserver-extensions b/x2goserver-extensions/VERSION.x2goserver-extensions new file mode 100644 index 0000000..34936c7 --- /dev/null +++ b/x2goserver-extensions/VERSION.x2goserver-extensions @@ -0,0 +1 @@ +3.0.99.5 \ No newline at end of file diff --git a/x2goserver-extensions/bin/x2gosetkeyboard b/x2goserver-extensions/bin/x2gosetkeyboard new file mode 100755 index 0000000..022f97d --- /dev/null +++ b/x2goserver-extensions/bin/x2gosetkeyboard @@ -0,0 +1,60 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +set -e + +# set up paths +X2GO_SESSION_ROOT=${HOME}/.x2go +X2GO_SESSION_DIR=${X2GO_SESSION_ROOT}/C-${X2GO_SESSION} + +# client keyboard configuration +X2GO_CLIENT_KBD_FILE=${X2GO_SESSION_DIR}/keyboard + +test -f ${X2GO_CLIENT_KBD_FILE} || exit 0 + +read_keyboard_file() { + + # retrieve keyboard settings from keyboard file in X2go session dir + XKB_RULES=$(cat ${X2GO_CLIENT_KBD_FILE} | egrep "^rules.*" | head -n1 | cut -d "=" -f2 | cut -d" " -f1) + XKB_MODEL=$(cat ${X2GO_CLIENT_KBD_FILE} | egrep "^model.*" | head -n1 | cut -d "=" -f2 | cut -d" " -f1) + XKB_LAYOUT=$(cat ${X2GO_CLIENT_KBD_FILE} | egrep "^layout.*" | head -n1 | cut -d "=" -f2 | cut -d" " -f1) + XKB_VARIANT=$(cat ${X2GO_CLIENT_KBD_FILE} | egrep "^variant.*" | head -n1 | cut -d "=" -f2 | cut -d" " -f1) + XKB_OPTIONS=$(cat ${X2GO_CLIENT_KBD_FILE} | egrep "^options.*" | head -n1 | cut -d "=" -f2 | cut -d" " -f1) + +} + +update_keymap() { + + # 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" + + # update keyboard map + setxkbmap $XKB_RULES $XKB_MODEL $XKB_LAYOUT $XKB_VARIANT $XKB_OPTIONS +} + +### main ### +read_keyboard_file +update_keymap diff --git a/x2goserver-extensions/bin/x2goversion b/x2goserver-extensions/bin/x2goversion new file mode 100755 index 0000000..64dd758 --- /dev/null +++ b/x2goserver-extensions/bin/x2goversion @@ -0,0 +1,47 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +X2GO_VERSIONS_BASEPATH="$(dirname $0)/../share/x2go/versions" + +get_version() { + cat "$1" | egrep -v "^#.*" | head -n1 | cut -d" " -f1 +} + +if [ -n "$1" ]; then + X2GO_COMPONENT="$1" + X2GO_COMPONENT_VERFILE="${X2GO_VERSIONS_BASEPATH}/VERSION.${X2GO_COMPONENT}" + + if [ -f "${X2GO_COMPONENT_VERFILE}" ]; then + echo "$(get_version ${X2GO_COMPONENT_VERFILE})" + else + echo "Version information for X2go component '$X2GO_COMPONENT' is not available." >&1 + fi +else + cd ${X2GO_VERSIONS_BASEPATH} + for compfile in `ls ${X2GO_VERSIONS_BASEPATH}`; do + X2GO_COMPONENT="$(echo $compfile | cut -d"." -f2)" + X2GO_COMPONENT_VERSION="$(get_version $compfile)" + echo "${X2GO_COMPONENT}: ${X2GO_COMPONENT_VERSION}" + done + cd - >/dev/null +fi + diff --git a/x2goserver-extensions/man/man8/x2gosetkeyboard.8 b/x2goserver-extensions/man/man8/x2gosetkeyboard.8 new file mode 100644 index 0000000..702155f --- /dev/null +++ b/x2goserver-extensions/man/man8/x2gosetkeyboard.8 @@ -0,0 +1,29 @@ +'\" -*- 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 "31 May 2011" "Version 3.0.99.x" "X2go Server Tool (Extension)" +.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). +.PP +.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-extensions/man/man8/x2goversion.8 b/x2goserver-extensions/man/man8/x2goversion.8 new file mode 100644 index 0000000..bb07d83 --- /dev/null +++ b/x2goserver-extensions/man/man8/x2goversion.8 @@ -0,0 +1,35 @@ +'\" -*- 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 x2goversion 8 "31 May 2011" "Version 3.0.99.x" "X2go Server Tool (Extension)" +.SH NAME +x2goversion \- Retrieve Code Versions of X2go Server Components +.SH SYNOPSIS +'nh +.fi +.ad l +x2goversion [<x2go-component>] + +.SH DESCRIPTION +\fBx2goversion\fR allows to retrieve code versions of X2go server components. +.PP +If the +\fB[<x2go-component>]\fR parameter is omitted then a list of all available X2go server +component names and versions is listed. +.PP +If an X2go component is specified with the \fB[<x2go-component>]\fR parameter, then only the +component's version is printed to stdout. +.PP +The \fBx2goversion\fR tool can be used by X2go client implementations to query server-side versions +of X2go components. +.PP +.SH FILES +/usr/share/x2go/versions/VERSION.* +.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/.build_man2html/html/man8/x2gocleansessions.8.html b/x2goserver/.build_man2html/html/man8/x2gocleansessions.8.html new file mode 100644 index 0000000..5fa85bd --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2gocleansessions.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2gocleansessions</TITLE> +</HEAD><BODY> +<H1>x2gocleansessions</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2gocleansessions - X2go Server Cleanup Daemon +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2gocleansessions</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2gocleansessions</B> is run as a service on X2go servers to handle the cleanup of stale sessions. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2golistsessions.8.html b/x2goserver/.build_man2html/html/man8/x2golistsessions.8.html new file mode 100644 index 0000000..b91d5b3 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2golistsessions.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2golistsessions</TITLE> +</HEAD><BODY> +<H1>x2golistsessions</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2golistsessions - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2golistsessions</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2golistsessions</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2gomountdirs.8.html b/x2goserver/.build_man2html/html/man8/x2gomountdirs.8.html new file mode 100644 index 0000000..81e8d63 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2gomountdirs.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2gomountdirs</TITLE> +</HEAD><BODY> +<H1>x2gomountdirs</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2gomountdirs - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2gomountdirs</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2gomountdirs</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goprint.8.html b/x2goserver/.build_man2html/html/man8/x2goprint.8.html new file mode 100644 index 0000000..d71bba5 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goprint.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goprint</TITLE> +</HEAD><BODY> +<H1>x2goprint</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goprint - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goprint</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goprint</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goresume-session.8.html b/x2goserver/.build_man2html/html/man8/x2goresume-session.8.html new file mode 100644 index 0000000..7ac8a17 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goresume-session.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goresume-session</TITLE> +</HEAD><BODY> +<H1>x2goresume-session</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goresume-session - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goresume-session</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goresume-session</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goruncommand.8.html b/x2goserver/.build_man2html/html/man8/x2goruncommand.8.html new file mode 100644 index 0000000..8a6506e --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goruncommand.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goruncommand</TITLE> +</HEAD><BODY> +<H1>x2goruncommand</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goruncommand - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goruncommand</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goruncommand</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2gostartagent.8.html b/x2goserver/.build_man2html/html/man8/x2gostartagent.8.html new file mode 100644 index 0000000..38b5340 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2gostartagent.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2gostartagent</TITLE> +</HEAD><BODY> +<H1>x2gostartagent</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2gostartagent - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2gostartagent</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2gostartagent</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2gosuspend-session.8.html b/x2goserver/.build_man2html/html/man8/x2gosuspend-session.8.html new file mode 100644 index 0000000..9e1308e --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2gosuspend-session.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2gosuspend-session</TITLE> +</HEAD><BODY> +<H1>x2gosuspend-session</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2gosuspend-session - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2gosuspend-session</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2gosuspend-session</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goterminate-session.8.html b/x2goserver/.build_man2html/html/man8/x2goterminate-session.8.html new file mode 100644 index 0000000..3f7bb19 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goterminate-session.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goterminate-session</TITLE> +</HEAD><BODY> +<H1>x2goterminate-session</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goterminate-session - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goterminate-session</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goterminate-session</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goumount-session.8.html b/x2goserver/.build_man2html/html/man8/x2goumount-session.8.html new file mode 100644 index 0000000..1940b50 --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goumount-session.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goumount_session</TITLE> +</HEAD><BODY> +<H1>x2goumount_session</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goumount_session - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goumount_session</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goumount_session</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/.build_man2html/html/man8/x2goumount.8.html b/x2goserver/.build_man2html/html/man8/x2goumount.8.html new file mode 100644 index 0000000..7c6b79d --- /dev/null +++ b/x2goserver/.build_man2html/html/man8/x2goumount.8.html @@ -0,0 +1,49 @@ +Content-type: text/html + +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<HTML><HEAD><TITLE>Man page of x2goumount</TITLE> +</HEAD><BODY> +<H1>x2goumount</H1> +Section: X2go Server Tool (8)<BR>Updated: 18 May 2011<BR><A HREF="#index">Index</A> +<A HREF="../index.html">Return to Main Contents</A><HR> + +<A NAME="lbAB"> </A> +<H2>NAME</H2> + +x2goumount - X2go Server Script +<A NAME="lbAC"> </A> +<H2>SYNOPSIS</H2> + + + + +<B>x2goumount</B> +<P> +<A NAME="lbAD"> </A> +<H2>DESCRIPTION</H2> + +<B>x2goumount</B> is one of many scripts belonging to X2go Server. +<P> + +<A NAME="lbAE"> </A> +<H2>AUTHOR</H2> + +This manual has been written by Mike Gabriel <<A HREF="mailto:mike.gabriel@das-netzwerkteam.de">mike.gabriel@das-netzwerkteam.de</A>> for the X2go project +(<A HREF="http://www.x2go.org).">http://www.x2go.org).</A> +<P> + +<HR> +<A NAME="index"> </A><H2>Index</H2> +<DL> +<DT><A HREF="#lbAB">NAME</A><DD> +<DT><A HREF="#lbAC">SYNOPSIS</A><DD> +<DT><A HREF="#lbAD">DESCRIPTION</A><DD> +<DT><A HREF="#lbAE">AUTHOR</A><DD> +</DL> +<HR> +This document was created by +<A HREF="/cgi-bin/man/man2html">man2html</A>, +using the manual pages.<BR> +Time: 10:13:24 GMT, May 31, 2011 +</BODY> +</HTML> diff --git a/x2goserver/Makefile b/x2goserver/Makefile new file mode 100755 index 0000000..765f17f --- /dev/null +++ b/x2goserver/Makefile @@ -0,0 +1,98 @@ +#!/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) + +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_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)$(LIBDIR) + $(INSTALL_PROGRAM) bin/* $(DESTDIR)$(BINDIR)/ + $(INSTALL_PROGRAM) sbin/* $(DESTDIR)$(SBINDIR)/ + $(INSTALL_FILE) lib/* $(DESTDIR)$(LIBDIR)/ + +install_config: + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR) + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)/x2gosql + $(INSTALL_DIR) $(DESTDIR)$(ETCDIR)/x2gosql/passwords + $(INSTALL_FILE) etc/x2goserver.conf $(DESTDIR)$(ETCDIR)/ + $(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_version: + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR) + $(INSTALL_DIR) $(DESTDIR)$(SHAREDIR)/versions + $(INSTALL_FILE) VERSION.x2goserver $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver + +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 $(LIB_FILES); do $(RM_FILE) $(DESTDIR)$(LIBDIR)/$$file; done + $(RM_DIR) $(DESTDIR)$(LIBDIR) + +uninstall_config: + $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2goserver.conf + $(RM_FILE) $(DESTDIR)$(ETCDIR)/x2gosql/sql + $(RM_DIR) $(DESTDIR)$(ETCDIR) + $(RM_DIR) $(DESTDIR)$(ETCDIR)/x2gosql/passwords + $(RM_DIR) $(DESTDIR)$(ETCDIR)/x2gosql + +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) + +uninstall_version: + $(RM_FILE) $(DESTDIR)$(SHAREDIR)/versions/VERSION.x2goserver + $(RM_DIR) $(DESTDIR)$(SHAREDIR)/versions diff --git a/x2goserver/VERSION.x2goserver b/x2goserver/VERSION.x2goserver new file mode 100644 index 0000000..34936c7 --- /dev/null +++ b/x2goserver/VERSION.x2goserver @@ -0,0 +1 @@ +3.0.99.5 \ No newline at end of file diff --git a/x2goserver/bin/x2gochangestatus b/x2goserver/bin/x2gochangestatus new file mode 100755 index 0000000..542cab4 --- /dev/null +++ b/x2goserver/bin/x2gochangestatus @@ -0,0 +1,32 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $status=shift or die; +my $sid=shift or die; + +db_changestatus($status, $sid); diff --git a/x2goserver/bin/x2gocmdexitmessage b/x2goserver/bin/x2gocmdexitmessage new file mode 100755 index 0000000..9c5e7bd --- /dev/null +++ b/x2goserver/bin/x2gocmdexitmessage @@ -0,0 +1,26 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +X2GO_ROOT=${HOME}/.x2go +MESSAGE_FILE=$X2GO_ROOT/C-$1/cmdoutput + +cat $MESSAGE_FILE \ No newline at end of file diff --git a/x2goserver/bin/x2gocreatesession b/x2goserver/bin/x2gocreatesession new file mode 100755 index 0000000..3609a34 --- /dev/null +++ b/x2goserver/bin/x2gocreatesession @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + + +my $cookie=shift or die; +my $pid=shift or die; +my $client=shift or die; +my $gr_port=shift or die; +my $snd_port=shift or die; +my $fs_port=shift or die; +my $sid=shift or die; + +db_createsession($cookie,$pid,$client,$gr_port, $snd_port, $fs_port, $sid); diff --git a/x2goserver/bin/x2gogetagent b/x2goserver/bin/x2gogetagent new file mode 100755 index 0000000..9a66104 --- /dev/null +++ b/x2goserver/bin/x2gogetagent @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $sid=shift or die; +print db_getagent $sid; diff --git a/x2goserver/bin/x2gogetdisplays b/x2goserver/bin/x2gogetdisplays new file mode 100755 index 0000000..75b9f18 --- /dev/null +++ b/x2goserver/bin/x2gogetdisplays @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $host=shift or die; +print join("\n", db_getdisplays($host)); diff --git a/x2goserver/bin/x2gogetports b/x2goserver/bin/x2gogetports new file mode 100755 index 0000000..bf0d345 --- /dev/null +++ b/x2goserver/bin/x2gogetports @@ -0,0 +1,29 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $host=shift or die; +print join("\n", db_getports($host)); diff --git a/x2goserver/bin/x2gogetservers b/x2goserver/bin/x2gogetservers new file mode 100755 index 0000000..38aa496 --- /dev/null +++ b/x2goserver/bin/x2gogetservers @@ -0,0 +1,28 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +print join("\n", db_getservers); diff --git a/x2goserver/bin/x2goinsertport b/x2goserver/bin/x2goinsertport new file mode 100755 index 0000000..75ec3c5 --- /dev/null +++ b/x2goserver/bin/x2goinsertport @@ -0,0 +1,34 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $server=shift or die; +my $sid=shift or die; +my $port=shift or die; + +db_insertport($server,$sid,$port); +print "inserted"; + diff --git a/x2goserver/bin/x2goinsertsession b/x2goserver/bin/x2goinsertsession new file mode 100755 index 0000000..300c71f --- /dev/null +++ b/x2goserver/bin/x2goinsertsession @@ -0,0 +1,33 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $display=shift or die; +my $server=shift or die; +my $sid=shift or die; + +db_insertsession($display, $server, $sid); +print "inserted"; diff --git a/x2goserver/bin/x2golistdesktops b/x2goserver/bin/x2golistdesktops new file mode 100755 index 0000000..8ba46ae --- /dev/null +++ b/x2goserver/bin/x2golistdesktops @@ -0,0 +1,74 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; +use Sys::Hostname; + +my $serv=shift; +if( ! $serv) +{ + $serv=hostname; +} + +my $rsess=`x2golistsessions x2goserver |grep _stR`; +my @rsess=split("\n","$rsess"); +my @rdisplays; +for(my $i=0;$i<@rsess;$i++) +{ + my @sinfo=split("\\|",@rsess[$i]); + @rdisplays[$i]=@sinfo[2]; +} + +my $rdisp=join("I",@rdisplays); +$rdisp="I${rdisp}I"; + +my $uname=$ENV{'USER'}; +my $outp=`ls -1 /tmp/.X11-unix/`; +my @outp=split("\n","$outp"); +for(my $i=0;$i<@outp;$i++) +{ + my $display=@outp[$i]; + $display=~s/X/:/; + my $checkdisp=$display; + $checkdisp=~s/:/I/; + $checkdisp="${checkdisp}I"; + if (!( $rdisp =~ m/$checkdisp/ )) + { + my $inf=`xwininfo -root -display $display 2> /dev/null`; + if ( $inf=~ m/geometry/) + { + print "$uname\@$display\n"; + } + } +} + +$outp=`ls -1 /tmp/ | grep x2godesktopsharing_`; +@outp=split("\n","$outp"); + +for(my $i=0;$i<@outp;$i++) +{ + my @ln=split("\@",@outp[$i]); + if( @ln[1] ne $uname ) + { + print "@ln[1]\@@ln[2]\n"; + } +} diff --git a/x2goserver/bin/x2golistsessions b/x2goserver/bin/x2golistsessions new file mode 100755 index 0000000..0119f3b --- /dev/null +++ b/x2goserver/bin/x2golistsessions @@ -0,0 +1,81 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use Sys::Hostname; +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + + +sub check_stat +{ + my $sess=shift; + my $log="$ENV{'HOME'}/.x2go/C-$sess/session.log"; + my $text=`tail -1 $log`; + if($text =~ m/Session suspended/) + { + return 0; + } + return 1; +} + +my $serv=shift; +if( ! $serv) +{ + $serv=hostname; +} + +my @outp; +if($serv eq "--all-servers") +{ + @outp=db_listsessions_all(); +} +else +{ + @outp=db_listsessions($serv); +} + +for(my $i=0;$i<@outp;$i++) +{ + @outp[$i] =~ s/ //g; + @outp[$i] =~ s/\*/ /g; + my @sinfo=split('\\|',"@outp[$i]"); + if(@sinfo[4]eq 'F') + { + print "@outp[$i]\n"; + } + else + { + if(@sinfo[4]eq 'R') + { + if(!check_stat(@sinfo[1])) + { + db_changestatus( 'S', @sinfo[1] ); + @outp[$i] =~ s/\|R\|/\|S\|/; + system( "x2goumount-session @sinfo[1]"); + + } + } + print "@outp[$i]\n"; + } +} diff --git a/x2goserver/bin/x2golistsessions_root b/x2goserver/bin/x2golistsessions_root new file mode 100755 index 0000000..0df7249 --- /dev/null +++ b/x2goserver/bin/x2golistsessions_root @@ -0,0 +1,73 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use Sys::Hostname; +use strict; + + +sub check_stat +{ + my $sess=shift; + my $user=shift; + my $log="~$user/.x2go/C-$sess/session.log"; + my $text=`tail -1 $log`; + if($text =~ m/Session suspended/) + { + return 0; + } + return 1; +} + + +my $uname; + +my $serv=shift; +if( ! $serv) +{ + $serv=hostname; +} + +my $outp=`x2golistsessions_sql $serv 2>/dev/null`; + + +my @outp=split("\n","$outp"); + +for(my $i=0;$i<@outp;$i++) +{ + my @sinfo=split('\\|',"@outp[$i]"); + if(@sinfo[4]eq 'F') + { + print "@outp[$i]\n"; + } + else + { + if(@sinfo[4]eq 'R') + { + if(!check_stat(@sinfo[1],@sinfo[11])) + { + system("su - @sinfo[11] -c \"x2gochangestatus 'S' @sinfo[1]\" > /dev/null"); + @outp[$i] =~ s/\|R\|/\|S\|/; + } + } + print "@outp[$i]\n"; + } +} diff --git a/x2goserver/bin/x2golistsessions_sql b/x2goserver/bin/x2golistsessions_sql new file mode 100755 index 0000000..4f1abdc --- /dev/null +++ b/x2goserver/bin/x2golistsessions_sql @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + + + +my $serv=shift; +my @array; +if($serv eq "--all-servers") +{ + @array=dbsys_listsessionsroot_all(); +} +else +{ + @array=dbsys_listsessionsroot ($serv); +} +my $i; +for ( $i=0;$i<@array;$i++) +{ + my @ln=split('\|',@array[$i]); + if(@ln[4] eq "F") + { + dbsys_rmsessionsroot( @ln[1]); + } + print "@array[$i]\n"; +} diff --git a/x2gomountdirs b/x2goserver/bin/x2gomountdirs similarity index 86% rename from x2gomountdirs rename to x2goserver/bin/x2gomountdirs index d436066..e84149d 100755 --- a/x2gomountdirs +++ b/x2goserver/bin/x2gomountdirs @@ -1,4 +1,25 @@ #!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + use strict; use lib "/usr/lib/x2go"; diff --git a/x2goserver/bin/x2goprint b/x2goserver/bin/x2goprint new file mode 100755 index 0000000..1a4ebaf --- /dev/null +++ b/x2goserver/bin/x2goprint @@ -0,0 +1,82 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use File::Basename; +use File::Copy; +use File::Path; +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +if (scalar(@ARGV) ==1) +{ + system ("su @ARGV[0] -c \"x2golistsessions --all-servers\" "); +} +elsif (scalar(@ARGV) != 4) +{ + print STDERR "ERROR: Usage:\nx2goprint user session file titleFile\nx2goprint user\n"; + exit 1; +} + +my ($user, $session, $file, $titleFile)=@ARGV; + +my ($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam("x2goprint"); +my $printdir=$homedir; + +my $title; +if( -e "$printdir/$titleFile") +{ + open (TITLE,"<$printdir/$titleFile"); + $title=<TITLE>; + close (TITLE); + unlink("$printdir/$titleFile"); +} + + +($tm,$tm,$uid,$gid,$tm,$tm,$tm,$homedir)=getpwnam($user); + +my $spoolbase="/tmp/spool_$user"; +my $spooldir="$spoolbase/$session"; +my $spooltmp="$spoolbase/tmp"; +mkpath($spooltmp); +chown $uid, $gid, "$spooltmp"; +chmod 0700, "$spooltmp"; + +my ($mounts)=db_getmounts($session); +if( $mounts=~m/$spooldir/) +{ + move("$printdir/$file", "$spooltmp") or die "$!: Can't move $file to $spooltmp/"; + chown $uid, $gid, "$spooltmp/$file"; + system("su $user -c \"mv $spooltmp/$file $spooldir\""); + + open (RFILE,">$spooltmp/$file.ready"); + print RFILE "$file\n$title"; + close (RFILE); + + chown $uid, $gid, "$spooltmp/$file.ready"; + system ("su $user -c \"mv $spooltmp/$file.ready $spooldir\""); +} +else +{ + unlink("$printdir/$file"); +} diff --git a/x2goserver/bin/x2goresume b/x2goserver/bin/x2goresume new file mode 100755 index 0000000..eb65a5d --- /dev/null +++ b/x2goserver/bin/x2goresume @@ -0,0 +1,31 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $client=shift or die; +my $sid=shift or die; + +db_resume($client, $sid); diff --git a/x2goserver/bin/x2goresume-session b/x2goserver/bin/x2goresume-session new file mode 100755 index 0000000..25e7832 --- /dev/null +++ b/x2goserver/bin/x2goresume-session @@ -0,0 +1,91 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +SESSION_NAME=$1 +X2GO_GEOMETRY=$2 +X2GO_LINK=$3 +X2GO_PACK=$4 +X2GO_KBD_LAYOUT=$5 +X2GO_KBD_TYPE=$6 +X2GO_SET_KBD=$7 + + + +X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` + + +X2GO_ROOT=${HOME}/.x2go +X2GO_RESIZE=0 +X2GO_FULLSCREEN=0 + +if [ "$X2GO_GEOMETRY" == "" ] +then + X2GO_GEOMETRY=fullscreen +fi + +if [ "$X2GO_GEOMETRY" == "fullscreen" ] +then + X2GO_RESIZE=1 + X2GO_FULLSCREEN=1 +fi + +SESSION_DIR=${X2GO_ROOT}/C-${SESSION_NAME} +OPTIONS=`cat ${SESSION_DIR}/options` + +GSTR=`echo "$OPTIONS" | awk -F, {'print $13'}` +RSTR=`echo "$OPTIONS" | awk -F, {'print $14'}` +FSTR=`echo "$OPTIONS" | awk -F, {'print $15'}` +LSTR=`echo "$OPTIONS" | awk -F, {'print $2'}` +PSTR=`echo "$OPTIONS" | awk -F, {'print $3'}` +KTSTR=`echo "$OPTIONS" | awk -F, {'print $12'}` + + +KTSTR=`echo $KTSTR | sed "s/\//\\\\\\\\\//"` +X2GO_KBD_TYPE=`echo $X2GO_KBD_TYPE | sed "s/\//\\\\\\\\\//"` + +if [ "$X2GO_SET_KBD" == "0" ] +then + X2GO_KBD_TYPE="null\/null" +fi + +NEWOPTIONS=`echo "$OPTIONS" | sed -e "s/$LSTR/link=$X2GO_LINK/"\ + -e "s/$PSTR/pack=$X2GO_PACK/"\ + -e "s/$KTSTR/kbtype=$X2GO_KBD_TYPE/"\ + -e "s/$GSTR/geometry=$X2GO_GEOMETRY/"\ + -e "s/$RSTR/resize=$X2GO_RESIZE/"\ + -e "s/$FSTR/fullscreen=$X2GO_FULLSCREEN/"` + + +#echo -e "old options:$OPTIONS\n\nnew options:$NEWOPTIONS" + + +X2GO_CLIENT=`echo $SSH_CLIENT | awk '{print $1}'` +if [ "$X2GO_CLIENT" == "" ] +then + X2GO_CLIENT=$HOSTNAME +fi + +echo "$NEWOPTIONS" >${SESSION_DIR}/options + +x2goresume $X2GO_CLIENT $SESSION_NAME > /dev/null + +kill -HUP $X2GO_AGENT_PID diff --git a/x2goruncommand b/x2goserver/bin/x2goruncommand similarity index 70% rename from x2goruncommand rename to x2goserver/bin/x2goruncommand index 4c44833..b639774 100755 --- a/x2goruncommand +++ b/x2goserver/bin/x2goruncommand @@ -1,5 +1,25 @@ #!/bin/bash +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + DISPLAY=":$1" X2GO_AGENT_PID=$2 X2GO_SESSION=$3 @@ -114,4 +134,4 @@ fi kill -TERM $X2GO_AGENT_PID x2gochangestatus 'F' $X2GO_SESSION > /dev/null export HOSTNAME -x2goumount_session $X2GO_SESSION +x2goumount-session $X2GO_SESSION diff --git a/x2goserver/bin/x2gosessionlimit b/x2goserver/bin/x2gosessionlimit new file mode 100755 index 0000000..36b275c --- /dev/null +++ b/x2goserver/bin/x2gosessionlimit @@ -0,0 +1,97 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; +use Config::Simple; + +my $maxlimit=0; +my $Config = new Config::Simple(syntax=>'ini'); +$Config->read('/etc/x2go/x2goserver.conf' ); + +sub getGroupLimit +{ + my $group=shift; + my $strlimit=$Config->param("limit groups.$group"); + if($strlimit ne "") + { + if($strlimit == 0) + { + print "0\n"; + exit 0; + } + if($strlimit > $maxlimit) + { + $maxlimit=$strlimit; + } + } +} + +my $uname; +$uname=getpwuid($<); + +my $runningsessions=`x2golistsessions --all-servers`; +my @sessions=split("\n",$runningsessions); +my $scount=@sessions; + +my $strlimit=$Config->param("limit users.$uname"); + +if($strlimit ne "") +{ + if($strlimit == 0) + { + print "0\n"; + exit 0; + } + if($strlimit <= $scount) + { + print "$strlimit\n"; + exit 0; + } + print "$strlimit\n"; + exit 0; +} + + +my ($name, $pass, $uid, $pgid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($uname); + +while (my ($name, $passwd, $gid, $members) = getgrent()) +{ + if( $pgid eq $gid) + { + getGroupLimit $name; + } + my @memebers=split(" ",$members); + foreach my $member (@memebers) + { + if($uname eq $member ) + { + getGroupLimit $name; + } + } +} + +if($maxlimit <= $scount) +{ + print "$maxlimit\n"; + exit 0; +} +print "$maxlimit\n"; diff --git a/x2goserver/bin/x2goshowblocks b/x2goserver/bin/x2goshowblocks new file mode 100755 index 0000000..ad64f65 --- /dev/null +++ b/x2goserver/bin/x2goshowblocks @@ -0,0 +1,37 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + + +my $uname=shift; +my $id=shift; +my $tbl="mounts"; +my @outp=dbsys_getmounts( $id); +for(my $i=0;$i<@outp;$i++) +{ + my $path=(split("\\|",@outp[$i]))[1]; + print `su $uname -c "lsof 2>/dev/null | grep $path"`; +} diff --git a/x2gosqlitewrapper b/x2goserver/bin/x2gosqlitewrapper similarity index 90% rename from x2gosqlitewrapper rename to x2goserver/bin/x2gosqlitewrapper index 6747caa..9cbf663 100755 --- a/x2gosqlitewrapper +++ b/x2goserver/bin/x2gosqlitewrapper @@ -1,5 +1,25 @@ #!/usr/bin/perl +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + use strict; use DBI; diff --git a/x2gostartagent b/x2goserver/bin/x2gostartagent similarity index 87% rename from x2gostartagent rename to x2goserver/bin/x2gostartagent index 2883fe7..ff19983 100755 --- a/x2gostartagent +++ b/x2goserver/bin/x2gostartagent @@ -1,5 +1,25 @@ #!/bin/bash +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + X2GO_PORT=49 #First port for X2GO=50 SSH_PORT=30000 #First ssh port 30001 diff --git a/x2goserver/bin/x2gosuspend-agent b/x2goserver/bin/x2gosuspend-agent new file mode 100755 index 0000000..9ca6d4f --- /dev/null +++ b/x2goserver/bin/x2gosuspend-agent @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +shift; +shift; +shift; + +my $capt=shift; +my @words=split(" ",$capt); + +system("/usr/bin/x2gosuspend-session @words[2] > /dev/null"); \ No newline at end of file diff --git a/x2goserver/bin/x2gosuspend-session b/x2goserver/bin/x2gosuspend-session new file mode 100755 index 0000000..1f4084c --- /dev/null +++ b/x2goserver/bin/x2gosuspend-session @@ -0,0 +1,43 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +if [ $# -eq 1 ]; then + SESSION_NAME=$1 +else + SESSION_NAME=$X2GO_SESSION +fi + + +X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` +X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}` + + +#workaround for knotify +killall -HUP knotify + +x2gochangestatus 'S' $SESSION_NAME > /dev/null + + +kill -HUP $X2GO_AGENT_PID + +export HOSTNAME +x2goumount-session $SESSION_NAME diff --git a/x2goserver/bin/x2goterminate b/x2goserver/bin/x2goterminate new file mode 100755 index 0000000..125d228 --- /dev/null +++ b/x2goserver/bin/x2goterminate @@ -0,0 +1,30 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; +my $proc=shift; + +my @outp=split(",","$proc"); +for(my $i=0;$i<@outp;$i++) +{ + system("kill @outp[$i]"); +} diff --git a/x2goserver/bin/x2goterminate-session b/x2goserver/bin/x2goterminate-session new file mode 100755 index 0000000..989e272 --- /dev/null +++ b/x2goserver/bin/x2goterminate-session @@ -0,0 +1,36 @@ +#!/bin/bash + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +if [ $# -eq 1 ]; then + SESSION_NAME=$1 +else + SESSION_NAME=$X2GO_SESSION +fi + +X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` +X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}` + +x2gochangestatus 'F' $SESSION_NAME > /dev/null + +kill -TERM $X2GO_AGENT_PID +export HOSTNAME +x2goumount-session $SESSION_NAME diff --git a/x2goserver/bin/x2goumount b/x2goserver/bin/x2goumount new file mode 100755 index 0000000..7d160f2 --- /dev/null +++ b/x2goserver/bin/x2goumount @@ -0,0 +1,62 @@ +#!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + +use strict; + +use lib "/usr/lib/x2go"; +use x2godbwrapper; + +my $fname=shift; +open(F,"<$fname") or die "can't open $fname"; +my $dir=<F>; +my $session=<F>; +close(F); + +$session=~s/\n//; + +chomp($dir); +my $uname=$ENV{'USER'}; + +my $use_zenity=0; + +if($ENV{'GNOME_DESKTOP_SESSION_ID'} ne "") +{ + $use_zenity=1; +} + +if(system( "fusermount -u $dir" ) == 0) +{ + unlink($fname); + db_deletemount( $session, $dir); + rmdir ($dir); +} +else +{ + if($use_zenity == 0) + { + system("kdialog --error \"Can't umount:\n $dir\"&"); + } + else + { + system("zenity --error --text \"Can't umount:\n $dir\"&"); + } +} diff --git a/x2goumount_session b/x2goserver/bin/x2goumount-session similarity index 68% rename from x2goumount_session rename to x2goserver/bin/x2goumount-session index 3b73702..92228a6 100755 --- a/x2goumount_session +++ b/x2goserver/bin/x2goumount-session @@ -1,4 +1,25 @@ #!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + use Sys::Hostname; use strict; @@ -24,9 +45,6 @@ if($only_path) my $display=db_getdisplay($session); - -print "DISPLAY=$display\n"; - my @outp=db_getmounts($session); my $i; diff --git a/x2goserver/bin/x2goumount_session b/x2goserver/bin/x2goumount_session new file mode 120000 index 0000000..b33a4dc --- /dev/null +++ b/x2goserver/bin/x2goumount_session @@ -0,0 +1 @@ +x2goumount-session \ No newline at end of file diff --git a/x2goserver.conf b/x2goserver/etc/x2goserver.conf similarity index 100% rename from x2goserver.conf rename to x2goserver/etc/x2goserver.conf diff --git a/sql b/x2goserver/etc/x2gosql/sql similarity index 100% rename from sql rename to x2goserver/etc/x2gosql/sql diff --git a/x2goserver/lib/a.out b/x2goserver/lib/a.out new file mode 100755 index 0000000..af8f40e Binary files /dev/null and b/x2goserver/lib/a.out differ diff --git a/x2goserver/lib/setuidwrapper.c b/x2goserver/lib/setuidwrapper.c new file mode 100644 index 0000000..9280cdc --- /dev/null +++ b/x2goserver/lib/setuidwrapper.c @@ -0,0 +1,12 @@ +#include <unistd.h> +#include <stdio.h> + +#define myfile "test.py" + +main(argc, argv) +char **argv; +{ + setuid(0); + seteuid(0); + execv(myfile, argv); +} diff --git a/x2goserver/lib/test.py b/x2goserver/lib/test.py new file mode 100755 index 0000000..7eea6e3 --- /dev/null +++ b/x2goserver/lib/test.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python + +import os +import time + +print os.geteuid() +print os.getegid() + +time.sleep(1000) diff --git a/x2godbwrapper.pm b/x2goserver/lib/x2godbwrapper.pm similarity index 94% rename from x2godbwrapper.pm rename to x2goserver/lib/x2godbwrapper.pm index 4312cf0..be84bc8 100644 --- a/x2godbwrapper.pm +++ b/x2goserver/lib/x2godbwrapper.pm @@ -1,3 +1,23 @@ +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + package x2godbwrapper; use strict; diff --git a/x2goserver/man/man8/x2gocleansessions.8 b/x2goserver/man/man8/x2gocleansessions.8 new file mode 100644 index 0000000..93e9b0d --- /dev/null +++ b/x2goserver/man/man8/x2gocleansessions.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2gocleansessions 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2gocleansessions \- X2go Server Cleanup Daemon +.SH SYNOPSIS +'nh +.fi +.ad l +x2gocleansessions + +.SH DESCRIPTION +\fBx2gocleansessions\fR is run as a service on X2go servers to handle the cleanup of stale sessions. +.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/man/man8/x2golistsessions.8 b/x2goserver/man/man8/x2golistsessions.8 new file mode 100644 index 0000000..54f85b3 --- /dev/null +++ b/x2goserver/man/man8/x2golistsessions.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2golistsessions 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2golistsessions \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2golistsessions + +.SH DESCRIPTION +\fBx2golistsessions\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2gomountdirs.8 b/x2goserver/man/man8/x2gomountdirs.8 new file mode 100644 index 0000000..fec5c97 --- /dev/null +++ b/x2goserver/man/man8/x2gomountdirs.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2gomountdirs 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2gomountdirs \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2gomountdirs + +.SH DESCRIPTION +\fBx2gomountdirs\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goprint.8 b/x2goserver/man/man8/x2goprint.8 new file mode 100644 index 0000000..542aa2c --- /dev/null +++ b/x2goserver/man/man8/x2goprint.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goprint 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goprint \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2goprint + +.SH DESCRIPTION +\fBx2goprint\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goresume-session.8 b/x2goserver/man/man8/x2goresume-session.8 new file mode 100644 index 0000000..f18f421 --- /dev/null +++ b/x2goserver/man/man8/x2goresume-session.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goresume-session 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goresume-session \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2goresume-session + +.SH DESCRIPTION +\fBx2goresume-session\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goruncommand.8 b/x2goserver/man/man8/x2goruncommand.8 new file mode 100644 index 0000000..370d907 --- /dev/null +++ b/x2goserver/man/man8/x2goruncommand.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goruncommand 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goruncommand \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2goruncommand + +.SH DESCRIPTION +\fBx2goruncommand\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2gostartagent.8 b/x2goserver/man/man8/x2gostartagent.8 new file mode 100644 index 0000000..6a84a72 --- /dev/null +++ b/x2goserver/man/man8/x2gostartagent.8 @@ -0,0 +1,35 @@ +'\" -*- 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 x2gostartagent 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2gostartagent \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2gostartagent <geometry> <link-quality> <nx-pack-meth> <cache-type+dpi> <kblayout> <kbtype> <setkbd> <session-type> <command> + +.SH DESCRIPTION +\fBx2gostartagent\fR is a script that coordinates the startup process of new X2go sessions. +It expects quite a list of parameters, all of which are obligatory. +.SH RETURN VALUES +A list of parameters will be returned after a successful session startup. Each value will be presented on +a new line: + + \fB<X-display-number>\fR + \fB<session-cookie-hash>\fR + \fB<x2goagent-pid>\fR + \fB<session-name>\fR + \fB<graphics-port>\fR + \fB<sound-port>\fR + \fB<sshfs-port>\fR + +.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/man/man8/x2gosuspend-session.8 b/x2goserver/man/man8/x2gosuspend-session.8 new file mode 100644 index 0000000..ec4aa2c --- /dev/null +++ b/x2goserver/man/man8/x2gosuspend-session.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2gosuspend-session 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2gosuspend-session \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2gosuspend-session + +.SH DESCRIPTION +\fBx2gosuspend-session\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goterminate-session.8 b/x2goserver/man/man8/x2goterminate-session.8 new file mode 100644 index 0000000..2bfcce8 --- /dev/null +++ b/x2goserver/man/man8/x2goterminate-session.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goterminate-session 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goterminate-session \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2goterminate-session + +.SH DESCRIPTION +\fBx2goterminate-session\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goumount-session.8 b/x2goserver/man/man8/x2goumount-session.8 new file mode 100644 index 0000000..bdf226c --- /dev/null +++ b/x2goserver/man/man8/x2goumount-session.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goumount-session 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goumount-session \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +\fBx2goumount-session\fR + +.SH DESCRIPTION +\fBx2goumount-session\fR is one of many scripts belonging to X2go Server. +.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/man/man8/x2goumount.8 b/x2goserver/man/man8/x2goumount.8 new file mode 100644 index 0000000..99bd655 --- /dev/null +++ b/x2goserver/man/man8/x2goumount.8 @@ -0,0 +1,22 @@ +'\" -*- 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 x2goumount 8 "18 May 2011" "Version 3.0.99.x" "X2go Server Tool" +.SH NAME +x2goumount \- X2go Server Script +.SH SYNOPSIS +'nh +.fi +.ad l +x2goumount + +.SH DESCRIPTION +\fBx2goumount\fR is one of many scripts belonging to X2go Server. +.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/x2gocleansessions b/x2goserver/sbin/x2gocleansessions similarity index 65% rename from x2gocleansessions rename to x2goserver/sbin/x2gocleansessions index 373326d..14c38ac 100755 --- a/x2gocleansessions +++ b/x2goserver/sbin/x2gocleansessions @@ -1,4 +1,25 @@ #!/usr/bin/perl + +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + use Sys::Hostname; use strict; @@ -78,14 +99,14 @@ elsif ($pid == 0 ) { #print "@sinfo[1], is blocked\n"; #print "(@sinfo[1])Unmounting all shares\n"; - system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount_session @sinfo[1]\" 2> /dev/null"); + system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount-session @sinfo[1]\" 2> /dev/null"); } elsif(! check_pid (@sinfo[0],@sinfo[1],@sinfo[12])) { system("su @sinfo[11] -c \"x2gochangestatus 'F' @sinfo[1] \" > /dev/null"); #print "@sinfo[1], pid @sinfo[0] not exist, changing status from @sinfo[4] to F\n"; #print "(@sinfo[1])Unmounting all shares\n"; - system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount_session @sinfo[1]\" 2> /dev/null"); + system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount-session @sinfo[1]\" 2> /dev/null"); } else { @@ -96,7 +117,7 @@ elsif ($pid == 0 ) system("su @sinfo[11] -c \"x2gochangestatus 'S' @sinfo[1] \" > /dev/null"); #print "@sinfo[1], is suspended, changing status from @sinfo[4] to S\n"; #print "(@sinfo[1])Unmounting all shares\n"; - system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount_session @sinfo[1]\" 2> /dev/null"); + system( "su @sinfo[11] -c \"export HOSTNAME && x2goumount-session @sinfo[1]\" 2> /dev/null"); } } } diff --git a/x2godbadmin b/x2goserver/sbin/x2godbadmin similarity index 94% rename from x2godbadmin rename to x2goserver/sbin/x2godbadmin index ccb1bdf..7dc98b6 100755 --- a/x2godbadmin +++ b/x2goserver/sbin/x2godbadmin @@ -1,5 +1,25 @@ #!/usr/bin/perl +# Copyright (C) 2007-2011 X2go Project - http://wiki.x2go.org +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the +# Free Software Foundation, Inc., +# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. +# +# Copyright (C) 2007-2011 Oleksandr Shneyder <oleksandr.shneyder@obviously-nice.de> +# Copyright (C) 2007-2011 Heinz-Markus Graesing <heinz-m.graesing@obviously-nice.de> + use strict; use Getopt::Long; diff --git a/x2goserver/share/x2go/versions/VERSION.x2goserver b/x2goserver/share/x2go/versions/VERSION.x2goserver new file mode 120000 index 0000000..fc1b443 --- /dev/null +++ b/x2goserver/share/x2go/versions/VERSION.x2goserver @@ -0,0 +1 @@ +../../../VERSION.x2goserver \ No newline at end of file diff --git a/x2gosessionlimit b/x2gosessionlimit deleted file mode 100755 index 8182e2d..0000000 --- a/x2gosessionlimit +++ /dev/null @@ -1,77 +0,0 @@ -#!/usr/bin/perl - -use strict; -use Config::Simple; - -my $maxlimit=0; -my $Config = new Config::Simple(syntax=>'ini'); -$Config->read('/etc/x2go/x2goserver.conf' ); - -sub getGroupLimit -{ - my $group=shift; - my $strlimit=$Config->param("limit groups.$group"); - if($strlimit ne "") - { - if($strlimit == 0) - { - print "0\n"; - exit 0; - } - if($strlimit > $maxlimit) - { - $maxlimit=$strlimit; - } - } -} - -my $uname; -$uname=getpwuid($<); - -my $runningsessions=`x2golistsessions --all-servers`; -my @sessions=split("\n",$runningsessions); -my $scount=@sessions; - -my $strlimit=$Config->param("limit users.$uname"); - -if($strlimit ne "") -{ - if($strlimit == 0) - { - print "0\n"; - exit 0; - } - if($strlimit <= $scount) - { - print "$strlimit\n"; - exit 0; - } - print "$strlimit\n"; - exit 0; -} - - -my ($name, $pass, $uid, $pgid, $quota, $comment, $gcos, $dir, $shell, $expire) = getpwnam($uname); - -while (my ($name, $passwd, $gid, $members) = getgrent()) -{ - if( $pgid eq $gid) - { - getGroupLimit $name; - } - my @memebers=split(" ",$members); - foreach my $member (@memebers) - { - if($uname eq $member ) - { - getGroupLimit $name; - } - } -} - -if($maxlimit <= $scount) -{ - print "$maxlimit\n"; - exit 0; -} -print "$maxlimit\n"; diff --git a/x2goshowblocks b/x2goshowblocks deleted file mode 100755 index 911ef48..0000000 --- a/x2goshowblocks +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/perl -use strict; - - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - - -my $uname=shift; -my $id=shift; -my $tbl="mounts"; -my @outp=dbsys_getmounts( $id); -for(my $i=0;$i<@outp;$i++) -{ - my $path=(split("\\|",@outp[$i]))[1]; - print `su $uname -c "lsof 2>/dev/null | grep $path"`; -} diff --git a/x2gosuspend-agent b/x2gosuspend-agent deleted file mode 100755 index 95219b7..0000000 --- a/x2gosuspend-agent +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/perl - -shift; -shift; -shift; - -my $capt=shift; -my @words=split(" ",$capt); - -system("/usr/bin/x2gosuspend-session @words[2] > /dev/null"); \ No newline at end of file diff --git a/x2gosuspend-session b/x2gosuspend-session deleted file mode 100755 index 4e29188..0000000 --- a/x2gosuspend-session +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/bash - -if [ $# -eq 1 ]; then - SESSION_NAME=$1 -else - SESSION_NAME=$X2GO_SESSION -fi - - -X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` -X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}` - - -#workaround for knotify -killall -HUP knotify - -x2gochangestatus 'S' $SESSION_NAME > /dev/null - - -kill -HUP $X2GO_AGENT_PID - -export HOSTNAME -x2goumount_session $SESSION_NAME diff --git a/x2goterminate b/x2goterminate deleted file mode 100755 index 1b10033..0000000 --- a/x2goterminate +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/perl -use strict; -my $proc=shift; - -my @outp=split(",","$proc"); -for(my $i=0;$i<@outp;$i++) -{ - system("kill @outp[$i]"); -} diff --git a/x2goterminate-session b/x2goterminate-session deleted file mode 100755 index 0b4f83a..0000000 --- a/x2goterminate-session +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -if [ $# -eq 1 ]; then - SESSION_NAME=$1 -else - SESSION_NAME=$X2GO_SESSION -fi - -X2GO_AGENT_PID=`x2gogetagent $SESSION_NAME` -X2GO_AGENT_PID=`echo "$X2GO_AGENT_PID"| awk {'print $1'}` - -x2gochangestatus 'F' $SESSION_NAME > /dev/null - -kill -TERM $X2GO_AGENT_PID -export HOSTNAME -x2goumount_session $SESSION_NAME diff --git a/x2goumount b/x2goumount deleted file mode 100755 index c24fbeb..0000000 --- a/x2goumount +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/perl -use strict; - -use lib "/usr/lib/x2go"; -use x2godbwrapper; - -my $fname=shift; -open(F,"<$fname") or die "can't open $fname"; -my $dir=<F>; -my $session=<F>; -close(F); - -$session=~s/\n//; - -chomp($dir); -my $uname=$ENV{'USER'}; - -my $use_zenity=0; - -if($ENV{'GNOME_DESKTOP_SESSION_ID'} ne "") -{ - $use_zenity=1; -} - -if(system( "fusermount -u $dir" ) == 0) -{ - unlink($fname); - db_deletemount( $session, $dir); - rmdir ($dir); -} -else -{ - if($use_zenity == 0) - { - system("kdialog --error \"Can't umount:\n $dir\"&"); - } - else - { - system("zenity --error --text \"Can't umount:\n $dir\"&"); - } -} 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).