It is possible to run jobs to display GUI (graphic user interface) on remote hosts in LSF by using Microsoft Terminal Services.
When LSF_LOGON_DESKTOP=1, jobs run in interactive foreground sessions. This allows GUIs to be displayed on the execution host. If this parameter is not defined, jobs run in the background.
When the LSB_TSJOB variable is defined to any value, it indicates to LSF that the job is a Terminal Services job.
Specifies the time to create a Windows Terminal Service session. You should configure LSF_TS_LOGON_TIME according to your network environment.
The default, 300000 milliseconds is suitable for most environments. For a congested network. set LSF_TS_LOGON_TIME=1000000
Submit the job with tssub instead of bsub. tssub is a wrapper around the bsub command which only submits jobs to hosts that have the msts resource.
tssub sets the LSB_TSJOB and LSF_LOGON_DESKTOP environment variables. These variables are then transferred to the execution host.
If the job is dispatched to a host in which Terminal Services is not installed or properly configured, the job is set to the PEND state and a pending reason is written in sbatchd.log.host_name.
If tssub -I is specified, a terminal display is visible on the submission host after the job has been started.
If the job is not a GUI job, LSF runs a command window and output is displayed in the command window when something is written to stdout.
Pre- and post-execution commands are executed within the terminal session. The job does not complete until post-execution commands complete.
View job output with the command tspeek. If the terminal window is closed, the job remains running. You can reconnect to view the job with tspeek.
A job submitted as a Terminal Services job cannot be modified to become a non-Terminal Services job with bmod.
Compound resource requirements are not supported for Terminal Services jobs.
Only Windows bsub options are supported for tssub. For example, you cannot use the options -Ip, -Is, -L login_shell of bsub with tssub.
If user mapping is defined, the user who invokes tspeek must have the required privileges to access the session.
All submission hosts must have the Terminal Services Full Client Windows Installer (MSI) package installed. This package contains the required Microsoft Terminal Services Advanced Client ActiveX Control. Download it from the Microsoft web site.
All execution server hosts must have the Terminal Services and Terminal Services Full Client Windows Installer (MSI) packages installed.
Terminal Services server hosts can be in a different domain from submission hosts as long as the user can be authenticated by both domains.
The service account on Terminal Services server hosts must be a member of the local administrators group.
All submission (client) hosts need the ActiveX control, but you don't necessarily have to use the specified MSI, it can also be there if Remote Desktop Connection software is installed (part of the OS installation).
To run applications from a Terminal Services client, the FEATURE lines in your LSF license must contain the TS_OK keyword. FLEXnet detects when a node-locked uncounted license is running under Windows Terminal Server. Without TS_OK, a user running on a Terminal Server client is denied a license. See the FLEXnet End User Guide for more information.
For clients running Windows 2000 or earlier with Remote Desktop Connection, the necessary ActiveX control is installed, but it is not registered by default. The LSF tssub command registers the control automatically.
The problem does not occur with the Terminal Service Full Client installation, or on newer versions of Windows or Windows XP.
The msts resource indicates to LSF whether an execution host has Terminal Server installed or not.
To limit the number of Terminal Services jobs that run on a host and keep track of how many jobs are running, define a numeric resource in addition to the msts boolean resource. You can alternatively use an elim to report how many terminal servers are available for each host.