[X2go-Commits] x2gothinclient.git - master (branch) updated: 11ceb91adb40f102f7c14651aa009cb4699c271a

X2go dev team git-admin at x2go.org
Tue Jun 28 23:01:58 CEST 2011


The branch, master has been updated
       via  11ceb91adb40f102f7c14651aa009cb4699c271a (commit)
       via  b4f74da305a0abd7a6beeedc15502a9bfa6afdf5 (commit)
       via  c1611ea520a29eaf6db280cdcc0117046046fa1f (commit)
       via  4ff01d83653fb0f2d134d0785ec82c14ebcc716d (commit)
       via  7b885782f35dc55590c24999cf38ca0b693eb75f (commit)
       via  13078d54c13c34cebc8efc1f4265fc005930dadc (commit)
       via  eca2aae1a342cd1ec352cd329b216ab28317f629 (commit)
       via  10589b8bb5b1bab7d230dc369ca7c5b021d21c6d (commit)
       via  b08e83263be755335067305f55956ff0f25b97d3 (commit)
       via  578dfcee35b5738b39916a18e289c85490c14c5f (commit)
       via  b992334c44aa715b0480baf8f23d9dec28f760e3 (commit)
       via  414bd8e66fb3351e8eb9740e2e685fac34331a9d (commit)
       via  f6100fbaa0f39bc4ebf0a9ecf2c2db6a964c946b (commit)
       via  d8fa5c17cdfad87bcfe2e5f3e22789fea3b22405 (commit)
       via  f5944186707343eb0f1d3f3bfbc6bed8ef9cb014 (commit)
       via  284cad174446675ddc89c0cbb1582b5ae7b534ac (commit)
       via  1a9afc3154f989d7a772b9952dbf9628a616cf83 (commit)
       via  d0029dc08e1bf5f21236a2e5334e19714e9f5fbd (commit)
       via  198db707b6cbc8186927b1271c4874736ec0c1ad (commit)
       via  4be657b70c79c1d8a26d8b9dd35af5a8bcf5a4c4 (commit)
       via  3a561483e31a0ecf286ddf0be9d1c363a7424d54 (commit)
       via  97b1d86dd6ce2c1468e9c64eea9ffdc97151c373 (commit)
       via  d1cbcc8dc13847527afcaeea5a0fa8704294be87 (commit)
       via  96346a02bfd2104583eb8f8dc4cd96202a92e7a5 (commit)
       via  c20d91f99176aba593b17b68b1f5a4eb8428a7c6 (commit)
       via  322e7b3d13048aea67941e5835705b3343955941 (commit)
       via  69b1de0bd6ebd30fb92664fa44fef1e78d36d6c6 (commit)
       via  fa5b158616c3418dc6a69a10189553bd36f284c3 (commit)
       via  16aadde9b6ab9c5c98b606a6fda17b69898fbd82 (commit)
       via  07c6664caf6078dee45a4f2afd5fdcfea09b4e74 (commit)
       via  be09152b2a9e65414fa35984b5394c4efaefade8 (commit)
       via  b2d04cc362bb21d6f45133514730d0e7d1fd10ad (commit)
       via  84ad9fa519f3bbc1403b08fb30a9b5cfbbd70aff (commit)
       via  2a22fb2f2ad3bba355c09898ead028bacbca9cab (commit)
       via  8ec5bf76b8fa27cba160a07348c186ef681e2cba (commit)
       via  ce33b5a5baade0b58bf6157a63da573f7927576c (commit)
       via  ba3b46bafd54a5b9bcc8c63dccd8f970abbf7723 (commit)
       via  7a544b63e9c5391cfd24abfb87def4163f0800cc (commit)
       via  82acdcc105cb83b87695827e58984be718be7a58 (commit)
       via  62c0e9e6a4c7f244379aa1fd90b62ddb1554a7c2 (commit)
       via  aa0c5cc51a00f6621094ca1e9f8718c51cc7d254 (commit)
       via  fec01ed35855bdb6fbb07816bed2eef3ee196198 (commit)
       via  bb210583a41980923bac1032608369449a6c6bd5 (commit)
       via  8b6031bef72e12b3516ef9c169fa7c9c6ab5cdf6 (commit)
       via  75db9d5b6d390f677f892ab10e98c9ababaeef5e (commit)
       via  0dc9c37886f18d23ecab155c8b2035cf8797aa9f (commit)
       via  ca9127b0da95499395f0052d54904f097ff59cee (commit)
       via  f315eb97f34256dc00eeadcfafa30f253a8c228b (commit)
       via  72e7e4ddd25d73412afacbe6489b0db3f7f728f9 (commit)
       via  e8ace387e99645094a91e1d7a72ad8057a099d9f (commit)
       via  644c67dafb490bc6eaa5a4f7a8879cb3c86df548 (commit)
       via  3ff0240b43e1540901a9a500ca653619213ac116 (commit)
       via  96aa9d8380fef27e38d2605cd758a46fdda98313 (commit)
       via  8ec9cae88234569b0f834a6c1879dea3c0b8f81b (commit)
       via  45a6c65af09dd27e9ca1cfb3836031a6d84519fe (commit)
       via  ca8cd81de0ff7d6e62c4dc1a5a6b398356b59332 (commit)
       via  10f4efd4d4f23902df6dd34b3c0e5231b2947f11 (commit)
       via  6a0f93df87a3e2ae3226b1e15d548fc21ecc15a3 (commit)
       via  fc86ce209cf31ff52c0dc7605f48949362c64826 (commit)
       via  90d1bac956ed0e25e0140b535415f3cb975ee71b (commit)
       via  33d3184a8a277cb78a4ec1aed125dc18c0879479 (commit)
       via  1080b9ca2f7faf521482588a661606a72eeecba9 (commit)
       via  e98b4099eee509a4f6a82342c5379a17d8000811 (commit)
       via  2a2f9e47f5b79caf97f1a254b16a66e744f14d9c (commit)
       via  304a08224f4fa5dc1853051ab132a0a4c084ee3f (commit)
       via  261d655f3f6b62f26d7294a1414b9e438d305d39 (commit)
       via  ec34fd1e1301a699c40ff44d43a8599d111237b6 (commit)
       via  fb79f9d73cb057cd6602e72af6d9d565c79d00b7 (commit)
       via  919ee9ad1bfb69dbec7cb09070dcc8ad1c6fd2e8 (commit)
       via  72db0147a5e811c291b5ce6c41138b6b6ea281ca (commit)
       via  42f6f2b19029429abaa7f1d27c232c8de1eaa6d9 (commit)
       via  6ab3922da81c5ad6c2dab38678592453b68e0633 (commit)
       via  4f1417cd507819729a950b055400186e8f326058 (commit)
       via  5a1d9a1be00b058391d4d823cd5245a95fe237fa (commit)
       via  fd3fd2d7ecca7c65575c5b484aad7253f0fb6f2d (commit)
       via  de6dddf64ec19984bd80bc27572ddfb87604b965 (commit)
       via  55111b7a32b8cf1a1b995d89f7d0089a86e5b973 (commit)
       via  2da7759cb428c848fda27f3c67828d05eeefc5a7 (commit)
       via  7992b52390d9e81794d6ccb9dd9443ee6e71b7d4 (commit)
       via  937a6f6fe1ab5a4bcf4db5033062460fbd72a8cf (commit)
       via  8e0fcab2616b0ffee92cb97fd20b76b4dbc7b32d (commit)
       via  441327472572befc730b0395ad4516fbe2a60af0 (commit)
       via  48cbd37d9c227591a1bc388158e45360d467e455 (commit)
       via  d851c46a9bbe8a09168af9bddfd12279b63b1030 (commit)
       via  9c5202c8878f84a5fd67072cdab03b6000950dd0 (commit)
       via  a73ca1c96bf1e7af90704171042244a061be7a0b (commit)
       via  8e5f7b092d9f65762ed183ef7d4b3198f0737aaa (commit)
       via  2fb612b7258315baaf58068aae05280afb5a22c5 (commit)
       via  f70bad03f065f3fcb01f96452c10a8c04f0a2dd2 (commit)
       via  eaeef900476b119119079a9b139876a5a26949d5 (commit)
       via  cce24ec7828001e247f8aab587a47d06c73d7e04 (commit)
       via  f2760ddbaef8274dfbaf18f334970d7e570c7f13 (commit)
       via  45722da63434d6260202ed912c536aa5e57a3dcc (commit)
       via  2cb1e203db1f294ce4c118b1491de595920497ac (commit)
       via  06ae89d8cc853854b63462ae7dbd9dd0a8d7fd28 (commit)
       via  8cde03633d1889b91e7a54a9153c5f9b127b624a (commit)
       via  be04e12078c7ad4fcd23313f06dd9fd074a16287 (commit)
       via  c5fae6762953bf4a2f877140729d85a832135d80 (commit)
       via  e295423112348abbb32f0aca6f8f86781730b6bb (commit)
       via  47f50b0f63fdf80f9202746527b3e5ac34f4482a (commit)
       via  35d058668612916def204d28ef9cb99e318068c1 (commit)
       via  28484ddc8bd54467525d5ec63f06c65c24727e23 (commit)
       via  05a628a7eb4d358b76c305623980069787a3f02b (commit)
       via  2fe741d8956eb31f95990aab24811e31e5e7d0d0 (commit)
       via  15b9cbea3efc85fab1722089c66eb5f6fdf0b113 (commit)
       via  4478b3d160ab4cf28880edd6f28ee948e8fdbdd9 (commit)
       via  193a9c3e43c6d86337e0ee33474f843e795cdbfc (commit)
       via  faaa222700d646ce4ab90f8ba105d2962bb5fff2 (commit)
       via  934d7dd2a539a5740089813c3395745101709dbe (commit)
       via  e528cf69317b48947f6578671205bff9be375f76 (commit)
       via  ccd4d0750ae345ed7e478d03be333e4a8fe9e155 (commit)
       via  7df9e9029f6458c7f53024e701ad046e649bc4b3 (commit)
       via  5e8d0725b5a8ad778946d3f8ef0675d170b4fa96 (commit)
       via  9fe99d85be83cfe890dddefa9d02c965962bbab9 (commit)
       via  dcb780ed7aa01d3eaffc41a848c68e28eb6004cb (commit)
       via  b6274c1257ec533cebad8c9bafde80413ad6ab99 (commit)
       via  c481af406b7b0bd33353fcb9c68dc2e2f5abecc0 (commit)
       via  f254051d064897dd862ab047c53a5a2c3e70b13c (commit)
       via  53fd4ce522b238c1e2544197e1cc6dbe05e6b51d (commit)
       via  189aae49c274a1464d797d957a2510abafef1ff1 (commit)
       via  e63048c6caf1fe563c31b21a10f832810ed6fd1d (commit)
       via  6bbb95b75dc25fc71cb24fa9f734f42c738b8ab8 (commit)
       via  d48d34766dc5d97450fc8660ea338cfe110c8d6c (commit)
       via  a9b47e3e9e0c1376c35c4e484fa538026e86aa33 (commit)
       via  1055006ad2835c22841502cfe0b4992d79311742 (commit)
       via  96887491bf7f84807d4c8a5a875c7b20b26ba4b5 (commit)
       via  27bcfdc31fd4891f0859732a90a753f324eaba0a (commit)
       via  4334ed1ce0d6487634410ea720e030902f6fd5b7 (commit)
       via  0e993a939eb7b47c502ce8bffc788c56361b6a3b (commit)
       via  4e499becd2af90fce95a09f601d986e71c0a96a7 (commit)
       via  16bb53b7395fe51147fdfbe79c26512032ca5612 (commit)
       via  a43d96061286569b7bc214950abdc312744b9f60 (commit)
       via  a76cd757dc6e10452377a830a14fa74a9ba523c3 (commit)
       via  22325b39c43a9df54906e6c7e80321d7c1a2cdb2 (commit)
       via  02e38b06ee129588b28963f33e7814f3bc5ec988 (commit)
       via  6e83d3ca96324021af8a1a1b2ad8866bc8b92086 (commit)
       via  b1b64945036b8322e0608093a71fd059949e8d7a (commit)
       via  b1a0738067efc538870a1696bf7f8d985578f848 (commit)
       via  fedd45bfb8278e72630ed52c1e485c952786e8c0 (commit)
       via  51053f2da0eb6a41f2e58fb94c3fd18b1b5c4ff5 (commit)
       via  7374be155b5f3dbe1ab713cd518fee55ac9cdee6 (commit)
       via  01a4ba6b130afc00d8830b9a5e7cfc5867fe35de (commit)
       via  26c17842d2e20f2f471e6c04b831330e04fd15ec (commit)
       via  0ce0604e58e3cd6db76438e24075ef75b70a1f91 (commit)
       via  540dfed72cfbbf581b269bd77ceab3110d23ed34 (commit)
       via  b478097d72664fc1b222551380cb54ece3656ce8 (commit)
       via  5fea2396580331431ea0e20b833df82ded258dc6 (commit)
       via  53a13ce9dc7c370075da0fcfb69e02100753a3a6 (commit)
       via  d082a32c08c58fa93124be390b9a872334e6397d (commit)
       via  839ba4a2b7cbd07daec78bf6e1a023f45b365c9c (commit)
       via  9e40ae30f5035271ecca75577af09cbd360837cc (commit)
       via  adae8ad589d466f2338c66fe2492d36a35643360 (commit)
       via  bb0bc4b9db28a8afd5294a35609a4301c1f5d80c (commit)
       via  9f6ecffb8133d6400ce8f35c17510b287995f421 (commit)
       via  c6702882358a8aa9213fa1b9f8daff9c27f78e7c (commit)
       via  578ef8046087236b7ead09096c961af25e741529 (commit)
       via  4e56d5498b09d0aa2a23bb737988e1c2890e3b82 (commit)
       via  978f4b45d8e4cb601da71d245942bbc306ba97ae (commit)
       via  61eb373f42167da36318213e589ab4993ae666fb (commit)
       via  5cc897f6d78b3307d2881aa1acc6b925a9175192 (commit)
       via  29ff9748897c1177b2e94900b0ba732583447f0b (commit)
       via  1d932a384679bbf851e782facfeb5d04e8afd39f (commit)
       via  c4c19f2215243f3d3b676292940b9e4fd5ef1bc3 (commit)
       via  887cb259e3ef952030fac7d02f04c2b3f9202e9d (commit)
       via  bb5c842b6b7e99252cf89650ab239ddfec20953a (commit)
       via  df3547c45fd3ee91c74ce9a3ce57a3676e7b573c (commit)
       via  6d0ff3a28813fed5e4a76d88f6aecf2603a5d091 (commit)
       via  d7ea5e14d9789f917d63cfba2898573d21168bfd (commit)
       via  e88243577588d396fa90767f2922ac8febbe7b7e (commit)
       via  c920ea1636f0478b8fdb4ecc09c822299457a8de (commit)
       via  5489752b35d9d20390693f5f58c415e318e3cf02 (commit)
       via  1b238e75aa9d531cac01a2d989a0be7acf0ed977 (commit)
       via  70d8a4617e0f36c313adf75c5bf5822dfe0b19b7 (commit)
       via  25947d0a954b7a253692cf83b63aa4a35754c706 (commit)
       via  41f3aba2daa837ca599509210b665b923d1190c1 (commit)
       via  50692ebaf35b38c8f6f1b486b03eebd5429cdd72 (commit)
       via  3432a7d72c2f56acd3d680ecef15477b38c3d54e (commit)
       via  87e99013eb441c27c42744e0a7528dc57d975218 (commit)
       via  62dcfc9f3d923cd7308f57a93d3d12f241a30e46 (commit)
       via  0fd2187815f44213873437c77074bfe957e9dc12 (commit)
       via  177fa998ffa893dae9e78a84536e0239706f81d9 (commit)
       via  05e6a9cc5e9f1bec247744a4eb1e3cb324e87a75 (commit)
       via  b5dc29ad81978c213dd127261070e0f21fd16255 (commit)
       via  60f07c5e068042e4e9bf8b8a8f8ca41b922d9b67 (commit)
       via  dabb3674a1d0485ee7dea02ec12aa17709670335 (commit)
       via  c2c588be202759bba158aa7dd52cd09c5ea15732 (commit)
       via  51ab25d41d1ffd52a9e119a25df60b456ea716a7 (commit)
       via  6ef7eaf9748524e25722795a3999ff997225f280 (commit)
       via  38dca8fd7dc5dd9eb9cd8b876158f56e4099a8dd (commit)
       via  c66a90c7737045a7dfcf8e096e3284b2cd7d242f (commit)
       via  4b70d802791e040dae1801341757d010246ba400 (commit)
       via  989d27160596d1a20b1031bc0e761955d9563ad8 (commit)
       via  a297f5604958fdf2402ed0f67ffa91d143cdc4d0 (commit)
       via  c8d459423fab5162afdda2859f6e4b968a2ba24e (commit)
       via  3d1059fe3328d0f91b7eefc7da30a27fe5b7946d (commit)
       via  7ba081ecbbe2ccf63b387ee0e27f25b251b3e365 (commit)
       via  595b2d0bab1d0e7cd152307102616e14e6fc95f3 (commit)
       via  a86208c7bd371fcf37256d444804414ad3a10dfb (commit)
       via  af5568c5767fdcdd15fee7c2bc4b7cb0bbd04efd (commit)
       via  8ec9548592882490aef41f4b1e67723933e54557 (commit)
       via  ac62bece9ae5f61472cc469d97cc1e75e5a4a431 (commit)
       via  539478012c770114e6829e5bf8bb0b7c491d9739 (commit)
       via  bd6c6ad419b9383f58c38729fac660a7d9bc37a4 (commit)
       via  ff1480c7a7b22a2fc96b4539c1f6532dcee24947 (commit)
       via  c690418a131834adf6edd7fc3a0e5ff861dd715c (commit)
       via  ff0e7e3343e0768c30c9387ef919a00fd44e3dec (commit)
       via  f52533dddf6cca2d6e6d28785787ee7147331260 (commit)
       via  9b37e30d0f6869a5c25aaac438deaf5fd1596b9a (commit)
       via  d089cbc865e38032c5fce667c60ac33cb76c1254 (commit)
       via  a4d8a1fc18cefe86ca52a91ffb2fb3e9510e1146 (commit)
       via  ee5cc679fb46c5363368fb586de3b9ae7f7be2a9 (commit)
       via  b0422f7a748d79bdf358d6dfc9b788e7fd209f06 (commit)
       via  3b21859959e6ca95123ec3d7c53478952e90da0a (commit)
       via  f63a21ae59ab8a2579e8641892f12c698f2d7b53 (commit)
       via  39f590204d655ab18a9aef9c5aae8a60377dc99c (commit)
       via  b5827416ce991b0d51a30f42b2dbdd5984e71d19 (commit)
      from  7907ed1acef2cde530bf24433caa77968f60921c (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:
 README.howto                                       |  194 +++++++--------
 debian/changelog                                   |   66 +++++-
 debian/compat                                      |    2 +-
 debian/control                                     |  211 +++++++++++------
 debian/copyright                                   |   65 +++--
 debian/rules                                       |    7 +-
 debian/source/format                               |    1 +
 debian/x2gocdmanager.init                          |   37 ++-
 debian/x2gocdmanager.install                       |    1 -
 debian/x2gocdmanager.manpages                      |    2 +
 debian/x2gosmartcardrules.install                  |    5 +-
 debian/x2gosmartcardrules.manpages                 |    1 +
 debian/x2gothinclient.dirs                         |    3 +-
 debian/x2gothinclient.examples                     |    1 +
 debian/x2gothinclient.init                         |   39 +++-
 debian/x2gothinclient.install                      |    3 +-
 debian/x2gothinclient.manpages                     |    1 +
 debian/x2gothinclientmanagement.dirs               |    4 +
 debian/x2gothinclientmanagement.docs               |    1 +
 debian/x2gothinclientmanagement.install            |    4 +
 debian/x2gothinclientmanagement.manpages           |    4 +
 debian/x2gothinclientsystem.dirs                   |    1 -
 debian/x2gothinclientsystem.install                |    2 -
 debian/x2gothinshutdown.install                    |    1 +
 debian/x2gothinshutdown.manpages                   |    1 +
 debian/x2gousbmount.install                        |    5 +-
 debian/x2gousbmount.manpages                       |    1 +
 x2gocdmanager/man/x2gocdmanager.8                  |   25 ++
 x2gocdmanager/man/x2goejectcd.1                    |   25 ++
 x2gocdmanager/powerej/eject.cpp                    |    6 +-
 x2gocdmanager/x2gocdmanager                        |  258 +++++++++++---------
 .../{gnupg-ccid.rules => 21-x2gognupgccid.rules}   |    9 +-
 x2gosmartcardrules/man/x2gognupgccid.8             |   25 ++
 x2gosmartcardrules/{gnupg-ccid => x2gognupgccid}   |   13 +-
 x2gothinclient/man/x2gothinclientd.8               |   25 ++
 x2gothinclient/sbin/x2gothinclientd                |  125 ++++++++++
 x2gothinclient/x2gothinclient                      |    4 -
 x2gothinclient/x2gothinclientd                     |   66 -----
 x2gothinclientmanagement/README                    |   33 +++
 .../etc/x2gothinclient_settings                    |   72 ++++++
 .../man/x2gothinclient_cleanup.8                   |   33 +++
 .../man/x2gothinclient_create.8                    |   35 +++
 .../man/x2gothinclient_preptftpboot.8              |   36 +++
 .../man/x2gothinclient_shell.8                     |   31 +++
 .../man/x2gothinclient_update.8                    |   39 +++
 .../man/x2gothinclient_upgrade.8                   |   30 +++
 .../sbin/x2gothinclient_cleanup                    |   76 ++++++
 .../sbin/x2gothinclient_create                     |  181 ++++++++++++++
 .../sbin/x2gothinclient_preptftpboot               |  105 ++++++++
 x2gothinclientmanagement/sbin/x2gothinclient_shell |   85 +++++++
 .../sbin/x2gothinclient_update                     |   69 ++++++
 .../sbin/x2gothinclient_upgrade                    |   74 ++++++
 .../share/tftpboot/default.cfg                     |   30 +++
 .../share/tftpboot/local-boot.cfg                  |   11 +
 .../share/tftpboot/memtest.cfg                     |    3 +
 .../share/tftpboot/pxelinux.cfg/default            |    1 +
 .../share/tftpboot/x2go-splash.png                 |  Bin 0 -> 4314 bytes
 .../share/tftpboot/x2go-tce.cfg                    |    8 +
 x2gothinclientmanagement/share/x2gothinclient_init |   33 +++
 .../share/x2gothinclient_sessions                  |   38 +++
 .../share/x2gothinclient_start                     |   44 ++++
 x2gothinclientsystem/ramdrive                      |   55 ----
 x2gothinclientsystem/x2gothinclient_install.sh     |   50 ----
 x2gothinshutdown/man/thinshutdown.1                |   25 ++
 .../thinshutdown/mb.cpp                            |    0
 .../thinshutdown/mb.h                              |    0
 .../thinshutdown/power-button.png                  |  Bin 742 -> 742 bytes
 .../thinshutdown/resources.rcc                     |    0
 .../thinshutdown/thinshutdown.cpp                  |    6 +-
 .../thinshutdown/thinshutdown.pro                  |    0
 x2gousbmount/61-x2gousbmount.rules                 |    6 +
 x2gousbmount/man/x2gousbmount.8                    |   25 ++
 x2gousbmount/x2gousb-storage                       |   80 ------
 x2gousbmount/x2gousb.rules                         |    6 -
 x2gousbmount/x2gousbmount                          |  124 ++++++++++
 75 files changed, 2058 insertions(+), 630 deletions(-)
 delete mode 100644 debian/docs
 create mode 100644 debian/source/format
 create mode 100644 debian/x2gocdmanager.manpages
 create mode 100644 debian/x2gosmartcardrules.manpages
 create mode 100644 debian/x2gothinclient.examples
 create mode 100644 debian/x2gothinclient.manpages
 create mode 100644 debian/x2gothinclientmanagement.dirs
 create mode 100644 debian/x2gothinclientmanagement.docs
 create mode 100644 debian/x2gothinclientmanagement.install
 create mode 100644 debian/x2gothinclientmanagement.manpages
 delete mode 100644 debian/x2gothinclientsystem.dirs
 delete mode 100644 debian/x2gothinclientsystem.install
 create mode 100644 debian/x2gothinshutdown.install
 create mode 100644 debian/x2gothinshutdown.manpages
 create mode 100644 debian/x2gousbmount.manpages
 create mode 100644 x2gocdmanager/man/x2gocdmanager.8
 create mode 100644 x2gocdmanager/man/x2goejectcd.1
 rename x2gosmartcardrules/{gnupg-ccid.rules => 21-x2gognupgccid.rules} (68%)
 create mode 100644 x2gosmartcardrules/man/x2gognupgccid.8
 rename x2gosmartcardrules/{gnupg-ccid => x2gognupgccid} (85%)
 create mode 100644 x2gothinclient/man/x2gothinclientd.8
 create mode 100755 x2gothinclient/sbin/x2gothinclientd
 delete mode 100644 x2gothinclient/x2gothinclient
 delete mode 100755 x2gothinclient/x2gothinclientd
 create mode 100644 x2gothinclientmanagement/README
 create mode 100644 x2gothinclientmanagement/etc/x2gothinclient_settings
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_cleanup.8
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_create.8
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_preptftpboot.8
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_shell.8
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_update.8
 create mode 100644 x2gothinclientmanagement/man/x2gothinclient_upgrade.8
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_cleanup
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_create
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_preptftpboot
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_shell
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_update
 create mode 100755 x2gothinclientmanagement/sbin/x2gothinclient_upgrade
 create mode 100644 x2gothinclientmanagement/share/tftpboot/default.cfg
 create mode 100644 x2gothinclientmanagement/share/tftpboot/local-boot.cfg
 create mode 100644 x2gothinclientmanagement/share/tftpboot/memtest.cfg
 create mode 120000 x2gothinclientmanagement/share/tftpboot/pxelinux.cfg/default
 create mode 100644 x2gothinclientmanagement/share/tftpboot/x2go-splash.png
 create mode 100644 x2gothinclientmanagement/share/tftpboot/x2go-tce.cfg
 create mode 100755 x2gothinclientmanagement/share/x2gothinclient_init
 create mode 100644 x2gothinclientmanagement/share/x2gothinclient_sessions
 create mode 100755 x2gothinclientmanagement/share/x2gothinclient_start
 delete mode 100755 x2gothinclientsystem/ramdrive
 delete mode 100755 x2gothinclientsystem/x2gothinclient_install.sh
 create mode 100644 x2gothinshutdown/man/thinshutdown.1
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/mb.cpp (100%)
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/mb.h (100%)
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/power-button.png (100%)
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/resources.rcc (100%)
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/thinshutdown.cpp (89%)
 rename {x2gocdmanager => x2gothinshutdown}/thinshutdown/thinshutdown.pro (100%)
 create mode 100644 x2gousbmount/61-x2gousbmount.rules
 create mode 100644 x2gousbmount/man/x2gousbmount.8
 delete mode 100755 x2gousbmount/x2gousb-storage
 delete mode 100644 x2gousbmount/x2gousb.rules
 create mode 100755 x2gousbmount/x2gousbmount

The diff of changes is:
diff --git a/README.howto b/README.howto
index 8672c3c..f2e8f43 100644
--- a/README.howto
+++ b/README.howto
@@ -1,112 +1,94 @@
+X2go Thin Client Environment
+============================
+
+This howto is intended for Debian squeeze (and newer Debian versions)
+
+Server Installation
+-------------------
+(use a separate server or VM for providing thin
+client chroots, do not use your production Samba, LDAP, Apache2 etc. server
+for this!!!)
+
+ $ apt-get install dhcp atftpd nfs-kernel-server debootstrap
+
+
+Installation Thin Client Environment (TCE)
+
+Choose folder for your TCE chroot (e.g. /opt/x2gothinclient)
+
+Install TCE:
+
+ <TODO: REVIEW/FIXME (use aptitude instead of apt-get)>
+ $ debootstrap --arch i386 lenny /opt/x2gothinclient http://ftp.de.debian.org/debian/ 
+ $ cp /etc/resolv.conf /opt/x2gothinclient/etc/
+ $ echo "auto lo
+ $ iface lo inet loopback" >> /opt/x2gothinclient/etc/network/interfaces
+ $ echo x2gothinclient > /opt/x2gothinclient/etc/hostname
+ $ echo "127.0.0.1 localhost" >> /opt/x2gothinclient/etc/hosts
+
+Repeat these steps for any of your X2go servers:
+
+ <TODO: REVIEW/FIXME (use aptitude instead of apt-get)>
+ $ echo "192.168.0.1 x2goserver" >> /opt/x2gothinclient/etc/hosts
+ $ chroot /opt/x2gothinclient/
+ $ echo "deb http://x2go.obviously-nice.de/deb/ lenny main" >> /etc/apt/sources.list
+ $ apt-get update
+ $ apt-get install locales
+ $ dpkg-reconfigure locales
+
+Edit /etc/initramfs-tools/initramfs.conf to boot from NFS:
+
+ <TODO: REVIEW/FIXME (use aptitude instead of apt-get)>
+ $ apt-get install kernel-image-2.6-686 syslinux 
+ $ apt-get install x2gothinclientsystem
+ $ cd /usr/share/x2gothinclientsystem/script/
+ $ ./x2gothinclient_install.sh
+
+After a successful TCE configuration you now can leave the chroot environment:
+
+ $ exit
+
+Server Configuration:
+---------------------
+
+atftpd: (e.g. /etc/default/atftpd)
 
-Serverinstallation
-#apt-get install dhcp atftpd nfs-kernel-server debootstrap
-
-
-Installation Thinclientumgebung(TCU)
-Ordner für TCU wählen zb /opt/x2gothinclient
-TCU installieren:
-#debootstrap --arch i386 lenny /opt/x2gothinclient http://ftp.de.debian.org/debian/ 
-#cp /etc/resolv.conf /opt/x2gothinclient/etc/
-#echo "auto lo
-iface lo inet loopback" >> /opt/x2gothinclient/etc/network/interfaces
-#echo x2gothinclient > /opt/x2gothinclient/etc/hostname
-#echo "127.0.0.1 localhost" >> /opt/x2gothinclient/etc/hosts
-
-Diesen Schritt für jeden X2Goserver wiederholen:
-#echo "192.168.0.1 x2goserver" >> /opt/x2gothinclient/etc/hosts
-#chroot /opt/x2gothinclient/
-#echo "deb http://x2go.obviously-nice.de/deb/ lenny main" >> /etc/apt/sources.list
-#apt-get update
-#apt-get install locales
-#dpkg-reconfigure locales
-
-edit /etc/initramfs-tools/initramfs.conf to boot from NFS
-
-#apt-get install kernel-image-2.6-686 syslinux 
-#apt-get install x2gothinclientsystem
-#cd /usr/share/x2gothinclientsystem/script/
-#./x2gothinclient_install.sh
-
-Überprüfen Sie nun, ob der in der /etx/X11/xorg.conf gewählte Treiber für
-Ihre Grafikkarte einsatzfähig ist. Sollten Sie mehr als ein Thin Client Gerät
-von verschiedenen Herstelelrn haben, sollten Sie darüber nachdenken,
-die Bootumgebung mit verschiedenen möglichen Konfigurationen zu versehen:
-
-Legen Sie für jeden benötigten Treiber eine eigene config Datei an:
-
-/etc/X11/xorg.conf.via
-/etc/X11/xorg.conf.sis
-/etc/X11/xorg.conf.nv
-/etc/X11/xorg.conf.mga
-/etc/X11/xorg.conf.945G
-/etc/X11/xorg.conf.intel
-
-Entfernen Sie (ein Backup der Datei kann unter Umständen sinnvoll sein) die distributionseigene
-xorg.conf:
-
-#rm /etc/X11/xorg.conf
-#ln -sf /ramdrive/xorg.conf /etc/X11/xorg.conf
-
-Damit das System je nach Hardware die richtige xorg Datei findet und interpretiert,
-müssen Sie ein Skript erstellen, welches die Hardware einer bestimmten xorg.conf zuweist:
-Ein Beispiel für ein solches Skript:
-
--8<-----------------------------------------------
-#!/bin/bash
-PATH=/sbin:/bin:/usr/sbin:/usr/bin
-VGAPCISTRING=`lspci | grep VGA | grep CLE266`
-if [ "$VGAPCISTRING" != "" ]
-then
-    ln -s /etc/X11/xorg.conf.via /ramdrive/xorg.conf
-exit
-fi
-VGAPCISTRING=`lspci | grep VGA | grep SiS`
-if [ "$VGAPCISTRING" != "" ]
-then
-    ln -s /etc/X11/xorg.conf.sis /ramdrive/xorg.conf
-exit
-fi
-VGAPCISTRING=`lspci | grep VGA | grep nVidia`
-if [ "$VGAPCISTRING" != "" ]
-then
-    ln -s /etc/X11/xorg.conf.nv /ramdrive/xorg.conf
-exit
--8<-----------------------------------------------
-
-Nach erfolgter Konfiguration können Sie die chroot Umgebung verlassen:
-
-#exit
-
-
-Serverkonfiguration
-
-atftpd:
-Beispiel /etc/default/atftpd:
 ------------------------
 USE_INETD=false
 OPTIONS="--daemon --port 69 --tftpd-timeout 300 --retry-timeout 5     --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=5  /tftpboot"
 ------------------------
-USE_INETD=false - inetd nicht benutzen. So kann man atftpd mit "/etc/init.d/atftpd start|stop" starten und beenden.
-Achtung! Wenn Sie atftpd ohne inetd benutzen möchten, uberprüfen Sie dass kein Tftpserver bei inetd(xinetd) aktiviert.
-Letzte Argument in OPTIONS - Verzeichnis für tftp. Voreinstelung "/tftpboot"
-#mkdir /tftpboot
-
-PXE-Bootkonfiguration
-#cp /opt/x2gothinclient/boot/vmlinuz-* /tftpboot/
-#cp /opt/x2gothinclient/boot/initrd.img-* /tftpboot/
-#ln -s /tftpboot/vmlinuz-* /tftpboot/vmlinuz
-#ln -s /tftpboot/initrd.img-* /tftpboot/initrd.img
-#cp /opt/x2gothinclient/usr/lib/syslinux/pxelinux.0 /tftpboot/
-Beispiel /tftpboot/pxelinux.cfg/default:
+USE_INETD=false
+
+If inetd is not used for aftpd then you can start/stop aftpd with "/etc/init.d/atftpd start|stop".
+
+NOTE! If you intend running aftpd in standalone mode make sure that no other tftpd server is active in inetd/xinetd
+configuration.
+
+The last argv in OPTIONS (s. above) declares the folder for tftp boot. The default is "/tftpboot".
+
+ $ mkdir /tftpboot
+
+PXE boot configuration:
+
+ $ cp /opt/x2gothinclient/boot/vmlinuz-* /tftpboot/
+ $ cp /opt/x2gothinclient/boot/initrd.img-* /tftpboot/
+ $ ln -s /tftpboot/vmlinuz-* /tftpboot/vmlinuz
+ $ ln -s /tftpboot/initrd.img-* /tftpboot/initrd.img
+ $ cp /opt/x2gothinclient/usr/lib/syslinux/pxelinux.0 /tftpboot/
+
+Example: /tftpboot/pxelinux.cfg/default
+
 ---------------------
 label linux
 kernel vmlinuz
 append root=/dev/nfs nfsroot=192.168.0.1:/opt/x2gothinclient ro initrd=initrd.img ip=dhcp
 --------------------
-192.168.0.1 - Adresse von Server wo TCU installiert ist.
 
-dhcp: 
+The given ip address 192.168.0.1 refers to the address of the host that your TCE chroot is installed on.
+
+DHCP: 
+
+<TODO/FIXME (update for DHCP3 server + translate into English)>
 Bestimmen Sie in Datei "/etc/default/dhcp" auf welche Interfaces soll dhcpd laufen.
 Beispiel /etc/dhcpd.conf:
 --------------------
@@ -120,15 +102,19 @@ group
 	filename "/pxelinux.0";
 	next-server 192.168.0.1;
     }
-}																		
+}
 --------------------
 
-nfs:
-Beispiel /etc/exports:
+NFS (/etc/exports):
 --------------------
 /opt/x2gothinclient 192.168.0.0/24(ro,async,no_root_squash)
 --------------------
 
-Bitte nicht vergessen info über X2Go Server in LDAP einspielen
-für jeden Server:
-#ldap.addserver <name> <ip>
+X2go Server in LDAP
+-------------------
+
+Do not forget to store you X2go servers in LDAP. Use
+
+ $ ldap.addserver <name> <ip>
+ 
+to add an X2go server to the LDAP tree.
diff --git a/debian/changelog b/debian/changelog
index 6f8e517..198e082 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,11 +1,73 @@
+x2gothinclient (1.0.1.3-0~x2go1) UNRELEASED; urgency=low
+
+  * Split up x2gocdmanager package into x2gocdmanager and x2gothinshutdown
+    package
+  * Fix USB mounting, CD mounting, 
+  * Improve code layout (tab stops, inline comments)
+  * Add HTTP_PROXY and FTP_PROXY support to x2gothinclientmanagement (APT
+    package download)
+  * Fix for proxy code, env variables are $http_proxy and $ftp_proxy.
+  * Add example files/symlinks for tftpboot environment.
+  * Add syslinux boot splash with X2go flavour.
+  * Remove ssh (=openssh-server) dependency for x2gothinclient package.
+  * Add acpid to x2gothinclient's Recommends: section.
+  * Install 486 and 686 kernels in TCE chroot. 
+  * Add memtest86+ to x2gothinclient's Recommends: section. 
+  * Move PXE tftpboot examples to x2gothinclient/share/tftpboot.
+  * Improval of syslinux boot screen. 
+  * Add x2gothinclient_preptftpboot script.
+  * Add man page for x2gothinclient_preptftpboot.
+  * Do not run management script if there is a problem with the X2go TCE chroot.
+  * X2go TCE management script have to run as root.
+  * Add https_proxy env variable support.
+  * Add x2gothinclient_cleanup script.
+  * Add man page for x2gothinclient_cleanup.
+  * Run x2gothinclient_init from x2gothinclientd init script.
+  * Fix udev rules path in x2gosmartcardrules, improval of udev script, plus man page.
+  * Fix udev rules path in x2gousbmount.
+  * Add comment that names possible boot profiles to tftp config template.
+  * Add midnight commander to Recommends: of x2gothinclient.
+  * Add kernel module blacklisting for x2gothinclient_create.
+  * Tweak mtab diversion on X2go Thin Client to avoid error messages.
+  * Add some more PXE/TFTP info at end of x2gothinclient_pretftpboot script.
+  * Disabled service restarts in chroot.
+  * Add a ,,hit <RETURN> before TCE creation.
+  * Add tmpfs mount for /var/lib/dbus.
+  * More variable ($) escaping in x2gothinclient_* scripts. Fixes start-stop-daemon
+    enable/disable code.
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Sat, 28 May 2011 12:04:34 +0200
+
+x2gothinclient (1.0.1.2-0~x2go1) unstable; urgency=low
+
+  * restructured x2gothinclientmanagement package
+  * x2gothinclientmanagement depends on debootstrap
+  * x2gothinclientmanagement recommends chroot server packages (NFSd, 
+    TFTPd, DHCPd)
+  * moves x2gothinclient_settings to /etc/x2go
+  * adds man pages
+  * renames x2gothinclient_bash to x2gothinclient_shell
+  * introduces TC_SHELL var (and others) in x2goclient_settings
+  * uses pulseaudio instead of artsd
+  * mount point for devices is /media (x2gocdmanager, x2gousbmount)
+  * still non-functional: thinshutdown, CD manager, USB mounts
+
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 03 May 2011 12:56:45 +0200
+
 x2gothinclient (1.0.1.2-0~x2go0) unstable; urgency=low
 
   * changed version numbering scheme
+  * renamed package to x2gothinclient
 
- -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Tue, 22 Mar 2011 00:27:23 +0100
+ -- Mike Gabriel <mike.gabriel at das-netzwerkteam.de>  Thu, 21 Apr 2011 00:20:07 +0200
 
-x2gothinclientsystem (1.0.1-2) unstable; urgency=low
+x2gothinclient (1.0.1-2) unstable; urgency=low
 
+  [Oleksandr Shneyder]
   * changed: in /etc/init.d/ramdrive group users instead staff
 
+  [Mike Gabriel]
+  * the name of this package has changed with 1.0.1.2 so this log entry's package name 
+    had to be manipulated...
+
  -- Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>  Mon, 08 Dec 2008 15:28:29 +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 1730159..a94fe08 100644
--- a/debian/control
+++ b/debian/control
@@ -1,105 +1,178 @@
-Source: x2gothinclientsystem
+Source: x2gothinclient
 Section: admin
 Priority: extra
 Maintainer: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
-Build-Depends: debhelper (>= 5), qt4-qmake, libqt4-dev
-Standards-Version: 3.7.2
+Uploaders:
+ Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+Build-Depends:
+ debhelper (>= 7.0.50~),
+ qt4-qmake,
+ libqt4-dev
+Standards-Version: 3.9.2
+Homepage: http://code.x2go.org/releases/source/x2gothinclient
+Vcs-Git: git://code.x2go.org/x2gothinclient.git
+Vcs-Browser: http://code.x2go.org/gitweb?p=x2gothinclient.git;a=summary
 
-Package: x2gothinclientsystem
+Package: x2gothinclientmanagement
 Architecture: all
-Depends: ${misc:Depends}, x2gothinclient, x2gocdmanager, x2gosmartcardrules, x2gousbmount
-Description: chroot x2go thinclient environment
- 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},
+ debootstrap
+Recommends: 
+ atftpd | tftpd | tftpd-hpa,
+ syslinux,
+ syslinux-themes-debian-squeeze,
+ nfs-kernel-server
+Suggests: 
+ dhcp3-server | dnsmasq | isc-dhcp-server
+Description: Management tools for X2go thin client chroot server
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
  .
- x2gothinclientsystem:
- IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
- (This package is meant to be installed in a CHROOT environment!!!)
- Don't install it using your working installation unless you really
- wan't to loose data and risk a damaged system.
+ x2gothinclientmanagement:
+ -------------------------
+ IMPORTANT: Install this package on the chroot server that
+ provides X2go thin client images over PXE/Etherboot.
+ .
+ For chroot servers we recommend a very separate machine (not
+ your main server on your network) that only serves this purpose.
 
 Package: x2gothinclient
 Architecture: all
-Depends: ${misc:Depends}, psmisc, x2goclient, ssh
+Depends:
+ ${misc:Depends},
+ psmisc,
+ x2goclient,
+ x2gothinshutdown,
+ xauth,
+ xinit,
+ locales
+Recommends:
+ x2gocdmanager,
+ x2gothinshutdown,
+ x2gousbmount,
+ x2gosmartcardrules,
+ vim,
+ mc,
+ acpid,
+ memtest86+
 Description: login daemon starting x2goclient in displaymanager mode
- 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
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
  .
  x2gothinclient:
- IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
+ ---------------
+ IMPORTANT: Use this Package only for the X2go THIN CLIENT ENVIRONMENT
  (This package is meant to be installed in a CHROOT environment!!!)
- x2gothinclient will start x2goclient fullscreen, without window decoration.
- without menue and toolbar but with enabled LDAP support.
- x2goclient will behave like xdm, kdm or gdm.
+ .
+ This package starts x2goclient in fullscreen mode---without window decorations,
+ without menu and toolbar and optionally with enabled LDAP support. The
+ package ships the core X2go thin client daemon that guards over
+ x2goclient functionality.
+ .
+ x2goclient will behave like xdm, kdm or gdm on X2go thin clients.
 
 Package: x2gousbmount
 Architecture: all
-Depends: ${misc:Depends}, udev, cryptsetup
+Depends:
+ ${misc:Depends},
+ udev,
+ cryptsetup
 Description: clientside usb mass-storage device mounting
- 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
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
  .
  x2gousbmount:
+ -------------
  IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
  (This package is meant to be installed in a CHROOT environment!!!)
- Clientside usb mass-storage device mounting using UDEV rules.
+ .
+ This package adds client-side USB mass storage device mounting using 
+ UDEV rules to your X2go thin client.
 
 Package: x2gocdmanager
 Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends},libqt4-gui,lsscsi, eject
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libqt4-gui,
+ lsscsi,
+ eject,
 Description: clientside daemon enabling automatic CD-Rom mounting
- 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
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
  .
  x2gocdmanager:
+ --------------
+ IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
+ (This package is meant to be installed in a CHROOT environment!!!)
+ .
+ This package adds a client-side daemon to your X2go thin client that enables
+ automatic CD-ROM mounting within thin client X2go sessions.
+
+Package: x2gothinshutdown
+Architecture: any
+Depends:
+ ${shlibs:Depends},
+ ${misc:Depends},
+ libqt4-gui,
+Conflicts: 
+ x2gocdmanager (<= 1.0.1.2-0~)
+Description: shutdown button for X2go thin client
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
+ .
+ x2gothinshutdown:
+ --------------
  IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
- (You must have installed x2gothinclientsystem.deb)
- clientside daemon enabling automatic CD-Rom mounting
- using a x2go session.
+ (This package is meant to be installed in a CHROOT environment!!!)
+ .
+ This package provides an on-screen power-off button (Qt4) for shutting 
+ down your X2go thin client.
 
 Package: x2gosmartcardrules
 Architecture: all
-Depends: ${misc:Depends}, udev
+Depends:
+ ${misc:Depends},
+ udev
 Description: UDEV rules for smartcard readers
- 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
+ X2go is a server based computing environment with
+    - session resuming
+    - low bandwith support
+    - LDAP support
+    - client side mass storage mounting support
+    - audio support
+    - authentication by smartcard and USB stick
  .
  x2gosmartcardrules:
+ -------------------
  IMPORTANT: Use this Package only for the x2go THIN CLIENT ENVIRONMENT
  (This package is meant to be installed in a CHROOT environment!!!)
- UDEV rules for smartcard readers (for authentification purpose).
+ .
+ This package provides UDEV rules for smartcard readers (devices that 
+ serve the purpose of ID-card based authentication).
diff --git a/debian/copyright b/debian/copyright
index c09fac6..d3e1836 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -1,38 +1,49 @@
-This package was debianized by Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de> on
-Thu,  10 Dec 2007 18:20:03 +0100.
+This package was debianized by Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de> 
+on Thu,  10 Dec 2007 18:20:03 +0100.
 
-It was downloaded from www.obviously-nice.de
+In 2011 this package has been updated and heavily reworked by
+Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+Mike Gariel <mike.gabriel at das-netzwerkteam.de>
 
-Upstream Author: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
 
-Copyright (C) 2007  obviously nice - http://www.obviouslynice.de
+Upstream Authors: Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+                  Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+                  Mike Gabriel <mike.gabriel at das-netzwerkteam.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.             
+Copyright (C) 2007-2011 X2go project / obviously nice - http://wiki.x2go.org
 
-Copyright (C) 2007  Oleksandr Shneyder
-oleksandr.shneyder at obviously-nice.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.
 
-Copyright (C) 2007  Heinz-Markus Graesing
-heinz-m.graesing at obviously-nice.de
+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.
 
-On Debian systems, the complete text of the GNU General
-Public License can be found in `/usr/share/common-licenses/GPL'.
+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-2010
+Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+Heinz-Markus Graesing <heinz-m.graesing at obviously-nice.de>
 
+Copyright (C) 2010-2011
+Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+Heinz-Markus Graesing <heinz-m.graesing at obviously-nice.de>
+Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+Mike Gariel <mike.gabriel at das-netzwerkteam.de>
 
 
-The Debian packaging is (C) 2007, Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de> and
-is licensed under the GPL, see above.
+The Debian packaging is (C) 2007-2011,
+Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de> 
+Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+Mike Gariel <mike.gabriel at das-netzwerkteam.de>
 
+and is licensed under the GPL, see above.
+
+On Debian systems, the complete text of the GNU General
+Public License can be found in `/usr/share/common-licenses/GPL'.
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index e69de29..0000000
diff --git a/debian/rules b/debian/rules
index 3bb4f88..d10f2e9 100755
--- a/debian/rules
+++ b/debian/rules
@@ -12,22 +12,22 @@ configure: configure-stamp
 configure-stamp:
 	dh_testdir
 	cd x2gocdmanager/powerej      && qmake-qt4 powerej.pro
-	cd x2gocdmanager/thinshutdown && qmake-qt4 thinshutdown.pro
+	cd x2gothinshutdown/thinshutdown && qmake-qt4 thinshutdown.pro
 	touch $@
 
 build: build-stamp
 build-stamp: configure-stamp 
 	dh_testdir
 	dh_prep
-	$(MAKE) -C x2gocdmanager/thinshutdown
 	$(MAKE) -C x2gocdmanager/powerej
+	$(MAKE) -C x2gothinshutdown/thinshutdown
 	touch $@
 
 clean:
 	dh_testdir
 	dh_testroot
 	[ ! -f x2gocdmanager/powerej/Makefile ] || $(MAKE) -C x2gocdmanager/powerej distclean
-	[ ! -f x2gocdmanager/thinshutdown/Makefile ] || $(MAKE) -C x2gocdmanager/thinshutdown distclean
+	[ ! -f x2gothinshutdown/thinshutdown/Makefile ] || $(MAKE) -C x2gothinshutdown/thinshutdown distclean
 	dh_clean build-stamp configure-stamp
 
 binary-indep: build
@@ -43,6 +43,7 @@ binary-arch: build
 	dh_installdirs
 	dh_install
 	dh_installinit
+	dh_installman
 	dh_link
 	dh_strip
 	dh_compress
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..9f67427
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (native)
\ No newline at end of file
diff --git a/debian/x2gocdmanager.init b/debian/x2gocdmanager.init
index 69e54f0..d222cce 100644
--- a/debian/x2gocdmanager.init
+++ b/debian/x2gocdmanager.init
@@ -1,14 +1,33 @@
 #! /bin/sh
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
 #
-# skeleton	example file to build /etc/init.d/ scripts.
-#		This file should be used to construct scripts for /etc/init.d.
-#
-#		Written by Miquel van Smoorenburg <miquels at cistron.nl>.
-#		Modified for Debian 
-#		by Ian Murdock <imurdock at gnu.ai.mit.edu>.
-#
-# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels at cistron.nl
+# X2go 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.
+
+### BEGIN INIT INFO
+# Provides:          x2gocdmanager
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start and stop the x2go CD/DVD manager daemon
+### END INIT INFO
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 export HOSTNAME
@@ -30,7 +49,7 @@ case "$1" in
 	;;
   stop)
 	echo -n "Stopping $DESC: "
-	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid 
+	start-stop-daemon --stop --quiet --pidfile /var/run/$NAME.pid || true
 	
 	echo "$NAME."
 	;;
diff --git a/debian/x2gocdmanager.install b/debian/x2gocdmanager.install
index 8b5fda2..c95d6a6 100644
--- a/debian/x2gocdmanager.install
+++ b/debian/x2gocdmanager.install
@@ -1,3 +1,2 @@
 x2gocdmanager/powerej/x2goejectcd        usr/bin
 x2gocdmanager/x2gocdmanager              usr/sbin
-x2gocdmanager/thinshutdown/thinshutdown  usr/sbin
diff --git a/debian/x2gocdmanager.manpages b/debian/x2gocdmanager.manpages
new file mode 100644
index 0000000..a70dd31
--- /dev/null
+++ b/debian/x2gocdmanager.manpages
@@ -0,0 +1,2 @@
+x2gocdmanager/man/x2gocdmanager.8
+x2gocdmanager/man/x2goejectcd.1
diff --git a/debian/x2gosmartcardrules.install b/debian/x2gosmartcardrules.install
index 864ffc9..03c1e4d 100644
--- a/debian/x2gosmartcardrules.install
+++ b/debian/x2gosmartcardrules.install
@@ -1,2 +1,3 @@
-x2gosmartcardrules/gnupg-ccid.rules  etc/udev/rules.d/021_gnupg-ccid.rules
-x2gosmartcardrules/gnupg-ccid        etc/udev/scripts/
\ No newline at end of file
+x2gosmartcardrules/21-x2gognupgccid.rules    lib/udev/rules.d/
+x2gosmartcardrules/x2gognupgccid                usr/lib/x2go/tce/
+
diff --git a/debian/x2gosmartcardrules.manpages b/debian/x2gosmartcardrules.manpages
new file mode 100644
index 0000000..a30ef3a
--- /dev/null
+++ b/debian/x2gosmartcardrules.manpages
@@ -0,0 +1 @@
+x2gosmartcardrules/man/x2gognupgccid.8
diff --git a/debian/x2gothinclient.dirs b/debian/x2gothinclient.dirs
index ddbdfe9..73137fe 100644
--- a/debian/x2gothinclient.dirs
+++ b/debian/x2gothinclient.dirs
@@ -1 +1,2 @@
-etc/default
\ No newline at end of file
+usr/sbin/
+etc/x2go
diff --git a/debian/x2gothinclient.examples b/debian/x2gothinclient.examples
new file mode 100644
index 0000000..0b989d1
--- /dev/null
+++ b/debian/x2gothinclient.examples
@@ -0,0 +1 @@
+x2gothinclientmanagement/share/x2gothinclient_*
diff --git a/debian/x2gothinclient.init b/debian/x2gothinclient.init
index c979b6b..9b305a5 100644
--- a/debian/x2gothinclient.init
+++ b/debian/x2gothinclient.init
@@ -1,14 +1,33 @@
 #! /bin/sh
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
 #
-# skeleton	example file to build /etc/init.d/ scripts.
-#		This file should be used to construct scripts for /etc/init.d.
-#
-#		Written by Miquel van Smoorenburg <miquels at cistron.nl>.
-#		Modified for Debian 
-#		by Ian Murdock <imurdock at gnu.ai.mit.edu>.
-#
-# Version:	@(#)skeleton  1.9  26-Feb-2001  miquels at cistron.nl
+# X2go 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.
+
+### BEGIN INIT INFO
+# Provides:          x2gothinclient
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Start and stop the x2go thinclient daemon
+### END INIT INFO
 
 PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
 export HOSTNAME
@@ -16,9 +35,11 @@ DAEMON=/usr/sbin/x2gothinclientd
 NAME=x2gothinclient
 DESC=x2gothinclient
 
-
 test -x $DAEMON || exit 0
+test -x /etc/x2go/x2gothinclient_init || test -x /etc/x2go/x2gothinclient_start || { echo "X2go thin client system will not start as it is not configured, yet.\nSee http://wiki.x2go.org/installing_x2go_thin_client_environment_debian"; exit 0; }
 
+# pre-init X2go Thin Client through init script...
+test -x /etc/x2go/x2gothinclient_init && . /etc/x2go/x2gothinclient_init
 
 set -e
 
diff --git a/debian/x2gothinclient.install b/debian/x2gothinclient.install
index c333e2e..8684f90 100644
--- a/debian/x2gothinclient.install
+++ b/debian/x2gothinclient.install
@@ -1,2 +1 @@
-x2gothinclient/x2gothinclientd usr/sbin
-x2gothinclient/x2gothinclient  etc/default
+x2gothinclient/sbin/x2gothinclientd         usr/sbin/
diff --git a/debian/x2gothinclient.manpages b/debian/x2gothinclient.manpages
new file mode 100644
index 0000000..a07e884
--- /dev/null
+++ b/debian/x2gothinclient.manpages
@@ -0,0 +1 @@
+x2gothinclient/man/x2gothinclientd.8
\ No newline at end of file
diff --git a/debian/x2gothinclientmanagement.dirs b/debian/x2gothinclientmanagement.dirs
new file mode 100644
index 0000000..0dfc19b
--- /dev/null
+++ b/debian/x2gothinclientmanagement.dirs
@@ -0,0 +1,4 @@
+usr/share/x2go/tce
+etc/x2go/
+
+
diff --git a/debian/x2gothinclientmanagement.docs b/debian/x2gothinclientmanagement.docs
new file mode 100644
index 0000000..76b6c95
--- /dev/null
+++ b/debian/x2gothinclientmanagement.docs
@@ -0,0 +1 @@
+x2gothinclientmanagement/README
\ No newline at end of file
diff --git a/debian/x2gothinclientmanagement.install b/debian/x2gothinclientmanagement.install
new file mode 100644
index 0000000..8b44295
--- /dev/null
+++ b/debian/x2gothinclientmanagement.install
@@ -0,0 +1,4 @@
+x2gothinclientmanagement/sbin/x2gothinclient_*                 usr/sbin/
+x2gothinclientmanagement/etc/x2gothinclient_*                  etc/x2go/
+x2gothinclientmanagement/share/x2gothinclient_*                usr/share/x2go/tce/
+x2gothinclientmanagement/share/tftpboot                        usr/share/x2go/tce/
diff --git a/debian/x2gothinclientmanagement.manpages b/debian/x2gothinclientmanagement.manpages
new file mode 100644
index 0000000..be47fe6
--- /dev/null
+++ b/debian/x2gothinclientmanagement.manpages
@@ -0,0 +1,4 @@
+x2gothinclientmanagement/man/x2gothinclient_create.8
+x2gothinclientmanagement/man/x2gothinclient_shell.8
+x2gothinclientmanagement/man/x2gothinclient_update.8
+x2gothinclientmanagement/man/x2gothinclient_upgrade.8
diff --git a/debian/x2gothinclientsystem.dirs b/debian/x2gothinclientsystem.dirs
deleted file mode 100644
index da7ae22..0000000
--- a/debian/x2gothinclientsystem.dirs
+++ /dev/null
@@ -1 +0,0 @@
-usr/share/x2gothinclientsystem/script/
diff --git a/debian/x2gothinclientsystem.install b/debian/x2gothinclientsystem.install
deleted file mode 100644
index a5eab98..0000000
--- a/debian/x2gothinclientsystem.install
+++ /dev/null
@@ -1,2 +0,0 @@
-x2gothinclientsystem/ramdrive                  usr/share/x2gothinclientsystem/script
-x2gothinclientsystem/x2gothinclient_install.sh usr/share/x2gothinclientsystem/script
diff --git a/debian/x2gothinshutdown.install b/debian/x2gothinshutdown.install
new file mode 100644
index 0000000..225868f
--- /dev/null
+++ b/debian/x2gothinshutdown.install
@@ -0,0 +1 @@
+x2gothinshutdown/thinshutdown/thinshutdown  usr/sbin
diff --git a/debian/x2gothinshutdown.manpages b/debian/x2gothinshutdown.manpages
new file mode 100644
index 0000000..dca66a8
--- /dev/null
+++ b/debian/x2gothinshutdown.manpages
@@ -0,0 +1 @@
+x2gothinshutdown/man/thinshutdown.1
\ No newline at end of file
diff --git a/debian/x2gousbmount.install b/debian/x2gousbmount.install
index ea801d7..1760792 100644
--- a/debian/x2gousbmount.install
+++ b/debian/x2gousbmount.install
@@ -1,2 +1,3 @@
-x2gousbmount/x2gousb.rules    etc/udev/rules.d/z60_x2gousb.rules
-x2gousbmount/x2gousb-storage  usr/sbin
\ No newline at end of file
+x2gousbmount/61-x2gousbmount.rules    lib/udev/rules.d/
+x2gousbmount/x2gousbmount             usr/lib/x2go/tce/
+
diff --git a/debian/x2gousbmount.manpages b/debian/x2gousbmount.manpages
new file mode 100644
index 0000000..90ded49
--- /dev/null
+++ b/debian/x2gousbmount.manpages
@@ -0,0 +1 @@
+x2gousbmount/man/x2gousbmount.8
diff --git a/x2gocdmanager/man/x2gocdmanager.8 b/x2gocdmanager/man/x2gocdmanager.8
new file mode 100644
index 0000000..3caafc6
--- /dev/null
+++ b/x2gocdmanager/man/x2gocdmanager.8
@@ -0,0 +1,25 @@
+'\" -*- 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 x2gocdmanager 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gocdmanager \- CD/DVD Management Daemon running on X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gocdmanager\fR 
+
+.SH DESCRIPTION
+\fBx2gocdmanager\fR is a CD/DVD management daemon that runs on X2go thin clients.
+.PP
+.SH OPTIONS
+\fBx2gocdmanager\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gocdmanager/man/x2goejectcd.1 b/x2gocdmanager/man/x2goejectcd.1
new file mode 100644
index 0000000..359fbd3
--- /dev/null
+++ b/x2gocdmanager/man/x2goejectcd.1
@@ -0,0 +1,25 @@
+'\" -*- 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 x2goejectcd 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2goejectcd \- CD/DVD bay eject tool for X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2goejectcd\fR 
+
+.SH DESCRIPTION
+\fBx2goejectcd\fR is used to eject the CD/DVD bay of optical discs built into X2go thin clients.
+.PP
+.SH OPTIONS
+\fBx2goejectcd\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gocdmanager/powerej/eject.cpp b/x2gocdmanager/powerej/eject.cpp
index b65b4e4..6870cb0 100644
--- a/x2gocdmanager/powerej/eject.cpp
+++ b/x2gocdmanager/powerej/eject.cpp
@@ -1,6 +1,6 @@
 /***************************************************************************
- *   Copyright (C) 2005 by Oleksandr Shneyder   *
- *   oleksandr.shneyder at obviously-nice.de   *
+ *   Copyright (C) 2005-2011 by Oleksandr Shneyder                         *
+ *   oleksandr.shneyder at obviously-nice.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  *
@@ -15,7 +15,7 @@
  *   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.             *
+ *   51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.              *
  ***************************************************************************/
 
 
diff --git a/x2gocdmanager/x2gocdmanager b/x2gocdmanager/x2gocdmanager
index 09d2961..1e64a31 100755
--- a/x2gocdmanager/x2gocdmanager
+++ b/x2gocdmanager/x2gocdmanager
@@ -1,141 +1,161 @@
 #!/usr/bin/perl
+
+# Copyright (C) 2007-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+
 use Fcntl;
 use strict;
 
-
 sub catch_term
 {
-   unlink("/var/run/x2gocdmanager.pid");
-   exit;
+	unlink("/var/run/x2gocdmanager.pid");
+	exit;
 }
 
-
+# fork to background, check if forked state is ok...
 my $pid = fork();
 if (not defined $pid) 
 {
-  print "resources not avilable.\n";
+	print "resources not avilable.\n";
 } 
 elsif ($pid != 0) 
 {
-    open (F,">/var/run/x2gocdmanager.pid");
-    print F "$pid\n";
-    close(F);
+	open (F,">/var/run/x2gocdmanager.pid");
+	print F "$pid\n";
+	close(F);
 }
 elsif ($pid == 0 )
 {
 
- close(STDIN);
- close(STDOUT);
- close(STDERR);
- 
- $SIG{TERM}=\&catch_term;
-
- my @mounted;
- my @idedrives;
-
- my $cpath=$ENV{PWD};
- chdir ("/proc/ide");
- opendir(DIR,"/proc/ide");
- my @dirs=grep(/^hd/,grep (-d,readdir(DIR)));
- closedir(DIR);
-
- for (my $i=0;$i<@dirs;++$i)
- {
-    chdir ("/proc/ide");
-    chdir(@dirs[$i]);
-    open (F,"<driver");
-    my $ln=<F>;
-    close(F);
-    if ($ln =~ m/ide-cdrom/)
-    {
-      push(@idedrives,"/dev/@dirs[$i]");
-    }
- }
-
- chdir($cpath);
-
- while(sleep 4)
- {
-
-#####
-    my $outp=`ps ax`;
-    my $CLIENT=($outp =~ m/x2goclient/);
-    my $PROXY=($outp =~ m/nxproxy/);
-    my $SHUTD=($outp =~ m/thinshutdown/);
-    if ( $SHUTD && $PROXY )
-    {
-         system("killall thinshutdown");
-    }
-    if (  !$SHUTD && !$PROXY && $CLIENT)
-    {
-        system("DISPLAY=:0 thinshutdown&");
-    }
-###########
-
-   my @scsidrives;
-   my $otp=`lsscsi`;
-   my @lines=split("\n","$otp");
-   for(my $i=0;$i<@lines;++$i)
-   {
-         if(@lines[$i] =~ m/cd\/dvd/)
-	 {
-	      my  @words=split(" ", at lines[$i]);
-	      push(@scsidrives, at words[$#words]);
-	 }
-   }
-   my @drives=(@idedrives, at scsidrives);
-   my @cdarray;
-   for my $i(0..$#drives)
-   {
-       sysopen(CDROM, at drives[$i],O_RDONLY|O_NONBLOCK);
-       my $rez=ioctl(CDROM,21287,0);
-       if(!$rez)
-       {
-          print "can't ioctl\n";
-       }
-       elsif($rez==101) 
-       {
-	  push(@cdarray, at drives[$i]);
-       }
-       close (CDROM);
-   }
-   system("echo 0 > /proc/sys/dev/cdrom/lock");
-   for (my $i=$#mounted; $i>=0 ;$i--)
-   {
-        my @arr=grep { "$_" eq "@mounted[$i]"} @cdarray;
-	if (@arr == 0)                     
+	# silence this daemon script completely...
+	close(STDIN);
+	close(STDOUT);
+	close(STDERR);
+
+	$SIG{TERM}=\&catch_term;
+
+	my @mounted;
+	my @idedrives;
+
+	my $cpath=$ENV{PWD};
+	chdir ("/proc/ide");
+	opendir(DIR,"/proc/ide");
+	my @dirs=grep(/^hd/,grep (-d,readdir(DIR)));
+	closedir(DIR);
+
+	# retrieve a list of IDE/ATAPI CD/DVD drives (by the nature of IDE this list will be static)
+	for (my $i=0;$i<@dirs;++$i)
 	{
-	      my @name=split("/","@mounted[$i]");
-	      my $name="CDROM- at name[2]";
-	    
-              open (D,">/ramdrive/export/$name.unexport");
-              print D "unexport=/ramdrive/mnt/$name\n";
-              close(D);           
-	      system("umount -ff /ramdrive/mnt/$name");
-
-	      system("killall x2goejectcd");
-	      splice(@mounted,$i,1);
+		chdir ("/proc/ide");
+		chdir(@dirs[$i]);
+		open (F,"<driver");
+		my $ln=<F>;
+		close(F);
+		if ($ln =~ m/ide-cdrom/)
+		{
+			push(@idedrives,"/dev/@dirs[$i]");
+		}
 	}
-   }
-   for my $i (0..$#cdarray)
-   {
-        my @arr=grep { "$_" eq "@cdarray[$i]" } @mounted;
-	if (@arr == 0)
+
+	chdir($cpath);
+
+	while(sleep 4)
 	{
-	      my @name=split("/","@cdarray[$i]");
-	      my $name="CDROM- at name[2]";
-	      mkdir("/ramdrive/mnt");
-	      mkdir("/ramdrive/mnt/$name");
-	      if(system("mount @cdarray[$i] /ramdrive/mnt/$name -o uid=x2goclient")==0)
-	      {
-                  open (D,">/ramdrive/export/$name");
-                  print D "export=/ramdrive/mnt/$name\n";
-                  close(D);           
-	          push (@mounted, at cdarray[$i]);
-		  system("killall x2goejectcd");
-		  system("DISPLAY=:0 x2goejectcd&");
-              }
+
+		# scan for SCSI-like CD/DVD drives, do this in intervals of 
+		# four seconds (to notice plugged-in USB-devices)
+		my @scsidrives;
+		my $otp=`lsscsi`;
+		my @lines=split("\n","$otp");
+		for(my $i=0;$i<@lines;++$i)
+		{
+			if(@lines[$i] =~ m/cd\/dvd/)
+			{
+				my  @words=split(" ", at lines[$i]);
+				push(@scsidrives, at words[$#words]);
+			}
+		}
+
+		# this now is our collection of possible CD/DVD drives
+		my @drives=(@idedrives, at scsidrives);
+		my @cdarray;
+
+		# deal with each one individually, detect if it really is a CDROM
+		for my $i(0..$#drives)
+		{
+			sysopen(CDROM, at drives[$i],O_RDONLY|O_NONBLOCK);
+			my $rez=ioctl(CDROM,21287,0);
+			if(!$rez)
+			{
+				print "can't ioctl\n";
+			}
+			elsif($rez==101) 
+			{
+				push(@cdarray, at drives[$i]);
+			}
+			close (CDROM);
+		}
+
+		# force device unlocking every check interval
+		system("echo 0 > /proc/sys/dev/cdrom/lock");
+
+		# enumerate all mounted CD/DVD devices
+		for (my $i=$#mounted; $i>=0 ;$i--)
+		{
+			# unmount a CD/DVD device if not available anymore (USB unplugging)
+			my @arr=grep { "$_" eq "@mounted[$i]"} @cdarray;
+			if (@arr == 0)
+			{
+				my @name=split("/","@mounted[$i]");
+				my $name="CDROM- at name[2]";
+
+				open (D,">/home/x2goclient/export/$name.unexport");
+				print D "unexport=/media/$name\n";
+				close(D);
+				system("umount -ff /media/$name");
+
+				system("killall x2goejectcd");
+				splice(@mounted,$i,1);
+			}
+		}
+
+		# enumerate all available CD/DVD devices
+		for my $i (0..$#cdarray)
+		{
+			# mount the CD/DVD device if not yet mounted...
+			my @arr=grep { "$_" eq "@cdarray[$i]" } @mounted;
+			if (@arr == 0)
+			{
+				my @name=split("/","@cdarray[$i]");
+				my $name="CDROM- at name[2]";
+				mkdir("/media");
+				mkdir("/media/$name");
+				if(system("mount @cdarray[$i] /media/$name -o uid=x2goclient")==0)
+				{
+					open (D,">/home/x2goclient/export/$name");
+					print D "export=/media/$name\n";
+					close(D);
+					push (@mounted, at cdarray[$i]);
+					system("killall x2goejectcd");
+					system("DISPLAY=:0 x2goejectcd&");
+				}
+			}
+		}
 	}
-   }
- }
-}
\ No newline at end of file
+}
diff --git a/x2gosmartcardrules/gnupg-ccid.rules b/x2gosmartcardrules/21-x2gognupgccid.rules
similarity index 68%
rename from x2gosmartcardrules/gnupg-ccid.rules
rename to x2gosmartcardrules/21-x2gognupgccid.rules
index 81f0b36..77b5822 100644
--- a/x2gosmartcardrules/gnupg-ccid.rules
+++ b/x2gosmartcardrules/21-x2gognupgccid.rules
@@ -1,10 +1,9 @@
 # GPG SmartCard Reader Support
 #
 
-ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="4e6/e003/*", RUN+="/etc/udev/scripts/gnupg-ccid"
-ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="4e6/5115/*", RUN+="/etc/udev/scripts/gnupg-ccid"
+ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="4e6/e003/*", RUN+="/usr/lib/x2go/tce/x2gognupgccid"
+ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="4e6/5115/*", RUN+="/usr/lib/x2go/tce/x2gognupgccid"
 #OMNIKEY
-ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="76b/3021/*", RUN+="/etc/udev/scripts/gnupg-ccid"
+ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="76b/3021/*", RUN+="/usr/lib/x2go/tce/x2gognupgccid"
 #CHERRY
-ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="46a/10/*", RUN+="/etc/udev/scripts/gnupg-ccid"
-
+ACTION=="add", SUBSYSTEM=="usb", ENV{PRODUCT}=="46a/10/*", RUN+="/usr/lib/x2go/tce/x2gognupgccid"
diff --git a/x2gosmartcardrules/man/x2gognupgccid.8 b/x2gosmartcardrules/man/x2gognupgccid.8
new file mode 100644
index 0000000..881b811
--- /dev/null
+++ b/x2gosmartcardrules/man/x2gognupgccid.8
@@ -0,0 +1,25 @@
+'\" -*- 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 x2gognupgccid 8 "16 June 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gognupgccid \- udev Script handling GnuPG smart card readers on X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+x2gognupgccid
+
+.SH DESCRIPTION
+\fBx2gognupgccid\fR is a udev script that handles the usage of GnuPG smart card readers that are connected to X2go Thin Clients.
+.PP
+.SH OPTIONS
+\fBx2gognupgccid\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gosmartcardrules/gnupg-ccid b/x2gosmartcardrules/x2gognupgccid
similarity index 85%
rename from x2gosmartcardrules/gnupg-ccid
rename to x2gosmartcardrules/x2gognupgccid
index b5b9561..508f96c 100755
--- a/x2gosmartcardrules/gnupg-ccid
+++ b/x2gosmartcardrules/x2gognupgccid
@@ -21,9 +21,14 @@ GROUP=scard
 # "gnupg-ccid" like this script.
 #
 
+set -e
+
 DEV=`echo ${DEVICE} | sed 's/proc/dev/'`
 
-if [ "${ACTION}" = "add" ] #&& [ -e "${DEV}" ]
-then
-    sleep 2&&chmod o-rwx "${DEV}"&&chgrp ${GROUP} "${DEV}"&&chmod g+rw "${DEV}"&
-fi     
+if [ "${ACTION}" = "add" ]; then
+	sleep 2
+	chown :${GROUP} "${DEV}"
+	chmod g+rw,o-rwx "${DEV}"
+fi
+
+exit 0
\ No newline at end of file
diff --git a/x2gothinclient/man/x2gothinclientd.8 b/x2gothinclient/man/x2gothinclientd.8
new file mode 100644
index 0000000..2003f80
--- /dev/null
+++ b/x2gothinclient/man/x2gothinclientd.8
@@ -0,0 +1,25 @@
+'\" -*- 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 x2gothinclientd 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclientd \- Session Control Daemon running on X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclientd\fR 
+
+.SH DESCRIPTION
+\fBx2gothinclientd\fR is a session control daemon that runs on X2go thin clients.
+.PP
+.SH OPTIONS
+\fBx2gothinclientd\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclient/sbin/x2gothinclientd b/x2gothinclient/sbin/x2gothinclientd
new file mode 100755
index 0000000..983a1ed
--- /dev/null
+++ b/x2gothinclient/sbin/x2gothinclientd
@@ -0,0 +1,125 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+
+use strict;
+
+sub catch_term
+{
+	system ("killall x2goclient");
+	system ("killall Xorg");
+	system ("killall pulseaudio");
+	unlink("/var/run/x2gothinclient.pid");
+	exit;
+}
+
+sub check_x
+{
+	my $x=`ps ax | grep Xorg`;
+	if ( $x=~m/usr.bin.Xorg/ )
+	{
+		return 1;
+	}
+	return 0;
+}
+
+sub check_pulse
+{
+	my $pulse=`ps ax | grep pulse`;
+
+	if ( $pulse=~m/pulseaudio/)
+	{
+		return 1;
+	}
+	return 0;
+}
+
+sub check_client
+{
+	my $client=`ps ax | grep x2goc`;
+
+	if ( $client=~m/lient/)
+	{
+		return 1;
+	}
+	return 0;
+}
+
+# pre-load the thinclient initialization script
+system("su x2goclient -c \". /etc/x2go/x2gothinclient_init\"");
+
+# fork to background, check if forked state is ok...
+my $pid = fork();
+if (not defined $pid) 
+{
+  print "resources not avilable.\n";
+} 
+elsif ($pid != 0) 
+{
+    open (F,">/var/run/x2gothinclient.pid");
+    print F "$pid\n";
+    close(F);
+}
+elsif ($pid == 0 )
+{
+
+	# silence this daemon script completely...
+	close(STDIN);
+	close(STDOUT);
+	close(STDERR);
+
+	$SIG{TERM}=\&catch_term;
+
+	while(sleep 1)
+	{
+
+		# test if XServer is running, if not launch it...
+		if ( check_x() ==0)    
+		{
+			system("/usr/bin/Xorg -br&");
+		}
+
+		# test if pulseaudio is running, if not launch it...
+		if ( !check_pulse())
+		{
+			system("su - x2goclient -c \"DISPLAY=:0 pulseaudio -D -n -L 'module-native-protocol-tcp port=4713' -L 'module-esound-protocol-tcp port=16001' -L 'module-udev-detect'\"");
+		}
+
+		# test if x2goclient is running, if not launch it...
+		if ( !check_client())
+		{
+			system("su - x2goclient -c \"export DISPLAY=:0; . /etc/x2go/x2gothinclient_start\"");
+		}
+
+		# handle availability of the thinshutdown button GUI...
+		my $outp=`ps ax`;
+		my $CLIENT=($outp =~ m/x2goclient/);
+		my $PROXY=($outp =~ m/nxproxy/);
+		my $SHUTD=($outp =~ m/thinshutdown/);
+		if ( $SHUTD && $PROXY )
+		{
+			system("killall thinshutdown");
+		}
+		if (  !$SHUTD && !$PROXY && $CLIENT)
+		{
+			system("bash -c 'sleep 4; DISPLAY=:0 thinshutdown &'");
+		}
+	}
+}
diff --git a/x2gothinclient/x2gothinclient b/x2gothinclient/x2gothinclient
deleted file mode 100644
index 288b9f0..0000000
--- a/x2gothinclient/x2gothinclient
+++ /dev/null
@@ -1,4 +0,0 @@
-#Command to run x2goclient
-#
-#############################
-x2goclient --pgp-card --ldap="192.168.0.1:389:o=obviously nice,c=de" --external-login=/ramdrive/logins --no-menu --maximize --link=lan --kbd-layout=de --kbd-type=pc105/de --set-kbd=1 --geometry=fullscreen --add-to-known-hosts --read-exports-from=/ramdrive/export
\ No newline at end of file
diff --git a/x2gothinclient/x2gothinclientd b/x2gothinclient/x2gothinclientd
deleted file mode 100755
index 9fe327c..0000000
--- a/x2gothinclient/x2gothinclientd
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/usr/bin/perl
-use strict;
-
-sub catch_term
-{
-   system ("killall x2goclient");
-   unlink("/var/run/x2gothinclient.pid");
-   exit;
-}
-
-sub check_x
-{
-    my $x=`ps ax | grep Xorg`;
-    if ( $x=~m/X11R6/ )
-    {
-      return 1;
-    }
-    return 0;
-}
-
-sub check_client
-{
-    my $client=`ps ax | grep x2goc`;
-
-    if ( $client=~m/lient/)
-    {
-      return 1;
-    }
-    return 0;
-}
-
-
-my $pid = fork();
-if (not defined $pid) 
-{
-  print "resources not avilable.\n";
-} 
-elsif ($pid != 0) 
-{
-    open (F,">/var/run/x2gothinclient.pid");
-    print F "$pid\n";
-    close(F);
-}
-elsif ($pid == 0 )
-{
-
- close(STDIN);
- close(STDOUT);
- close(STDERR);
- 
- $SIG{TERM}=\&catch_term;
- 
- while(sleep 1)
- {
-    if ( check_x() ==0)    
-    {
-            system("/usr/X11R6/bin/Xorg -br&");
-    }
-    system("su - x2goclient  -c \"export DISPLAY=:0; . /etc/default/x2gothinclient;  echo \\\$OPTIONS\"");
-    if ( !check_client())
-    {
-            system("su - x2goclient  -c \"export DISPLAY=:0; . /etc/default/x2gothinclient\"");
-	    system("killall -9 artsd");
-    }
- }
-}
\ No newline at end of file
diff --git a/x2gothinclientmanagement/README b/x2gothinclientmanagement/README
new file mode 100644
index 0000000..bf3e42b
--- /dev/null
+++ b/x2gothinclientmanagement/README
@@ -0,0 +1,33 @@
+x2gothinclient_create
+=====================
+Create a new x2gothinclient image
+
+Check x2gothinclient_settings before doing so.
+
+
+x2gothinclient_bash
+===================
+Start a bash in the thinclient chroot.
+
+
+x2gothinclient_settings
+=======================
+This is where the thinclient setting cen be made.
+
+
+x2gothinclient_update
+=====================
+Update the configuration.
+
+See files
+
+
+x2gothinclient_upgrade
+======================
+Do apt-get upgrade in the chroot.
+
+
+files
+=====
+Files needed to adjust the runtime system.
+
diff --git a/x2gothinclientmanagement/etc/x2gothinclient_settings b/x2gothinclientmanagement/etc/x2gothinclient_settings
new file mode 100644
index 0000000..4ed1521
--- /dev/null
+++ b/x2gothinclientmanagement/etc/x2gothinclient_settings
@@ -0,0 +1,72 @@
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+# base path for X2go thin client files
+TC_BASE="/opt/x2gothinclient"
+
+# path to X2go thin client chroot
+TC_CHROOT="$TC_BASE/chroot"
+
+# path to the X2go thin client configuration
+TC_CONFIG="$TC_BASE/etc"
+
+# shell to use when maintaining X2go thin client chroot manually
+TC_SHELL="bash"
+
+# Debian package mirror to use...
+TC_DEBMIRROR_URL="http://ftp.debian.org/debian"
+
+# Retrieve X2go packages from this URL
+TC_X2GO_DEBURL="deb http://packages.x2go.org/debian stable main"
+
+# Use a http/ftp proxy during debootstrap (leave empty if direct connections to http/ftp are allowed)
+# TC_HTTP_PROXY="http://proxy.mydomain.com:8080"
+# TC_HTTPS_PROXY="http://proxy.mydomain.com:8080"
+# TC_FTP_PROXY="http://proxy.mydomain.com:8080"
+TC_HTTP_PROXY=""
+TC_HTTPS_PROXY=""
+TC_FTP_PROXY=""
+
+# module blacklist (used during X2go TCE creation)
+TC_MODULE_BLACKLIST="pcspkr"
+
+# tftp boot environment (PXE/syslinux files delivered via tftpd)
+TC_TFTP_BOOT="/srv/tftp"
+
+echo
+echo "X2go Thin Client Environment:"
+echo "============================="
+echo "The X2go Thin Client Environment is using the following"
+echo "settings:"
+echo
+echo "TC_BASE=$TC_BASE"
+echo "TC_CONFIG=$TC_CONFIG"
+echo "TC_CHROOT=$TC_CHROOT"
+echo "TC_SHELL=$TC_SHELL"
+echo "TC_DEBMIRROR_URL=$TC_DEBMIRROR_URL"
+echo "TC_X2GO_DEBURL=$TC_X2GO_DEBURL"
+echo "TC_HTTP_PROXY=$TC_HTTP_PROXY"
+echo "TC_HTTPS_PROXY=$TC_HTTPS_PROXY"
+echo "TC_FTP_PROXY=$TC_FTP_PROXY"
+echo "TC_MODULE_BLACKLIST=$TC_MODULE_BLACKLIST"
+echo "TC_TFTP_BOOT=$TC_TFTP_BOOT"
+echo
+echo "Edit /etc/x2go/x2gothinclient_settings to change this."
+echo
diff --git a/x2gothinclientmanagement/man/x2gothinclient_cleanup.8 b/x2gothinclientmanagement/man/x2gothinclient_cleanup.8
new file mode 100644
index 0000000..47ae00c
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_cleanup.8
@@ -0,0 +1,33 @@
+'\" -*- 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 x2gothinclient_cleanup 8 "15 June 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_cleanup \- Removes the X2go Thin Client environment from the X2go PXE server.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_cleanup\fR 
+
+.SH DESCRIPTION
+This helper script removes the complete X2go TCE from your system. The script will
+ask you to confirm the removal action.
+
+Use with care!!!
+.PP
+.SH OPTIONS
+\fBx2gothinclient_cleanup\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/man/x2gothinclient_create.8 b/x2gothinclientmanagement/man/x2gothinclient_create.8
new file mode 100644
index 0000000..da8cb54
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_create.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 x2gothinclient_create 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_create \- Creates X2go Thin Client chroot Environment.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_create\fR 
+
+.SH DESCRIPTION
+This helper script creates a bootable X2go thin client system in a chroot environment.
+.PP
+\fBNOTE:\fR Use this script for
+building your own X2go TCE. Run this script on your X2go TCE PXE/Etherboot server (as in your DHCP
+server's ''next-server'' option).
+.PP
+We highly recommend using a separate server (or virtual machine) for providing chroot environments.
+.PP
+.SH OPTIONS
+\fBx2gothinclient_create\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/man/x2gothinclient_preptftpboot.8 b/x2gothinclientmanagement/man/x2gothinclient_preptftpboot.8
new file mode 100644
index 0000000..379b3ff
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_preptftpboot.8
@@ -0,0 +1,36 @@
+'\" -*- 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 x2gothinclient_preptftpboot 8 "14 June 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_preptftpboot \- Prepare PXE/Syslinux Boot Environment (delivered via tftpd) on X2go PXE Server.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_preptftpboot\fR 
+
+.SH DESCRIPTION
+This helper script prepares X2go's PXE/Syslinux boot environment. As X2go PXE
+server you can either use your X2go server itself or a dedicated machine or VM that merely serves
+as PXE boot server.
+
+Please run the \fBx2gothinclient_create\fR helper script first before you run this script.
+
+This script can only be called if the PXE boot dir (default: /srv/tftp) does not already
+contain any other PXE/Syslinux boot environment.
+.PP
+.SH OPTIONS
+\fBx2gothinclient_pretftpboot\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/man/x2gothinclient_shell.8 b/x2gothinclientmanagement/man/x2gothinclient_shell.8
new file mode 100644
index 0000000..0910bd9
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_shell.8
@@ -0,0 +1,31 @@
+'\" -*- 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 x2gothinclient_shell 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_shell \- Opens a shell within the X2go Thin Client chroot Environment.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_shell\fR 
+
+.SH DESCRIPTION
+This helper script opens a shell within the X2go thin client chroot environment.
+.PP
+\fBNOTE:\fR Use this script to perform maintenance work within your X2go thin client chroot.
+.PP
+.SH OPTIONS
+\fBx2gothinclient_shell\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/man/x2gothinclient_update.8 b/x2gothinclientmanagement/man/x2gothinclient_update.8
new file mode 100644
index 0000000..234befb
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_update.8
@@ -0,0 +1,39 @@
+'\" -*- 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 x2gothinclient_update 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_update \- Updates the X2go Thin Client configuration.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_update\fR 
+
+.SH DESCRIPTION
+This helper script updates the configuration of an X2go thin client chroot environment (x2goclient startup, non-LDAP session profiles).
+.PP
+.SH OPTIONS
+\fBx2gothinclient_update\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+
+/usr/share/x2go/tce/x2gothinclient_init
+    Script that prepares tmpfs filespace on X2go thin client startup.
+
+/usr/share/x2go/tce/x2gothinclient_start
+    Script that launches and configures x2goclient in desktop manager
+    mode.
+
+/usr/share/x2go/tce/x2gothinclient_sessions
+    Session profiles for x2goclient if running in non-LDAP mode.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/man/x2gothinclient_upgrade.8 b/x2gothinclientmanagement/man/x2gothinclient_upgrade.8
new file mode 100644
index 0000000..ce7f42d
--- /dev/null
+++ b/x2gothinclientmanagement/man/x2gothinclient_upgrade.8
@@ -0,0 +1,30 @@
+'\" -*- 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 x2gothinclient_upgrade 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gothinclient_upgrade \- Upgrade the X2go Thin Client's software.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gothinclient_upgrade\fR 
+
+.SH DESCRIPTION
+This helper script performs a package upgrade within the X2go thin client chroot. Use this script to update/upgrade your
+X2go thin client's software.
+.PP
+.SH OPTIONS
+\fBx2gothinclient_upgrade\fR has no known options.
+.PP
+.SH FILES
+/etc/x2go/x2gothinclient_settings
+    Configuration file for x2gothinclient_* scripts.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_cleanup b/x2gothinclientmanagement/sbin/x2gothinclient_cleanup
new file mode 100755
index 0000000..566db5e
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_cleanup
@@ -0,0 +1,76 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc"
+else
+    ETCDIR=/etc/x2go
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_BASE="${TC_BASE:-/opt/x2gothinclient}"
+TC_CHROOT="${TC_CHROOT:-$TC_BASE/chroot}"
+TC_CONFIG="${TC_CONFIG:-$TC_BASE/etc}"
+TC_TFTP_BOOT="${TC_TFTP_BOOT:-/srv/tftp}"
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+echo "X2go TCE cleanup..."
+echo "-------------------"
+
+echo "Hit <RETURN> to purge all X2go TCE related files (chroot, TCE config, PXE boot env)..."
+echo "Alternatively, hit STRG-C to cancel the operation now!!!"
+read
+
+# CHROOT + TCE config
+test -e "$TC_CHROOT" && {
+    echo "Removing $TC_CHROOT..."
+    rm -Rf "${TC_CHROOT}"
+} || {
+    echo "WARNING: X2go Thin Client chroot does not exist at $TC_CHROOT. No cleanup necessary..."
+}
+test -e "$TC_CONFIG" && {
+    echo "Removing $TC_CONFIG..."
+    rm -Rf "${TC_CONFIG}"
+} || {
+    echo "WARNING: X2go Thin Client config does not exist at $TC_CONFIG. No cleanup necessary..."
+}
+
+### PXE/Syslinux
+test -e "$TC_TFTP_BOOT/pxelinux.cfg" && {
+    echo "Emptying $TC_TFTP_BOOT..."
+    rm -Rf "${TC_TFTP_BOOT}"/*
+} || {
+    echo "WARNING: X2go PXE/Syslinux boot environment does not exist at $TC_TFTP_BOOT. No cleanup necessary..."
+}
+
+echo
+echo "X2go TCE cleanup is DONE."
+echo
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_create b/x2gothinclientmanagement/sbin/x2gothinclient_create
new file mode 100755
index 0000000..5297530
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_create
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+    SHAREDIR="share/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc"
+    SHAREDIR="../share/"
+else
+    ETCDIR=/etc/x2go
+    SHAREDIR="/usr/share/x2go/tce/"
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_BASE="${TC_BASE:-/opt/x2gothinclient}"
+TC_CHROOT="${TC_CHROOT:-$TC_BASE/chroot}"
+TC_CONFIG="${TC_CONFIG:-$TC_BASE/etc}"
+TC_DEBMIRROR_URL="${TC_DEBMIRROR_URL:-'http://ftp.debian.org/debian'}"
+TC_X2GO_DEBURL="${TC_X2GO_DEBURL:-'deb http://packages.x2go.org stable main'}"
+TC_MODULE_BLACKLIST="${TC_MODULE_BLACKLIST:-'pcspkr'}"
+
+test -e "$TC_CHROOT" && { 
+    echo "ERROR: X2go Thin Client chroot already exists at $TC_CHROOT."
+    echo "Clear $TC_BASE/ and then run $(basename $0) again..."
+    exit -1
+}
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+echo "Hit <RETURN> to continue with X2go TCE chroot creation using the above TCE parameters..."
+echo "Alternatively, hit STRG-C to cancel the operation now!!!"
+read
+
+export LANG=C
+
+mkdir -p $TC_CONFIG
+test -f $TC_CONFIG/x2gothinclient_init || cp $SHAREDIR/x2gothinclient_init $TC_CONFIG
+test -f $TC_CONFIG/x2gothinclient_start || cp $SHAREDIR/x2gothinclient_start $TC_CONFIG
+test -f $TC_CONFIG/x2gothinclient_sessions || cp $SHAREDIR/x2gothinclient_sessions $TC_CONFIG
+
+apt-get install debootstrap
+mkdir -p $TC_CHROOT
+
+# use a proxy server for APT (if any is configured)
+export http_proxy="$TC_HTTP_PROXY"
+export https_proxy="$TC_HTTPS_PROXY"
+export ftp_proxy="$TC_FTP_PROXY"
+
+debootstrap --arch i386 stable $TC_CHROOT/ $TC_DEBMIRROR_URL
+cp /etc/resolv.conf $TC_CHROOT/etc/resolv.conf
+echo "auto lo" >>   $TC_CHROOT/etc/network/interfaces
+echo "iface lo inet loopback" >>   $TC_CHROOT/etc/network/interfaces
+echo "x2gothinclient" > $TC_CHROOT/etc/hostname
+echo "127.0.0.1 localhost" >> $TC_CHROOT/etc/hosts
+cat > $TC_CHROOT/etc/fstab <<EOF
+#proc	/proc			proc	defaults		0	0
+none	/dev/pts		devpts	gid=5,mode=620		0	0
+none	/tmp			tmpfs	size=50M,mode=1777	0	0
+none	/root			tmpfs	size=100M,mode=700	0	0
+none	/etc/network/run	tmpfs	size=50M		0	0
+none	/etc/udev/rules.d	tmpfs	size=50M		0	0
+none	/var/run		tmpfs	size=50M		0	0
+none	/var/log		tmpfs	size=50M		0	0
+none	/var/lock		tmpfs	size=50M		0	0
+none	/home			tmpfs	size=50M		0	0
+none	/media			tmpfs	size=50M		0	0
+none	/var/lib/nfs		tmpfs	size=50M		0	0
+none	/var/lib/xkb		tmpfs	size=50M		0	0
+none	/var/lib/dbus		tmpfs	size=50M		0	0
+EOF
+
+
+cat > $TC_CHROOT/x2go_tce_install.sh <<EOF
+#!/bin/bash
+
+export LANG=C
+mount /proc
+mount /dev/pts
+export HOME=/root
+export http_proxy=$TC_HTTP_PROXY
+export https_proxy=$TC_HTTPS_PROXY
+export ftp_proxy=$TC_FTP_PROXY
+
+mkdir -p /tmp/user/0
+mkdir -p /var/lib/xkb
+mkdir -p /var/lib/nfs
+mkdir -p /var/lib/dbus
+
+# disable service restarts
+test -e /sbin/start-stop-daemon.keep || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.keep
+echo '#!/bin/sh' > /sbin/start-stop-daemon
+echo 'exit 0' >> /sbin/start-stop-daemon
+chmod +x /sbin/start-stop-daemon
+
+[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && echo "$TC_X2GO_DEBURL" > /etc/apt/sources.list.d/x2go.list
+[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && apt-get update
+[ \$? -eq 0 ] && test -n "$TC_X2GO_DEBURL" && apt-get install x2go-keyring -y --force-yes
+[ \$? -eq 0 ] && apt-get update
+[ \$? -eq 0 ] && apt-get install $TC_SHELL -y
+[ \$? -eq 0 ] && apt-get install syslinux locales -y
+[ \$? -eq 0 ] && dpkg-reconfigure locales
+[ \$? -eq 0 ] && apt-get install linux-image-486 -y
+[ \$? -eq 0 ] && cp /vmlinuz /vmlinuz.486
+[ \$? -eq 0 ] && cp /initrd.img /initrd.img.486
+[ \$? -eq 0 ] && apt-get install linux-image-686 -y
+[ \$? -eq 0 ] && cp /vmlinuz /vmlinuz.686
+[ \$? -eq 0 ] && cp /initrd.img /initrd.img.686
+[ \$? -eq 0 ] && apt-get install x2gothinclient x2gocdmanager x2gosmartcardrules x2gousbmount -y
+
+# blacklist kernel modules
+[ \$? -eq 0 ] && echo && echo "# modules blacklisted on X2go Thin Clients..." >> /etc/modprobe.d/blacklist.conf
+[ \$? -eq 0 ] && for mod in $TC_MODULE_BLACKLIST; do echo "blacklist \$mod" >> /etc/modprobe.d/blacklist.conf; done
+
+# Pulsaudio must come afterwards until the thinclient-package is fixed
+[ \$? -eq 0 ] && apt-get install pulseaudio -y
+[ \$? -eq 0 ] && apt-get install patch -y
+[ \$? -eq 0 ] && patch /etc/initramfs-tools/initramfs.conf <<PATCH
+39c39
+< BOOT=local
+---
+> BOOT=nfs
+PATCH
+[ \$? -eq 0 ] && rm -f /etc/udev/rules.d/*-persistent-*.rules
+[ \$? -eq 0 ] && useradd x2goclient
+[ \$? -eq 0 ] && adduser x2goclient audio
+[ \$? -eq 0 ] && adduser x2goclient pulse
+[ \$? -eq 0 ] && adduser pulse audio
+[ \$? -eq 0 ] && adduser x2goclient cdrom
+[ \$? -eq 0 ] && adduser x2goclient plugdev
+[ \$? -eq 0 ] && groupadd scard
+[ \$? -eq 0 ] && adduser x2goclient scard
+[ \$? -eq 0 ] && update-initramfs -u -v
+[ \$? -eq 0 ] && passwd -l root
+
+# tweak mtab diversion
+[ \$? -eq 0 ] && rm -f /etc/mtab
+[ \$? -eq 0 ] && ln -sf /proc/mounts /etc/mtab
+
+# restore start-stop-daemon
+[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
+
+umount -l /proc &>/dev/null
+umount -l /dev/pts &>/dev/null
+EOF
+chmod u+x $TC_CHROOT/x2go_tce_install.sh
+chroot $TC_CHROOT /x2go_tce_install.sh
+
+rm -f $TC_CHROOT/etc/udev/rules.d/*-persistent-*.rules
+
+x2gothinclient_update
+
+echo
+echo "X2go Thin Client creation has finished successfully."
+echo
+
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_preptftpboot b/x2gothinclientmanagement/sbin/x2gothinclient_preptftpboot
new file mode 100755
index 0000000..5b64d70
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_preptftpboot
@@ -0,0 +1,105 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+    SHAREDIR="share/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc"
+    SHAREDIR="../share/"
+else
+    ETCDIR=/etc/x2go
+    SHAREDIR="/usr/share/x2go/tce"
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_BASE="${TC_BASE:-/opt/x2gothinclient}"
+TC_CHROOT="${TC_CHROOT:-$TC_BASE/chroot}"
+TC_TFTP_FILES="${TC_TFTP_FILES:-$SHAREDIR/tftpboot}"
+TC_TFTP_BOOT="${TC_TFTP_BOOT:-/srv/tftp}"
+
+mkdir -p "$TC_TFTP_BOOT"
+
+test -e "$TC_TFTP_BOOT/pxelinux.cfg" && { 
+    echo "PXE boot files already found at $TC_TFTP_BOOT."
+    echo "Clear $TC_TFTP_BOOT/ and then run $(basename $0) again..."
+    exit -1
+}
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+echo "Preparing PXE boot configuration for X2go TCE..."
+echo "------------------------------------------------"
+echo
+
+echo "Copying X2go's TFTP (syslinux) template files..."
+cp -av "$TC_TFTP_FILES"/* "$TC_TFTP_BOOT"
+echo
+
+echo "Linking files for X2go's TFTP (syslinux) boot environment..."
+cd "$TC_TFTP_BOOT"
+
+# 486 kernel image
+ln -sfv "$TC_CHROOT/vmlinuz.486" "$TC_TFTP_BOOT/vmlinuz.486"
+ln -sfv "$TC_CHROOT/initrd.img.486" "$TC_TFTP_BOOT/initrd.img.486"
+# 686 kernel image
+ln -sfv "$TC_CHROOT/vmlinuz.686" "$TC_TFTP_BOOT/vmlinuz.686"
+ln -sfv "$TC_CHROOT/initrd.img.686" "$TC_TFTP_BOOT/initrd.img.686"
+# memtest86+
+ln -sfv "$TC_CHROOT/boot/memtest86+.bin" "$TC_TFTP_BOOT/memtest86+.bin"
+# syslinux components
+ln -sfv "/usr/lib/syslinux/pxelinux.0" "$TC_TFTP_BOOT/pxelinux.0"
+ln -sfv "/usr/lib/syslinux/vesamenu.c32" "$TC_TFTP_BOOT/vesamenu.c32"
+
+cd - > /dev/null
+
+echo
+echo "DONE with X2go PXE/Syslinux environment setup."
+echo "However, 2-3 manual steps are still needed..."
+
+echo
+echo "1. Make sure your DHCP server's configuration points to:"
+echo
+echo "    next-server <IP-or-hostname-of-this-server>;"
+echo "    filename '/pxelinux.0';"
+echo
+echo "2. Export the X2go Thin Client chroot environment via NFSv3:"
+echo
+echo "    Add this line to /etc/exports..."
+echo "    $TC_CHROOT    <your-network>/<netmask>(ro,async,no_root_squash,no_subtree_check)"
+echo
+echo "    ... and then restart your NFS server with:"
+echo "    /etc/init.d/nfs-kernel-server restart"
+echo
+echo "3. Customize PXE/Syslinux files in $TC_TFTP_BOOT/ (optional):"
+echo
+echo "    - customize PXE boot menu, take a look at $TC_TFTP_BOOT/default.cfg"
+echo "      and proceed from there on..."
+echo "    - use your own boot loader background image: 640x480px, 16bit colour depth,"
+echo "      file: $TC_TFTP_BOOT/x2go-tce.png"
+echo
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_shell b/x2gothinclientmanagement/sbin/x2gothinclient_shell
new file mode 100755
index 0000000..19c19c5
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_shell
@@ -0,0 +1,85 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc/"
+else
+    ETCDIR=/etc/x2go/
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_SHELL="${TC_SHELL:-/bin/bash}"
+TC_CHROOT="${TC_CHROOT:-/opt/x2gothinclient}"
+
+test -e "$TC_CHROOT" || { 
+    echo "ERROR: X2go Thin Client chroot does not exist at $TC_CHROOT."
+    echo "Run x2gothinclient_create to create it..."
+    exit -1
+}
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+cat > "$TC_CHROOT/x2go_tce_shell.sh" <<EOF
+#!/bin/bash
+mount /proc &> /dev/null
+mount /dev/pts &> /dev/null
+export HOME=/root
+
+# export the proxy server (if any) to the shell.
+export http_proxy=$TC_HTTP_PROXY
+export https_proxy=$TC_HTTPS_PROXY
+export ftp_proxy=$TC_FTP_PROXY
+
+echo 'This shell has been started in your X2go Thin Clients chroot environment.'
+echo 'All changes performed here will take effect on your X2go Thin Clients'
+echo 'after their next (re)boot. So be careful!!!'
+echo
+echo "To return from this chroot shell hit STRG+D or type ,,exit'' on the"
+echo 'command line...'
+echo
+echo 'Note: Service restarts have been disabled in X2go TCE chroot.'
+echo
+
+# disable service restarts
+test -e /sbin/start-stop-daemon.keep || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.keep
+echo '#!/bin/sh' > /sbin/start-stop-daemon
+echo 'exit 0' >> /sbin/start-stop-daemon
+chmod +x /sbin/start-stop-daemon
+
+/bin/$TC_SHELL
+
+# restore start-stop-daemon
+[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
+
+umount -l /proc &> /dev/null
+umount -l /dev/pts &> /dev/null
+EOF
+chmod u+x "$TC_CHROOT/x2go_tce_shell.sh"
+chroot "$TC_CHROOT" /x2go_tce_shell.sh
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_update b/x2gothinclientmanagement/sbin/x2gothinclient_update
new file mode 100755
index 0000000..d0e78bc
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_update
@@ -0,0 +1,69 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc"
+else
+    ETCDIR=/etc/x2go
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_BASE="${TC_BASE:-/opt/x2gothinclient}"
+TC_CHROOT="${TC_CHROOT:-$TC_BASE/chroot}"
+TC_CONFIG="${TC_CONFIG:-$TC_BASE/etc}"
+
+test -e "$TC_CHROOT" || { 
+    echo "ERROR: X2go Thin Client chroot does not exist at $TC_CHROOT."
+    echo "Run x2gothinclient_create to create it..."
+    exit -1
+}
+
+test -e "$TC_CONFIG" || { 
+    echo "ERROR: No X2go Thin Client configuration found at $TC_CONFIG. Please check..."
+    exit -1
+}
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+mkdir -p "$TC_CHROOT/etc/x2go"
+
+echo "Installing X2go TCE configuration into chroot environment..."
+echo "------------------------------------------------------------"
+
+cp -v "$TC_CONFIG/x2gothinclient_init" "$TC_CHROOT/etc/x2go/x2gothinclient_init"
+chmod a+rx $TC_CHROOT/etc/x2go/x2gothinclient_init
+
+cp -v "$TC_CONFIG/x2gothinclient_start" "$TC_CHROOT/etc/x2go/x2gothinclient_start"
+chmod a+rx "$TC_CHROOT/etc/x2go/x2gothinclient_start"
+
+cp -v "$TC_CONFIG/x2gothinclient_sessions" "$TC_CHROOT/etc/x2go/x2gothinclient_sessions"
+chmod a+rx "$TC_CHROOT/etc/x2go/x2gothinclient_sessions"
+
+echo
\ No newline at end of file
diff --git a/x2gothinclientmanagement/sbin/x2gothinclient_upgrade b/x2gothinclientmanagement/sbin/x2gothinclient_upgrade
new file mode 100755
index 0000000..6391d0f
--- /dev/null
+++ b/x2gothinclientmanagement/sbin/x2gothinclient_upgrade
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+set -e
+
+if echo $0 | egrep "^./bin/.*$" >/dev/null; then
+    ETCDIR="etc/"
+elif echo $0 | egrep "^./x2gothinclient_.*$" >/dev/null; then
+    ETCDIR="../etc"
+else
+    ETCDIR=/etc/x2go
+fi
+
+source $ETCDIR/x2gothinclient_settings
+
+TC_CHROOT="${TC_CHROOT:-/opt/x2gothinclient}"
+
+test -e "$TC_CHROOT" || { 
+    echo "ERROR: X2go Thin Client chroot does not exist at $TC_CHROOT."
+    echo "Run x2gothinclient_create to create it..."
+    exit -1
+}
+
+[ "x$USER" == "xroot" ] || { 
+    echo "ERROR: X2go Thin Client management scripts have to run as super-user root."
+    exit -2
+}
+
+cat > "$TC_CHROOT/x2go_tc_update.sh" <<EOF
+#!/bin/bash
+mount /proc &> /dev/null
+mount /dev/pts &> /dev/null
+export HOME=/root
+
+export http_proxy=$TC_HTTP_PROXY
+export https_proxy=$TC_HTTPS_PROXY
+export ftp_proxy=$TC_FTP_PROXY
+
+# disable service restarts
+test -e /sbin/start-stop-daemon.keep || mv /sbin/start-stop-daemon /sbin/start-stop-daemon.keep
+echo '#!/bin/sh' > /sbin/start-stop-daemon
+echo 'exit 0' >> /sbin/start-stop-daemon
+chmod +x /sbin/start-stop-daemon
+
+[ \$? -eq 0 ] && apt-get update
+[ \$? -eq 0 ] && apt-get upgrade
+
+# restore start-stop-daemon
+[ \$(stat --format '%s' /sbin/start-stop-daemon) -lt 200 ] && mv /sbin/start-stop-daemon.keep /sbin/start-stop-daemon
+
+umount -l /proc &> /dev/null
+umount -l /dev/pts &> /dev/null
+EOF
+chmod u+x "$TC_CHROOT/x2go_tc_update.sh"
+chroot "$TC_CHROOT" /x2go_tc_update.sh
diff --git a/x2gothinclientmanagement/share/tftpboot/default.cfg b/x2gothinclientmanagement/share/tftpboot/default.cfg
new file mode 100644
index 0000000..367b76e
--- /dev/null
+++ b/x2gothinclientmanagement/share/tftpboot/default.cfg
@@ -0,0 +1,30 @@
+#
+# example for a main boot menu of an X2go Thin Client
+#
+
+DEFAULT vesamenu.c32
+PROMPT 0
+MENU BACKGROUND x2go-splash.png
+MENU TITLE X2go Thin Client Environment
+
+include local-boot.cfg
+include x2go-tce.cfg
+MENU SEPARATOR
+include memtest.cfg
+
+# menu settings
+MENU VSHIFT 12
+MENU WIDTH 80
+MENU MARGIN 10
+MENU ROWS 12
+MENU TABMSGROW 13
+MENU CMDLINEROW 14
+MENU ENDROW 12
+MENU TIMEOUTROW 15
+
+# possible boot profiles for ONTIMEOUT: 
+# localboot, x2go-tce-686, x2go-tce-486
+# (... or any other profile you defined in your customized menu)
+ONTIMEOUT localboot
+TIMEOUT 100
+
diff --git a/x2gothinclientmanagement/share/tftpboot/local-boot.cfg b/x2gothinclientmanagement/share/tftpboot/local-boot.cfg
new file mode 100644
index 0000000..9d3d8ca
--- /dev/null
+++ b/x2gothinclientmanagement/share/tftpboot/local-boot.cfg
@@ -0,0 +1,11 @@
+# English
+LABEL localboot
+        MENU LABEL Boot from ^local harddrive
+        MENU DEFAULT
+        localboot 0
+
+# German
+#LABEL localboot
+#       MENU LABEL Von ^lokaler Festplatte starten
+#       MENU DEFAULT
+#       localboot 0
diff --git a/x2gothinclientmanagement/share/tftpboot/memtest.cfg b/x2gothinclientmanagement/share/tftpboot/memtest.cfg
new file mode 100644
index 0000000..c88a3e8
--- /dev/null
+++ b/x2gothinclientmanagement/share/tftpboot/memtest.cfg
@@ -0,0 +1,3 @@
+LABEL memtest86plus
+        MENU LABEL memtest86+ (run memory test)
+	LINUX memtest86+.bin
diff --git a/x2gothinclientmanagement/share/tftpboot/pxelinux.cfg/default b/x2gothinclientmanagement/share/tftpboot/pxelinux.cfg/default
new file mode 120000
index 0000000..cdc626f
--- /dev/null
+++ b/x2gothinclientmanagement/share/tftpboot/pxelinux.cfg/default
@@ -0,0 +1 @@
+../default.cfg
\ No newline at end of file
diff --git a/x2gothinclientmanagement/share/tftpboot/x2go-splash.png b/x2gothinclientmanagement/share/tftpboot/x2go-splash.png
new file mode 100644
index 0000000..0886917
Binary files /dev/null and b/x2gothinclientmanagement/share/tftpboot/x2go-splash.png differ
diff --git a/x2gothinclientmanagement/share/tftpboot/x2go-tce.cfg b/x2gothinclientmanagement/share/tftpboot/x2go-tce.cfg
new file mode 100644
index 0000000..fce038d
--- /dev/null
+++ b/x2gothinclientmanagement/share/tftpboot/x2go-tce.cfg
@@ -0,0 +1,8 @@
+LABEL x2go-tce-686
+        MENU LABEL  X2go ^Thin Client
+        KERNEL vmlinuz.686
+        APPEND initrd=initrd.img.686 nfsroot=/opt/x2gothinclient/chroot boot=nfs ro quiet
+LABEL x2go-tce-486 
+        MENU LABEL  X2go ^Thin Client (old hardware)
+        KERNEL vmlinuz.486
+        APPEND initrd=initrd.img.486 nfsroot=/opt/x2gothinclient/chroot boot=nfs ro quiet
diff --git a/x2gothinclientmanagement/share/x2gothinclient_init b/x2gothinclientmanagement/share/x2gothinclient_init
new file mode 100755
index 0000000..22093ca
--- /dev/null
+++ b/x2gothinclientmanagement/share/x2gothinclient_init
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+mkdir -p /home/x2goclient
+mkdir -p /home/x2goclient/.x2goclient
+test -e /etc/x2go/x2gothinclient_sessions && cp /etc/x2go/x2gothinclient_sessions /home/x2goclient/.x2goclient/sessions
+mkdir -p /home/x2goclient/.kde
+mkdir -p /home/x2goclient/.kde/socket-`cat /etc/hostname`
+mkdir -p /home/x2goclient/export
+mkdir -p  /home/x2goclient/logins
+mkdir -p /home/x2goclient/.ssh
+mkdir -p /home/x2goclient/.x2go
+chown x2goclient:x2goclient /home/x2goclient -Rf
+chmod go-rwx /home/x2goclient -Rf
diff --git a/x2gothinclientmanagement/share/x2gothinclient_sessions b/x2gothinclientmanagement/share/x2gothinclient_sessions
new file mode 100644
index 0000000..a294e0e
--- /dev/null
+++ b/x2gothinclientmanagement/share/x2gothinclient_sessions
@@ -0,0 +1,38 @@
+[20100623163928371]
+defsndport = false
+useiconv = false
+iconvfrom = ISO8859-15
+height = 768
+export = 
+speed = 4
+fullscreen = true
+layout = de
+width = 1024
+quality = 9
+xdmcpserver = localhost
+soundtunnel = 1
+rdpoptions = 
+soundsystem = pulse
+print = 1
+type = pc105/de
+sndport = 4713
+usekbd = true
+fstunnel = true
+applications = OFFICE, WWWBROWSER, MAILCLIENT, TERMINAL
+host = 192.168.0.254
+link = ADSL
+user = <USER>
+key = 
+startsoundsystem = false
+icon =
+sound = true
+rootless = false
+name = X2go.EXAMPLE
+iconvto = UTF-8
+rdpserver = 
+useexports = true
+command = GNOME
+dpi = 96
+sshport = 22
+setdpi = false
+pack = 16m-jpeg
diff --git a/x2gothinclientmanagement/share/x2gothinclient_start b/x2gothinclientmanagement/share/x2gothinclient_start
new file mode 100755
index 0000000..90158cd
--- /dev/null
+++ b/x2gothinclientmanagement/share/x2gothinclient_start
@@ -0,0 +1,44 @@
+#!/bin/bash
+
+# Copyright (C) 2010-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+#       Moritz 'Morty' Struebe <Moritz.Struebe at informatik.uni-erlangen.de>
+#       Mike Gabriel <mike.gabriel at das-netzwerkteam.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+/usr/bin/x2goclient --no-menu \
+                    --maximize \
+                    --link=lan \
+                    --kbd-layout=de \
+                    --kbd-type=pc105/de \
+                    --set-kbd=1 \
+                    --geometry=fullscreen \
+                    --read-exports-from=/home/x2goclient/export \
+                    --add-to-known-hosts &
+
+# for use with LDAP on Skolelinux network
+#/usr/bin/x2goclient --pgp-card \
+#                    --ldap="tjener.intern:389:dc=skolelinux,dc=no" \
+#                    --no-menu \
+#                    --maximize \
+#                    --link=lan \
+#                    --kbd-layout=de \
+#                    --kbd-type=pc105/de \
+#                    --set-kbd=1 \
+#                    --geometry=fullscreen \
+#                    --read-exports-from=/home/x2goclient/export \
+#                    --add-to-known-hosts &
diff --git a/x2gothinclientsystem/ramdrive b/x2gothinclientsystem/ramdrive
deleted file mode 100755
index b88f5d0..0000000
--- a/x2gothinclientsystem/ramdrive
+++ /dev/null
@@ -1,55 +0,0 @@
-#! /bin/sh
-
-PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
-
-set -e
-
-case "$1" in
-  start)
-# Init Ramfs
-	mke2fs /dev/ram0
-	mount /dev/ram0 /ramdrive
-	touch /ramdrive/mtab
-	cat /proc/mounts > /ramdrive/mtab
-	;;&
-
-  start|createdir)
-# System stuff
-	mkdir /ramdrive/tmp
-	chmod 777 /ramdrive/tmp
-	mkdir /ramdrive/log
-	mkdir /ramdrive/xkb
-	mkdir /ramdrive/urandom
-	mkdir /ramdrive/mapper
-	mkdir /ramdrive/run
-	mkdir /ramdrive/run/sshd
-	mkdir /ramdrive/run/usb
-	mkdir /ramdrive/root
-	chmod 700 /ramdrive/root
-	mkdir /ramdrive/nfs
-	mkdir /ramdrive/network.run    
-	;;&
-
-  start)
-# Clinet Stuff
-	mkdir /ramdrive/x2goclient
-	mkdir /ramdrive/x2goclient/.kde
-	mkdir /ramdrive/x2goclient/.kde/socket-`cat /etc/hostname`
-	mkdir /ramdrive/export
-	mkdir /ramdrive/logins
-	chmod 700 /ramdrive/export
-	chmod 700 /ramdrive/logins
-	chown x2goclient /ramdrive/export
-	mkdir /ramdrive/x2goclient/.ssh
-	chown -R x2goclient:users /ramdrive/x2goclient
-	chown -R x2goclient:users /ramdrive/logins
-	;;
-  stop|reload|restart|force-reload)
-	;;
-  *)
-	echo "Usage: $N {start|stop|restart|force-reload}" >&2
-	exit 1
-	;;
-esac
-
-exit 0
diff --git a/x2gothinclientsystem/x2gothinclient_install.sh b/x2gothinclientsystem/x2gothinclient_install.sh
deleted file mode 100755
index dcef6bb..0000000
--- a/x2gothinclientsystem/x2gothinclient_install.sh
+++ /dev/null
@@ -1,50 +0,0 @@
-#!/bin/bash
-
-echo "
--------------------------------------------------------------
-WARNING! This programm will install the X2GO Thin Client 
-Environment. Usage outside the x2gothinclient chroot
-will harm your INSTALLATION.
-Are you sure you want to continue? (Type ,,Yes'' to continue)
--------------------------------------------------------------
-"
-
-read answ
-if [ "$answ" != "Yes" ]
-then
-  echo "Installation aborted" > &2
-  exit
-fi
-
-cp ramdrive /etc/init.d
-
-mkdir /ramdrive 
-
-/etc/init.d/ramdrive createdir
-
-rm -rf /root
-rm -rf /tmp
-rm -rf /var/log
-rm -rf /var/run
-rm -rf /var/lib/xkb
-rm -rf /etc/mtab
-rm -rf /etc/network/run
-ln -sf /ramdrive/root /root
-ln -sf /ramdrive/tmp /tmp
-ln -sf /ramdrive/log /var/log
-ln -sf /ramdrive/run /var/run
-ln -sf /ramdrive/xkb /var/lib/xkb
-ln -sf /ramdrive/x2goclient /home/x2goclient
-ln -sf /ramdrive/mtab /etc/mtab
-ln -sf /ramdrive/network.run /etc/network.run
-
-
-
-useradd x2goclient
-addgroup x2goclient audio
-addgroup scard
-addgroup x2goclient scard
-
-PWD=`pwd`
-cd /etc/rcS.d
-ln -sf ../init.d/ramdrive S00ramdrive
diff --git a/x2gothinshutdown/man/thinshutdown.1 b/x2gothinshutdown/man/thinshutdown.1
new file mode 100644
index 0000000..de03574
--- /dev/null
+++ b/x2gothinshutdown/man/thinshutdown.1
@@ -0,0 +1,25 @@
+'\" -*- 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 thinshutdown 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+thinshutdown \- Shutdown tool for X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBthinshutdown\fR 
+
+.SH DESCRIPTION
+\fBthinshutdown\fR is a tool that allows session-controlled shutdown of X2go thin clients.
+.PP
+.SH OPTIONS
+\fBthinshutdown\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gocdmanager/thinshutdown/mb.cpp b/x2gothinshutdown/thinshutdown/mb.cpp
similarity index 100%
rename from x2gocdmanager/thinshutdown/mb.cpp
rename to x2gothinshutdown/thinshutdown/mb.cpp
diff --git a/x2gocdmanager/thinshutdown/mb.h b/x2gothinshutdown/thinshutdown/mb.h
similarity index 100%
rename from x2gocdmanager/thinshutdown/mb.h
rename to x2gothinshutdown/thinshutdown/mb.h
diff --git a/x2gocdmanager/thinshutdown/resources.rcc b/x2gothinshutdown/thinshutdown/resources.rcc
similarity index 100%
rename from x2gocdmanager/thinshutdown/resources.rcc
rename to x2gothinshutdown/thinshutdown/resources.rcc
diff --git a/x2gocdmanager/thinshutdown/thinshutdown.cpp b/x2gothinshutdown/thinshutdown/thinshutdown.cpp
similarity index 89%
rename from x2gocdmanager/thinshutdown/thinshutdown.cpp
rename to x2gothinshutdown/thinshutdown/thinshutdown.cpp
index bb2ad08..24722ce 100644
--- a/x2gocdmanager/thinshutdown/thinshutdown.cpp
+++ b/x2gothinshutdown/thinshutdown/thinshutdown.cpp
@@ -1,6 +1,6 @@
 /***************************************************************************
- *   Copyright (C) 2005 by Oleksandr Shneyder   *
- *   oleksandr.shneyder at obviously-nice.de   *
+ *   Copyright (C) 2005-2011 by Oleksandr Shneyder                         *
+ *   oleksandr.shneyder at obviously-nice.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  *
@@ -15,7 +15,7 @@
  *   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.             *
+ *   51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.              *
  ***************************************************************************/
 
 
diff --git a/x2gocdmanager/thinshutdown/thinshutdown.pro b/x2gothinshutdown/thinshutdown/thinshutdown.pro
similarity index 100%
rename from x2gocdmanager/thinshutdown/thinshutdown.pro
rename to x2gothinshutdown/thinshutdown/thinshutdown.pro
diff --git a/x2gousbmount/61-x2gousbmount.rules b/x2gousbmount/61-x2gousbmount.rules
new file mode 100644
index 0000000..5fee52c
--- /dev/null
+++ b/x2gousbmount/61-x2gousbmount.rules
@@ -0,0 +1,6 @@
+# Rules for X2GO USB mount
+
+KERNEL=="sd*", SUBSYSTEM=="block", ACTION=="add",    RUN+="/usr/lib/x2go/tce/x2gousbmount"
+KERNEL=="ub*", SUBSYSTEM=="block", ACTION=="add",    RUN+="/usr/lib/x2go/tce/x2gousbmount"
+KERNEL=="sd*",             ACTION=="remove", RUN+="/usr/lib/x2go/tce/x2gousbmount"
+KERNEL=="ub*",             ACTION=="remove", RUN+="/usr/lib/x2go/tce/x2gousbmount"
diff --git a/x2gousbmount/man/x2gousbmount.8 b/x2gousbmount/man/x2gousbmount.8
new file mode 100644
index 0000000..c4b636f
--- /dev/null
+++ b/x2gousbmount/man/x2gousbmount.8
@@ -0,0 +1,25 @@
+'\" -*- 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 x2gousbmount 8 "02 May 2011" "Version <UNRELEASED>" "X2go Thin Client Environment"
+.SH NAME
+x2gousbmount \- udev Script handling USB Flash Drives on X2go Thin Clients.
+.SH SYNOPSIS
+'nh
+.fi
+.ad l
+\fBx2gousbmount\fR 
+
+.SH DESCRIPTION
+\fBx2gousbmount\fR is a udev script that handles plugging of USB flash drives into X2go thin clients.
+.PP
+.SH OPTIONS
+\fBx2gousbmount\fR has no known options.
+.PP
+.SH AUTHOR
+This manual has been written by Mike Gabriel <mike.gabriel at das-netzwerkteam.de> for the X2go project
+(http://www.x2go.org).
diff --git a/x2gousbmount/x2gousb-storage b/x2gousbmount/x2gousb-storage
deleted file mode 100755
index c89435c..0000000
--- a/x2gousbmount/x2gousb-storage
+++ /dev/null
@@ -1,80 +0,0 @@
-#!/usr/bin/perl
-
-use strict;
-
-open (F,">>/var/log/usb");
-
-my $dev=$ENV{'DEVNAME'};
-my $model=$ENV{'ID_MODEL'};
-my $vendor=$ENV{'ID_VENDOR'};
-my $action=$ENV{'ACTION'};
-my @ldev=split("/","$dev");
-my $ldev=@ldev[@ldev-1];
-
-my $name="${vendor}_${model}";
-$name=~s/ //g;
-$name=~s/\\//g;
-$name=~s/\///g;
-print F "action: $action,  device: $dev, model: $model ($ldev), total: $name\n";
-mkdir("/ramdrive/mnt");
-mkdir("/ramdrive/mnt/$name");
-print F "$name\n";       
-
-if ( $action eq "add")
-{
-   mkdir("/ramdrive/mnt");
-   mkdir("/ramdrive/mnt/$name");
-   mkdir("/ramdrive/mnt/$name/$ldev");
-   if(system("mount $dev /ramdrive/mnt/$name/$ldev -o uid=x2goclient,sync")==0)
-   {
-          system("touch /var/run/$ldev.mounted");
-	  open (D,">/ramdrive/export/$name.$ldev");
-	  print D "export=/ramdrive/mnt/$name/$ldev\n";
-	  close (D);
-   }
-   else
-   {
-          my $enc=`ls -1 /var/run | grep .encrypted`;
-	  if(  $enc eq "" )
-	  {
-            system("/sbin/cryptsetup --key-file /etc/keys/kestick.key luksOpen $dev keystick");
-            if(system("mount /dev/mapper/keystick  /ramdrive/mnt/$name/$ldev ")==0)
-            {
-                system("touch /var/run/$ldev.encrypted");
-		system("chown -R x2goclient /ramdrive/mnt/$name/$ldev/dsa.key");
-	        open (D,">/ramdrive/logins/$name.$ldev");
-	        print D "login=/ramdrive/mnt/$name/$ldev\n";
-	        close (D);
-	    }
-	    else
-	    {
-	       system("/sbin/cryptsetup luksClose keystick");
-	    }
-	  }
-	  else
-	  {
-	        print F "cryptodisk already present\n";       
-	  }
-   }
-}
-elsif ( $action eq "remove" )
-{
-     if ( -e "/var/run/$ldev.mounted" )
-     {
-            system ("umount -ff /ramdrive/mnt/$name/$ldev");
-	    unlink ("/var/run/$ldev.mounted");
-	    open ( D,">ramdrive/export/$name.$ldev.unexport");
-	    print D "unexport=/ramdrive/mnt/$name/$ldev\n";
-	    close (D);
-     }
-     elsif ( -e "/var/run/$ldev.encrypted" )
-     {
-	    unlink ("/var/run/$ldev.encrypted");
-	    open ( D,">ramdrive/logins/$name.$ldev.unexport");
-	    print D "logout=/ramdrive/mnt/$name/$ldev\n";
-            system("umount /ramdrive/mnt/$name/$ldev");
-	    system("/sbin/cryptsetup luksClose keystick");		
-	    close (D);
-     }
-}
-close (F);
diff --git a/x2gousbmount/x2gousb.rules b/x2gousbmount/x2gousb.rules
deleted file mode 100644
index dd7b930..0000000
--- a/x2gousbmount/x2gousb.rules
+++ /dev/null
@@ -1,6 +0,0 @@
-# Rules for X2GO USB mount
-
-KERNEL=="sd*", BUS=="usb", ACTION=="add",    RUN+="/usr/sbin/x2gousb-storage"
-KERNEL=="ub*", BUS=="usb", ACTION=="add",    RUN+="/usr/sbin/x2gousb-storage"
-KERNEL=="sd*",             ACTION=="remove", RUN+="/usr/sbin/x2gousb-storage"
-KERNEL=="ub*",             ACTION=="remove", RUN+="/usr/sbin/x2gousb-storage"
diff --git a/x2gousbmount/x2gousbmount b/x2gousbmount/x2gousbmount
new file mode 100755
index 0000000..b912027
--- /dev/null
+++ b/x2gousbmount/x2gousbmount
@@ -0,0 +1,124 @@
+#!/usr/bin/perl
+
+# Copyright (C) 2007-2011 by X2go project, http://wiki.x2go.org
+#       Oleksandr Shneyder <oleksandr.shneyder at obviously-nice.de>
+
+# X2go 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.
+#
+# X2go 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.
+
+use strict;
+
+open (F,">>/var/log/usb");
+
+my $dev=$ENV{'DEVNAME'};
+my $model=$ENV{'ID_MODEL'};
+my $vendor=$ENV{'ID_VENDOR'};
+my $action=$ENV{'ACTION'};
+my @ldev=split("/","$dev");
+my $ldev=@ldev[@ldev-1];
+
+my $name="${vendor}_${model}";
+$name=~s/ //g;
+$name=~s/\\//g;
+$name=~s/\///g;
+print F "action: $action,  device: $dev, model: $model ($ldev), total: $name\n";
+mkdir("/media");
+mkdir("/media/$name");
+print F "$name\n";       
+
+if ( $action eq "add")
+{
+
+	###
+	### ACTION: mount device after it has been added to USB subsystem
+	###
+
+	# prepare mount points
+	mkdir("/media");
+	mkdir("/media/$name");
+	mkdir("/media/$name/$ldev");
+
+	# mount the USB device
+	if(system("mount $dev /media/$name/$ldev -o uid=x2goclient,sync,uni_xlate")==0)
+	{
+		# if mounted, inform x2goclient about it...
+		system("touch /var/run/$ldev.mounted");
+		open (D,">/home/x2goclient/export/$name.$ldev");
+		print D "export=/media/$name/$ldev\n";
+		close (D);
+	}
+	else
+	{
+		# the mount failed, let's assume that the device is encrypted...
+		my $enc=`ls -1 /var/run | grep .encrypted`;
+		if(  $enc eq "" )
+		{
+			# use cryptsetup to decrypt the device...
+			system("/sbin/cryptsetup --key-file /etc/keys/keystick.key luksOpen $dev keystick");
+			
+
+			# mount the ,,decrypted'' USB device via devmapper...
+			if(system("mount /dev/mapper/keystick  /media/$name/$ldev ")==0)
+			{
+				# inform x2goclient about this...
+				system("touch /var/run/$ldev.encrypted");
+				system("chown -R x2goclient /media/$name/$ldev/dsa.key");
+				open (D,">/home/x2goclient/logins/$name.$ldev");
+				print D "login=/media/$name/$ldev\n";
+				close (D);
+			}
+			else
+			{
+				# on mount failures release the decrypted device again
+				system("/sbin/cryptsetup luksClose keystick");
+			}
+		}
+		else
+		{
+			print F "cryptodisk already present\n";       
+		}
+	}
+}
+elsif ( $action eq "remove" )
+{
+
+	###
+	### ACTION: unmount device after it has been removed from the USB subsystem
+	###
+
+	# we rely on our own mount logistics here...
+	if ( -e "/var/run/$ldev.mounted" )
+	{
+		# inform x2goclient that the device has been removed
+		system ("umount -ff /media/$name/$ldev");
+		unlink ("/var/run/$ldev.mounted");
+		open ( D,">/home/x2goclient/export/$name.$ldev.unexport");
+		print D "unexport=/media/$name/$ldev\n";
+		close (D);
+	}
+	elsif ( -e "/var/run/$ldev.encrypted" )
+	{
+		# inform x2goclient that the device has been removed
+		# release the encrypted device mapping
+		unlink ("/var/run/$ldev.encrypted");
+		open ( D,">/home/x2goclient/logins/$name.$ldev.unexport");
+		print D "logout=/media/$name/$ldev\n";
+		system("umount /media/$name/$ldev");
+		system("/sbin/cryptsetup luksClose keystick");		
+		close (D);
+	}
+}
+
+close (F);


hooks/post-receive
-- 
x2gothinclient.git (X2go Thin Client Environment)

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 "x2gothinclient.git" (X2go Thin Client Environment).




More information about the x2go-commits mailing list