User Tools

Site Tools


wiki:advanced:tce:install

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Last revision Both sides next revision
wiki:advanced:tce:install [2013/11/12 15:13]
sunweaver [X2Go TCE / Debian squeeze]
wiki:advanced:tce:install [2016/11/24 12:27]
ionic Add Raspbian note.
Line 8: Line 8:
  
 <​note>​The X2Go TCE has been developed on/for Debian GNU/Linux. -- You can surely use any GNU/Linux distribution as X2Go Server (providing that the ''​x2goserver''​ package is available for the server'​s distro). The boot environment for the X2Go PXE Server has been developed on Debian GNU/Linux and also been tested on Ubuntu GNU/Linux. The X2Go Thin Client chroot can be configured to use Ubuntu GNU/Linux, but it is __highly recommended__ to leave the defaults and use Debian GNU/Linux for creating the X2Go TCE chroot.</​note>​ <​note>​The X2Go TCE has been developed on/for Debian GNU/Linux. -- You can surely use any GNU/Linux distribution as X2Go Server (providing that the ''​x2goserver''​ package is available for the server'​s distro). The boot environment for the X2Go PXE Server has been developed on Debian GNU/Linux and also been tested on Ubuntu GNU/Linux. The X2Go Thin Client chroot can be configured to use Ubuntu GNU/Linux, but it is __highly recommended__ to leave the defaults and use Debian GNU/Linux for creating the X2Go TCE chroot.</​note>​
 +
 +<​note>​The Debian instructions should also hold for Raspbian, a Debian fork rebuilt on armhf.</​note>​
  
 ===== Network setup ===== ===== Network setup =====
Line 26: Line 28:
 ===== X2Go TCE / Debian squeeze/​wheezy/​jessie ===== ===== X2Go TCE / Debian squeeze/​wheezy/​jessie =====
  
-<​note>​The current X2Go TCE can be based on and has been tested against Debian GNU/Linux (squeeze, wheezy and jessie). Since June 2011 we have working packages available in our Debian repository on ''​packages.X2Go.org''​. The latest test against Debian jessie have been performed around Nov 2013.</​note>​+<​note>​The current X2Go TCE can be based on and has been tested against Debian GNU/Linux (squeeze, wheezy and jessie). Since June 2011 we have working packages available in our Debian repository on ''​packages.x2go.org''​. The latest test against Debian jessie have been performed around Nov 2013.</​note>​
  
-In the following description we will describe a simple X2Go TCE installation,​ using two separate hosts as X2Go Server and X2Go PXE Server. The explanation presumes that you either install on Debian GNU/​Linux ​(squeeze) ​or Ubuntu GNU/​Linux ​(lucid, maverick). If you (for testing purposes) use the same machine as X2Go Server and X2Go PXE Server, please perform described steps for either of the machines on the same system. ​+In the following description we will describe a simple X2Go TCE installation,​ using two separate hosts as X2Go Server and X2Go PXE Server. The explanation presumes that you either install on Debian GNU/Linux or Ubuntu GNU/Linux. If you (for testing purposes) use the same machine as X2Go Server and X2Go PXE Server, please perform described steps for either of the machines on the same system. ​
  
 The resulting X2Go Thin Client chroot will be a Debian GNU/Linux (wheezy) system by default. The resulting X2Go Thin Client chroot will be a Debian GNU/Linux (wheezy) system by default.
Line 56: Line 58:
 </​code>​ </​code>​
  
-=== Basic installation of the X2go PXE server ===+=== Basic installation of the X2Go PXE server ===
  
 Now a bit more in detail... Now a bit more in detail...
  
-   - Install a minimal Debian GNU/​Linux ​(squeeze) ​or Ubuntu GNU/Linux Server ​(lucid, precise, ...) system from CD/DVD. +   - Install a minimal Debian GNU/Linux or Ubuntu GNU/Linux Server ​LTS system from CD/DVD. 
-   - Then add the X2go repository to your freshly installed ​X2go PXE server: [[:​wiki:​repositories:​debian|Debian]] / [[:​wiki:​repositories:​ubuntu|Ubuntu]]. On Debian GNU/Linux make sure that you install the ''​x2go-keyring''​ package first. +   - Then add the X2Go repository to your freshly installed ​X2Go PXE server: [[:​wiki:​repositories:​debian|Debian]] / [[:​wiki:​repositories:​ubuntu|Ubuntu]]. On Debian GNU/Linux make sure that you install the ''​x2go-keyring''​ package first. 
-   - The only X2go related package needed on the X2go PXE server is the ''​x2gothinclientmanagement''​ package.<​code>​+   - The only X2Go related package needed on the X2Go PXE server is the ''​x2gothinclientmanagement''​ package.<​code>​
 $ sudo aptitude install x2gothinclientmanagement $ sudo aptitude install x2gothinclientmanagement
-</​code>​The installation will drag in some other required packages onto your system, please confirm with Yes, to start the installation.+</​code>​The installation will pull in some other required packages onto your system, please confirm with Yes, to start the installation.
  
-=== Building the X2go Thin Client system (the so-called chroot environment) ===+=== Building the X2Go Thin Client system (the so-called chroot environment) ===
  
   - After installation of the ''​x2gothinclientmanagement''​ package (and required dependencies),​ please edit/​introspect the following file with your favourite editor:<​code>​   - After installation of the ''​x2gothinclientmanagement''​ package (and required dependencies),​ please edit/​introspect the following file with your favourite editor:<​code>​
 $ sudo editor /​etc/​x2go/​x2gothinclient_settings $ sudo editor /​etc/​x2go/​x2gothinclient_settings
-</​code>​ and apply changes required for your local site setup to the X2go TCE configuration. +</​code>​ and apply changes required for your local site setup to the X2Go TCE configuration. 
-  - When done, start the creation of a fresh X2go Thin Client chroot environment:<​code>​+  - When done, start the creation of a fresh X2Go Thin Client chroot environment:<​code>​
 $ sudo x2gothinclient_create $ sudo x2gothinclient_create
 </​code>​ </​code>​
-  - Now you will be able to observe a medium long installation process on your system. This installation process takes place in a chroot jail environment,​ it does not do anything to the X2go PXE server itself.+  - Now you will be able to observe a medium long installation process on your system. This installation process takes place in a chroot jail environment,​ it does not do anything to the X2Go PXE server itself.
   - During installation you will be asked to configure your thin client'​s default language and default keyboard settings. Please do so. Hint: make sure you use UTF-8 encoding in your language selection (e.g. en_US.UTF-8,​ de_DE.UTF-8,​ etc.).   - During installation you will be asked to configure your thin client'​s default language and default keyboard settings. Please do so. Hint: make sure you use UTF-8 encoding in your language selection (e.g. en_US.UTF-8,​ de_DE.UTF-8,​ etc.).
-  - After the X2go TCE installation of your X2go Thin Client (default location: ''/​opt/​x2gothinclient/​chroot''​) you will find a complete and minimal ​X2go TCE GNU/Linux system at the aforenamed chroot location.+  - After the X2Go TCE installation of your X2Go Thin Client (default location: ''/​opt/​x2gothinclient/​chroot''​) you will find a complete and minimal ​X2Go TCE GNU/Linux system at the aforenamed chroot location.
   - Next, you may take a look at the config files in the folder ''/​opt/​x2gothinclient/​etc/'':​   - Next, you may take a look at the config files in the folder ''/​opt/​x2gothinclient/​etc/'':​
-    - ''​**x2gothinclient_init**'':​ No customizations should be necessary for this file. Modify at your own risk... If a modification is necessary here, please report it as a bug/​enhancement to the X2go developers. +    - ''​**x2gothinclient_init**'':​ No customizations should be necessary for this file. Modify at your own risk... If a modification is necessary here, please report it as a bug/​enhancement to the X2Go developers. 
-    - ''​**x2gothinclient_start**'':​ This file is responsible for actually launching ''​x2goclient''​ as a login manager on your thin client. The default setting is to start in non-LDAP mode. In non-LDAP mode the ''​x2gothinclient_sessions''​ file contains the thin clients'​ list of available ​X2go session profiles. For LDAP mode there is a commented out stanza that shows possible LDAP options to pass on to the ''​x2goclient''​ application. //**Note:** If you edit this file, please make sure that all applications you call from this file are sent to background with the ampersand (»&«) operator, e.g.: ''​ x2goclient <​options>​ &''//​ +    - ''​**x2gothinclient_start**'':​ This file is responsible for actually launching ''​x2goclient''​ as a login manager on your thin client. The default setting is to start in non-LDAP mode. In non-LDAP mode the ''​x2gothinclient_sessions''​ file contains the thin clients'​ list of available ​X2Go session profiles. For LDAP mode there is a commented out stanza that shows possible LDAP options to pass on to the ''​x2goclient''​ application. //**Note:** If you edit this file, please make sure that all applications you call from this file are sent to background with the ampersand (»&«) operator, e.g.: ''​ x2goclient <​options>​ &''//​ 
-    - ''​**x2gothinclient_sessions**'':​ This file contains a list of session profile configurations for your thin clients'​ ''​x2goclient''​ (running in non-LDAP logon manager mode). Surely, you can edit/​customize the examplary session profiles file that comes with the ''​x2gothinclientmanagement''​ package in your favourite text editor. --- However, you can also use the ''​x2goclient''​ application on your local (GNU/Linux) computer to create a set of session profiles for your X2go Thin Client. Start ''​x2goclient''​ locally, create a set of session profiles and then copy your local ''​x2goclient''​ session profile configuration to the X2go PXE server:<​code>​+    - ''​**x2gothinclient_sessions**'':​ This file contains a list of session profile configurations for your thin clients'​ ''​x2goclient''​ (running in non-LDAP logon manager mode). Surely, you can edit/​customize the examplary session profiles file that comes with the ''​x2gothinclientmanagement''​ package in your favourite text editor. --- However, you can also use the ''​x2goclient''​ application on your local (GNU/Linux) computer to create a set of session profiles for your X2Go Thin Client. Start ''​x2goclient''​ locally, create a set of session profiles and then copy your local ''​x2goclient''​ session profile configuration to the X2Go PXE server:<​code>​
 $ scp ~/​.x2goclient/​sessions root@<​pxeserver.hostname.domain>:/​opt/​x2gothinclient/​etc/​x2gothinclient_sessions $ scp ~/​.x2goclient/​sessions root@<​pxeserver.hostname.domain>:/​opt/​x2gothinclient/​etc/​x2gothinclient_sessions
 </​code>​ </​code>​
-  - When done with all your customizations execute the ''​x2gothinclient_update''​ script. This script will incorporate your changes applied the ''/​opt/​x2gothinclient/​etc/​x2gothinclient_*''​ files into the X2go Thin Clients'​ chroot environment. Whenever you customize anything in ''/​opt/​x2gothinclient/​etc/''​ make sure your run the update command:<​code>​+  - When done with all your customizations execute the ''​x2gothinclient_update''​ script. This script will incorporate your changes applied the ''/​opt/​x2gothinclient/​etc/​x2gothinclient_*''​ files into the X2Go Thin Clients'​ chroot environment. Whenever you customize anything in ''/​opt/​x2gothinclient/​etc/''​ make sure your run the update command:<​code>​
 $ sudo x2gothinclient_update $ sudo x2gothinclient_update
 </​code>​ </​code>​
  
-With this last step your X2go Thin Client'​s chroot environment is basically ready for being booted. The last step, however, is to configure the PXE boot manager itself (PXE, TFTP).+With this last step your X2Go Thin Client'​s chroot environment is basically ready for being booted. The last step, however, is to configure the PXE boot manager itself (PXE, TFTP).
  
-=== Boot environment for your X2go Thin Client system (PXE, TFTP) ===+=== Provide firmware for certain hardware devices === 
 + 
 +Debian does not ship so-called non-free firmware in its main package archive area. However, several network cards (and other TCE relevant devices) require the installation of a firmware package from Debian non-free. 
 + 
 +Run the command ''​x2gothinclient_shell''​ and edit ''/​etc/​apt/​sources.list''​ in your TCE chroot (nano, vim and mcedit should be installed in your TCE chroot): 
 +<​file>​ 
 +deb http://​ftp.debian.org/​debian <​distro-codename>​ main contrib non-free 
 +</​file>​ 
 + 
 +Then run (in your X2Go TCE chroot):<​code>​ 
 +$ apt-get update 
 +$ apt-get install firmware-linux-nonfree firmware-bnx2 firmware-bnx2x firmware-myricom firmware-netxen ​ firmware-qlogic ​ firmware-ralink firmware-realtek intel-microcode amd64-microcode 
 +</​code>​ 
 + 
 +If this command fails, please check if packages have been removed from your Debian version or if they are not yet available for your version. Also scan for other firmware packages:<​code>​ 
 +$ apt-cache search firmware 
 +</​code>​ 
 + 
 +Also, there is a fine tool that you can run on normal Linux systems that helps with the package installation for several special hardware devices: [[http://​packages.debian.org/​unstable/​main/​isenkram|Isenkram by Petter Reinholdtsen]] from the Debian Edu team. 
 + 
 + 
 +=== Boot environment for your X2Go Thin Client system (PXE, TFTP) ===
  
 With the ''​x2gothinclient_preptftpboot''​ script you can simply set up a PXE boot environment using the ''​syslinux''​ package. Please take a look at the ''/​etc/​x2go/​x2gothinclient_settings''​ configuration file for customization first, then run this script: With the ''​x2gothinclient_preptftpboot''​ script you can simply set up a PXE boot environment using the ''​syslinux''​ package. Please take a look at the ''/​etc/​x2go/​x2gothinclient_settings''​ configuration file for customization first, then run this script:
Line 97: Line 120:
 </​code>​ </​code>​
  
-If there already is a PXE boot environment installed at the configured location, the script will abort with a warning. If you want to combine ​X2go PXE with other boot environments (e.g. LTSP), please customize your system manually. Templates for X2go PXE can be found at ''/​usr/​share/​x2go/​tce/​tftpboot''​.+If there already is a PXE boot environment installed at the configured location, the script will abort with a warning. If you want to combine ​X2Go PXE with other boot environments (e.g. LTSP), please customize your system manually. Templates for X2Go PXE can be found at ''/​usr/​share/​x2go/​tce/​tftpboot''​
 + 
 +Note: At the end of the ''​x2gothinclient_preptftpboot''​ script some further instructions (DHCP setup, NFS setup, etc.) of final configuration steps will be shown. Please follow these last steps to complete your X2Go TCE setup.
  
-Note: At the end of the ''​x2gothinclient_preptftpboot''​ script some further instructions (DHCP setup, NFS setup, etc.) of final configuration steps will be shown. Please follow these last steps to complete your X2go TCE setup.+=== Testing X2Go TCE ===
  
-=== Testing X2go TCE ===+You should now be able to start your office PCs as X2Go Thin Clients. To do this, configure the computer'​s BIOS to boot via network (PXE, Etherboot). You will know that you setup has been successful, if a boot menu appears on your computer'​s screen that shows the X2GO banner that also appears when starting X2Go sessions.
  
-You should now be able to start your office PCs as X2go Thin ClientsTo do this, configure ​the computer'​s BIOS to boot via network (PXE, Etherboot)You will know that you setup has been successful, if boot menu appears on your computer'​s screen that shows the X2GO banner that also appears when starting X2go sessions.+It is also possible ​to test the X2Go TCE in qemuRead the [[http://​code.x2go.org/​gitweb?​p=x2gothinclient.git;​a=blob;​f=README.qemu|documentation shipped with the X2Go TCE sources]].
  
-=== Purging ​X2go TCE ===+=== Purging ​X2Go TCE ===
  
-To get rid of all files related to X2go TCE, please run this script:+To get rid of all files related to X2Go TCE, please run this script:
  
 <​code>​ <​code>​
Line 113: Line 138:
 </​code>​ </​code>​
  
-===== Tweaking your X2go TCE =====+===== Tweaking your X2Go TCE =====
  
 ==== Configuration of DHCPD ==== ==== Configuration of DHCPD ====
Line 162: Line 187:
 ==== Configuration of x2goclient (display manager mode) ==== ==== Configuration of x2goclient (display manager mode) ====
  
-=== x2goclient ​in LDAP-mode ===+=== X2Go Client ​in LDAP-mode ===
  
 Please feel free to customize the command line options used by the ''​x2goclient'' ​ running in display manager mode. For example you can enable LDAP mode: Please feel free to customize the command line options used by the ''​x2goclient'' ​ running in display manager mode. For example you can enable LDAP mode:
Line 175: Line 200:
 x2goclient --pgp-card \ x2goclient --pgp-card \
            ​--ldap="​192.168.1.1:​389:​dc=<​domain>,​dc=<​tld>"​ \            ​--ldap="​192.168.1.1:​389:​dc=<​domain>,​dc=<​tld>"​ \
-           ​--external-login=/ramdrive/logins \+           ​--external-login=~x2gothinclient/logins \
            ​--no-menu \            ​--no-menu \
            ​--maximize \            ​--maximize \
Line 181: Line 206:
            ​--haltbt \            ​--haltbt \
            ​--link=lan \            ​--link=lan \
-           ​--kbd-layout=de +           ​--kbd-layout=us 
-           ​--kbd-type=pc105/​de \+           ​--kbd-type=pc105/​us \
            ​--set-kbd=1 \            ​--set-kbd=1 \
            ​--geometry=fullscreen \            ​--geometry=fullscreen \
-           --add-to-known-hosts \ +           ​--read-exports-from=~x2gothinclient/export \
-           --read-exports-from=/ramdrive/export \+
            ​--add-to-known-hosts &            ​--add-to-known-hosts &
 </​file>​ </​file>​
  
-After modifying the ''​x2gothinclient_start''​ file, update the X2go Thin Client configuration:​+After modifying the ''​x2gothinclient_start''​ file, update the X2Go Thin Client configuration:​
  
 <​code>​ <​code>​
Line 196: Line 220:
 </​code>​ </​code>​
  
-=== x2goclient in non-LDAP mode ===+=== X2Go Client in broker mode === 
 + 
 +Please feel free to customize the command line options used by the ''​x2goclient'' ​ running ​in display manager mode. For example you can enable ​LDAP mode: 
 + 
 +<​code>​ 
 +$ editor /​opt/​x2gothinclient/​etc/​x2gothinclient_start 
 +</​code>​ 
 + 
 +The below example uses LDAP-mode for ''​x2goclient'':​ 
 + 
 +<​file>​ 
 +x2goclient --pgp-card \ 
 +           ​--broker-url=https://<​broker-server>:<​port>/​plain/<​backend>​ \ 
 +           ​--broker-cacertfile=<​path-to-your-self-signed-rootca-file>​ 
 +           ​--external-login=~x2gothinclient/​logins \ 
 +           ​--no-menu \ 
 +           ​--maximize \ 
 +           ​--thinclient \ 
 +           ​--haltbt \ 
 +           ​--link=lan \ 
 +           ​--kbd-layout=us \ 
 +           ​--kbd-type=pc105/​us \ 
 +           ​--set-kbd=1 \ 
 +           ​--geometry=fullscreen \ 
 +           ​--read-exports-from=~x2gothinclient/​export \ 
 +           ​--add-to-known-hosts & 
 +</​file>​ 
 + 
 +After modifying the ''​x2gothinclient_start''​ file, update the X2Go Thin Client configuration:​ 
 + 
 +<​code>​ 
 +$ x2gothinclient_update 
 +</​code>​ 
 + 
 + 
 +=== X2Go Client in sessions file mode ===
  
-The Debian GNU/​Linux ​(squeeze) X2go TCE uses non-LDAP mode as default. Edit the default sessions file in ''/​opt/​x2gothinclient/​etc/​x2gothinclient_sessions''​.+The Debian GNU/​Linux ​X2Go TCE uses non-LDAP mode as default. Edit the default sessions file in ''/​opt/​x2gothinclient/​etc/​x2gothinclient_sessions''​.
  
 There are two extra commandline arguments that you should be aware in the below configuration. ​ There are two extra commandline arguments that you should be aware in the below configuration. ​
  
   * ''​--no-session-edit''​ will deny any manipulation of the session by the user.   * ''​--no-session-edit''​ will deny any manipulation of the session by the user.
-  * ''​--session="​X2Go.EXAMPLE''​ needs to be identical to the name inside the X2go session file.+  * ''​--session="​X2Go.EXAMPLE''​ needs to be identical to the name inside the X2Go session file.
  
 <​file>​ <​file>​
Line 209: Line 268:
            ​--session="​X2Go.EXAMPLE"​ \            ​--session="​X2Go.EXAMPLE"​ \
            ​--pgp-card \            ​--pgp-card \
-           ​--external-login=/ramdrive/logins \+           ​--external-login=~x2gothinclient/logins \
            ​--no-menu \            ​--no-menu \
            ​--maximize \            ​--maximize \
Line 215: Line 274:
            ​--haltbt \            ​--haltbt \
            ​--link=lan \            ​--link=lan \
-           ​--kbd-layout=de +           ​--kbd-layout=us 
-           ​--kbd-type=pc105/​de \+           ​--kbd-type=pc105/​us \
            ​--set-kbd=1 \            ​--set-kbd=1 \
            ​--geometry=fullscreen \            ​--geometry=fullscreen \
-           --add-to-known-hosts \ +           ​--read-exports-from=~x2gothinclient/export \
-           --read-exports-from=/ramdrive/export \+
            ​--add-to-known-hosts &            ​--add-to-known-hosts &
 </​file>​ </​file>​
  
-After modifying the ''​x2gothinclient_start''​ file, update the X2go Thin Client configuration:​+After modifying the ''​x2gothinclient_start''​ file, update the X2Go Thin Client configuration:​
  
 <​code>​ <​code>​
wiki/advanced/tce/install.txt · Last modified: 2017/01/09 19:07 by stefanbaur