FastX Session Profiles


This section is accessible by logging into FastX as an administrator through a web browser. Select the Admin icon after login.

Profiles define the abilities and limitations of the application.  Profiles are selected in the Applications settings.

There is a listing of existing Profiles which can be edited or deleted by clicking on the desired profile and then .  The Default Profile cannot be deleted.

Set Default – To set the default profile, click on the desired profile and then click on the Set Default button.  This will make the desired profile as the default and will be used when applications or custom applications are launched without having a profile. 

Click the button to create a new Profile. Please fill the form to create the Profile.

Settings

  • Name (Required) – Name of Profile
  • Description – Description of Profile
  • Hide profile from custom applications – Check the box to prevent users from using this Profile when launching custom applications.
  • Restrict starting sessions to servers in the group – Check the box to restrict applications with this Profile to only start to servers in the group.
  • Groups – Enter name of server group and hit enter to add.
  • Terminates session after disconnect timeout – Enter the number of minutes in which the application with this Profile will timeout after being disconnected.
  • Disconnect session when idle Disconnects a connected session when when the mouse or keyboard is inactive after a set time in minutes
  • Maximum Geometry – Set the maximum geometry of a session can be.
  • Clipboard mode – Set limit on an applications clipboard access using the drop down.
    • Disable – Disables clipboard
    • Bidirectional – Enables full access to the clipboard
    • Local to Remote Only – Clipboard is only available from the client to the remote host
    • Remote to Local Only – Clipboard is only available from the remote host to client
  • Remote to local clipboard max – Enter the maximum number of bytes that can be sent from server to client per clipboard operation. Setting maximum to 0 will make the bytes unlimited.

Events

Events are fired off when some action happens in an application. Use Events to integrate FastX into your current workflow

A listing of existing Events, which can be edited or deleted by clicking on the desired Session Event and then.  Click the button to create an Event.  After filling out the Event form, hit the Add button to create.

  • Event Name – Click drop down for desired event.  Session Start is the default event displayed.
  • Shell Script – Enter shell script that will be used.
  • Execute After – Enter number of seconds, minutes, or hours in which the event will be executed

Javascript function that will be executed.  The script is executed immediately before the event is fired.  Throwing an error in the script will make the api call fail with an error.  You can use this to prevent users/actions from occurring.

function(input) {   
return input;
}

Input Object

{   
   "action":  "API ACTION",
   "token": WEB_TOKEN,
   "login": "username",
   "data": POST_DATA_FROM_API_REQUEST,
   "session": SESSION_OBJECT /* if there is an associated session */
}

Return

Return the Input Object.  The input object can be modified in the javascript function. (for example, changing the command in a start script)

Execute on Web Server Update (Tab)  – Javascript function that will be executed when the session updates the web server.

function(oldSession,newSession) {  
 if(!oldSession) { 
//Session Started  
} else if(newSession.terminated) { 
//session has terminated  
}else if(newSession.clientCount > oldSession.clientCount) { 
//client connected  
} else if(newSession.clientCount < oldSession.clientCount) { 
//client disconnected
 if(newSession.clientCount === 0) {   
          //all users disconnected 
}  
 }
}

oldSession 

Current Session Object in the Database

newSession

New Session Object to be updated

Extensions

Enable Specific ClientComm Extensions on the application.  ClientComm extensions are protocol extensions that interact with the client system adding extra functionality.  However they effectively “break out” of the sandboxed session environment adding potential security concerns.

  • Enable All FastX Extensions – Check the box to enable. Enables all default extensions.
    • Enable Notification Extension – Check the box to enable. This extension allows a script on the linux system to send a notification to a running session to be displayed to the user (and possibly receive a response)
    • Enable Url Extension – Check the box to enable. This extension allows a script on the linux system to fire off a URL that will be opened on the client system
    • Enable Sharing Extension – Check the box to enable session sharing
    • Enable Start Menu Extension – Check the box to enable start menu when an application is launched.
  • Custom Extensions – Integrators can add their own extensions to be used.  Provide a list of extensions that are enabled.

OpenGL

OpenGL options

  • Enable iglx Support – Check the box to enable. Older OpenGL applications may use different libraries and fail to run properly. Enable this option if your OpenGL application is failing.
  • Enable VirtualGL Detection  – By default, attempt to run sessions through VirtualGL. Disabling this option will explicitly turn off running the application through the shipped VirtualGL.
  • Disable GPU Detection for VirtualGL – Uncheck box to enable this option. The host must have a GPU to utilize this option.
  • VirtualGL Options – Vglrun command line options.

Security

  • X11 Security – Click on drop down for X11 security
    • Local connections only – Any X11 application can connect from the system on which the session is running.
    • Allow all hosts – An X11 application from any host can connect to the session, if allowed by firewall.
    • Use Xauthority cookie – Require Xauth cookie to connect
  • Save Xauthority cookies to the $HOME/.Xauthority file By default Xauthority cookies are stored in their own private location.  This is to avoid polluting the $HOME/.Xauthority file with old session cookies.  However, some misbehaving applications only look in the $HOME/.Xauthority file for authorization.  Enabling this option puts the cookie in the $HOME/.Xauthority file to enable these applications to function properl.
  • Enable X11 TCP Support – Check the box to enable. Certain applications require systems to listen for incoming connections to function properly.  Enable this option if your application needs to connect to its X11 DISPLAY.

Performance

  • Multisurface Support – Multisurface speeds up rendering in multiple window mode and optimizes certain operations in single window mode.  However, it may also make a different set of operations slower. Most users should leave this as Autodetect (Single window mode: false, Multiple window mode: true).
  • CPU Percentage – Maximum % of CPU FastX will use for compressing images. Systems with fewer cores should have a lower CPU percentage.  Systems with 8 or more cores should use 100%.  Autodetect will determine the number of cores on the system and will adjust accordingly.

Advanced

  • Update the web server every N minutes regardless of status change – Updates the web server even if nothing has changed.
  • Command Preamble Template – Prepend the Command String with the following.
  • Xorg Preamble Template – Prepend the Xorg command that runs the session with the following.
  • License Diagnostics – Check the box to log licensing communications.
  • Clipboard – Check the box to log clipboard communication.

Static Data

User defined JSON Object used for setting static data on the profile.  This can be used as a way to filter profiles.