User Tools

Site Tools


wiki:advanced:x2gohtmlclient

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
wiki:advanced:x2gohtmlclient [2021/12/31 21:20]
mikep Revise components section
wiki:advanced:x2gohtmlclient [2022/10/03 13:34] (current)
gratuxri [proof of concept installation on Ubuntu GNU/Linux from Launchpad PPA]
Line 14: Line 14:
  
 ===== x2gohtmlclient ===== ===== x2gohtmlclient =====
- 
-{{:wiki:advanced:client.png?400|}} 
  
 Contains the JavaScript and other assets that are served to a browser. The main page is ''index.html'', and it provides two modes: a native client and an embedded client. The native client requires that a recent version of the X2Go client exists on the same computer as the browser. The embedded client provides the HTML5-based functionality. In any case, ''index.html'' prompts the user for: Contains the JavaScript and other assets that are served to a browser. The main page is ''index.html'', and it provides two modes: a native client and an embedded client. The native client requires that a recent version of the X2Go client exists on the same computer as the browser. The embedded client provides the HTML5-based functionality. In any case, ''index.html'' prompts the user for:
Line 25: Line 23:
   * an optional proxy username, and   * an optional proxy username, and
   * an optional proxy password.   * an optional proxy password.
 +
 +{{:wiki:advanced:client.png?400|}}
 +
 ''index.html'' can be edited to set a default server and so on. ''index.html'' can be edited to set a default server and so on.
 The file ''x2gokdriveclient.html'' allows for running the X2Go client in a separate window. The file ''x2gokdriveclient.html'' allows for running the X2Go client in a separate window.
  
 The x2gohtmlclient package also provides CSS, images, and three JavaScript classes: The x2gohtmlclient package also provides CSS, images, and three JavaScript classes:
-  1. ''x2godomcontroller.js'', which handles communication between the HTML page and the X2Go HTML client; +  -   ''x2godomcontroller.js'', which handles communication between the HTML page and the X2Go HTML client; 
-  2. ''x2gohtmlclient.js'', which handles communication between the X2Go RPC script and the X2Go HTML client; and +  -   ''x2gohtmlclient.js'', which handles communication between the X2Go RPC script and the X2Go HTML client; and 
-  3. ''x2gokdrivehtmlclient.js'', which implements the X2Go KDrive client.+  -   ''x2gokdrivehtmlclient.js'', which implements the X2Go KDrive client.
  
 ===== x2gowebrpc ===== ===== x2gowebrpc =====
  
-The x2gorpc.cgi CGI script connects to the X2Go server using SSH and starts sessions, resumes sessions, starts SSH tunnels and so on in response to requests from the browser.+The x2gorpc.cgi CGI script connects to the X2Go server using SSH and starts sessions, resumes sessions, starts SSH tunnels and so on in response to requests from the browser. This involves using SSH to run ''x2golistsessions'', run ''x2gostartagent'', start a tunnel using SSH's ''-N'' and ''-L'' arguments, run ''x2goruncommand'', and run ''x2gowswrapper''.
  
 ===== x2gowswrapper ===== ===== x2gowswrapper =====
Line 44: Line 45:
  
 We describe how to configure NGINX and fcgiwrap, but you can substitute any web server that provides the needed features. We describe how to configure NGINX and fcgiwrap, but you can substitute any web server that provides the needed features.
- +Here is an example NGINX configuration:
-''/etc/nginx/sites-available/<your host>-ssl:''+
 <file> <file>
 server { server {
Line 92: Line 92:
 } }
 </file> </file>
 +Note that the location ''/x2gows/PORT'' gets proxied to a process on localhost listening to PORT. The is the x2gowswrapper process.
  
 ====== Building and Installing ====== ====== Building and Installing ======
Line 129: Line 130:
 Ensure the values of ''ssl_cert'' and ''ssl_key'' match the corresponding values in NGINX's configuration, Ensure the values of ''ssl_cert'' and ''ssl_key'' match the corresponding values in NGINX's configuration,
 and ensure the user running NGINX can read the files at both paths as well as the configuration file itself. and ensure the user running NGINX can read the files at both paths as well as the configuration file itself.
 +
 +===== proof of concept installation on Debian GNU/Linux =====
 +
 +<code>
 +sudo apt install extrepo
 +sudo extrepo enable x2go
 +sudo apt update
 +sudo apt install x2gohtmlclient
 +</code>
 +
 +===== proof of concept installation on Ubuntu GNU/Linux from Launchpad PPA =====
 +
 +<code>
 +sudo add-apt-repository ppa:x2go/nightly
 +sudo add-apt-repository ppa:x2go/ppa
 +sudo apt update
 +sudo apt install x2gohtmlclient
 +</code>
wiki/advanced/x2gohtmlclient.1640985609.txt.gz · Last modified: 2021/12/31 21:20 by mikep