Top  | Previous | Next

Native Client Launchers

The Ignition gateway also contains downloadable native executables that can launch clients directly without invoking Java Web Start. Using native executables allow you to set up clients in ways that are impossible to achieve with Java Web Start, such as being able to launch clients automatically as part of a machine startup script. Note that native client launchers still require Java to be installed on the client machine (see the Java Requirements section for more information).

Download and Installation

Native client launchers are available on the Gateway home page for Windows, Linux and Mac OSX. Click on the Download link to download the native launcher that you need for your operating system. You can hide the native client launcher section on the gateway home page by disabling the section under the Gateway Settings page -> Homepage Config tab.

Windows Installation

Move clientlauncher.exe to a convenient location after it has downloaded to your local machine. Double-client clientlauncher.exe to start.

Linux Installation

Open the downloaded .tar.gz file using an archive manager, or use tar -xvf on the command line. Run clientlauncher.sh (the file is already executable, so you can simply double-click on the file).

 

information2 Ubuntu 14.04 users! Starting in 14.04, Ubuntu has turned off the list of execution options that pops up after double-clicking on a .sh file (display the file, execute directly, or execute in a shell). This means that double-clicking clientlauncher.sh will open the text editor and display a bunch of garbage. To re-enable the list of execution options, open a File Manager. Navigate to the Edit menu -> Preferences and click on the Behavior tab. Change the Executable Text Files setting from "View executable text files when they are opened" to "Ask each time".

Mac OSX Installation

Double-click on the ClientLauncher.dmg file. Drag the Client Launcher .app into the Applications folder. Double-click the Client Launcher.app to get started.

Java Requirements

The client launchers require a installed Java Runtime Environment (JRE) with the same minimum JRE version as the Ignition client. However, if you are using a Windows machine, and you are in a situation where you cannot install a JRE, you can still use the client launchers. You will need to package the JRE installation folder on another machine as a .zip file, and extract the zip to a /jre folder next to clientlauncher.exe. The client launcher will use your JRE both for its own execution and for the launched client.

Configuration

When the client launcher opens for the first time, you must select a Gateway on the Gateway Configuration screen. If your Gateways have multicast enabled, and multicast transmission is allowed on your network, you can see a list of Gateways under the Available Gateways tab. Select a Gateway from the list and click the Select Gateway button. The client launcher will attempt to connect to the Gateway that you selected.

 

If you do not see your Gateway, you can still manually enter Gateway address under the Manually Input Gateway tab. The format is host:port. For example, you can input 127.0.0.1:8088 or localhost:8088 to connect to a Gateway running on your local machine. After you have entered your address, click the Apply button. The client launcher will attempt to connect to the Gateway that you selected.

 

After you have selected a Gateway, the client launcher will attempt to contact the Gateway and will update the Status field at the top of the screen. If there was an error while attempting to contact the Gateway, you can hold your mouse over the Status field to see what the error was. You can also check <user home folder>/.ignition/clientlauncher-data/clientlauncher.log for error information. Keep in mind that you cannot use a client launcher to connect to older Gateways. The minimum Gateway versions that can be used by client launchers are 7.5.11 for the 7.5 Ignition platform and 7.6.4 for the 7.6 Ignition platform. Any 7.7 or later Ignition platform can be used with the client launchers.

Managing Multiple Gateways

It is possible to configure the client launcher to always start on the Gateway Configuration screen. This allows you to connect to any number of Gateways using the same launcher. To enable this configuration, open the launch.xml file (details on this file are in the Custom Launch Settings section below). Set the initconnect property to false and save the file.

Gateway Favorites

If you are managing multiple Gateways, it may be helpful to mark some Gateways as favorites. These Gateways are always listed first when accessing the Gateway Configuration screen. You can also filter out non-favorite Gateways by checking the Favorites Only checkbox on the Gateway Configuration screen. By setting the initconnect property to false (as documented above in the Managing Multiple Gateways section), you can force the client launcher to always display your favorite Gateways list any time you start the launcher.

Launching Projects

After the Gateway has been configured, you can launch a client project or the Designer from the Projects screen. After a project has been launched, a desktop shortcut is created. You can use the desktop shortcut to directly launch the project from the client launcher without needing to select the project again from the Projects screen. A client project will not be visible for launch unless all the conditions below are satisfied:

The project has at least one main window
The project is not disabled in the Gateway
The project is not hidden from launch via the project properties
The project's configured window launch mode matches the client launcher window mode. For example, if a project's default launch mode is Windowed mode and the "Full Screen" button is not enabled in the project's properties, this means that the project cannot be launched when the client launcher is running in fullscreen mode.

 

If a project is no longer available in the Gateway, launching the desktop shortcut for the old project will cause the client launcher to display the Projects screen along with an error message at the top of the screen.

Temporary Configuration

The client launcher is typically used to open different projects residing on a single configured Gateway. However, you can also create temporary connections to other Gateways by checking the "Temporary Connection" checkbox on the Gateway Configuration screen. This prevents the selected Gateway from being saved in launch.xml, which may be helpful if you have already configured a default Gateway and you do not want to lose its connection settings. After the connection has been established and saved, the Projects screen will be shown for the temporary Gateway. You can then launch a project or the Designer as you normally would. If the "Create desktop icon" checkbox is checked for the launched project, the temporary Gateway network address is saved in the desktop shortcut.

Redundancy

The client launcher can take advantage of a redundant Gateway setup. Whenever a connection is established with a master Gateway, the backup Gateway IP address is automatically stored in the client launcher configuration file. If the master Gateway cannot be contacted the next time the client launcher is run, an attempt is made to contact the backup Gateway. If the backup cannot be contacted, the client launcher switches between contacting the primary Gateway and the backup Gateway until one responds or the user closes the launcher.

Custom Launch Settings

Client launcher configuration settings, log files and temp files are stored by default in <user home folder>/.ignition/clientlauncher-data/. The following settings can be configured in launch.xml:

 

Setting name

Setting description

Example settings

gateway.addr

The gateway that you have configured which contains your launchable projects

10.20.7.122:8088

gateway.backup.addr

Automatically set by client launcher when using a redundant setup

10.20.7.122:8088

timeoutsecs

The maximum number of seconds allow for any gateway communication. Any communication that exceeds this amount will cause the client launcher to abort the communication and try again if configured.

30

retries

How many times to attempt to contact a gateway again if an error occurred during communication. The default setting of -1 cause the client launcher to try again forever until the client launcher is manually closed. A setting of 0 will cause the client launcher to abort communication after the first failure and display the Gateway Configuration screen. A setting of 1  or more will cause the client launcher to make X more attempts before aborting and showing the Gateway Configuration screen.

-1,0,1

windowmode

Controls whether or not to launch the client launcher in fullscreen mode. The fullscreen setting will cause the client launcher to take over the entire screen. When launching a client that also has fullscreen mode configured, the fullscreen client will replace the fullscreen client launcher after launch. The default setting is "window", which launches the client launcher in windowed mode.

window, fullscreen

screen

The screen index indicates which monitor to use when launching in fullscreen mode.

0,1

show.closebutton

When this is set to false, all close buttons on the client launcher are hidden. Use this setting along with the fullscreen mode to set up a dedicated touch-screen terminal.

true,false

multicast.addr

This setting must match the gateway's multicast address setting in order to see a list of available gateways on the Gateway Configurations screen.

231.1.1.1

multicast.receive.port

This setting must match the gateway's multicast receive port in order to see a list of available gateways on the Gateway Configurations screen.

4446

initconnect

When this is set to false, the client launcher will not attempt to contact the configured Gateway, but instead will immediately open the Gateway Configuration screen. This allows you to choose different Gateways using a single client launcher.

true,false

tempconnection

When this is set to true, the Temporary Connection checkbox on the Gateway Configuration screen will be checked when the client launcher is started. By setting this property to true and setting the initconnect property to false, you can use the client launcher to access any number of Gateways without saving the selected Gateway address in launch.xml.

true,false

jvm-args

Allows JVM-specific settings to be set on the client that is launched, such as MaxPermSize memory allocation.

-XX:MaxPermSize=512m

other-args

See the "Setting client tags" section below


Startup parameters

The settings below can also be passed to a client launcher executable as startup parameters. Note that many of the settings overlap with the custom launch settings above, and if present, they will override the settings in launch.xml.

Setting name

Setting description

Example settings

gateway.addr

The gateway that you have configured which contains your launchable projects

10.20.7.122:8088

gateway.backup.addr

Automatically set by client launcher when using a redundant setup

10.20.7.122:8088

timeoutsecs

The maximum number of seconds allow for any gateway communication. Any communication that exceeds this amount will cause the client launcher to abort the communication and try again if configured.

30

retries

How many times to attempt to contact a gateway again if an error occurred during communication. The default setting of -1 cause the client launcher to try again forever until the client launcher is manually closed. A setting of 0 will cause the client launcher to abort communication after the first failure and display the Gateway Configuration screen. A setting of 1  or more will cause the client launcher to make X more attempts before aborting and showing the Gateway Configuration screen.

-1,0,1

windowmode

Controls whether or not to launch the client launcher in fullscreen mode. The fullscreen setting will cause the client launcher to take over the entire screen. When launching a client that also has fullscreen mode configured, the fullscreen client will replace the fullscreen client launcher after launch. The default setting is "window", which launches the client launcher in windowed mode.

window, fullscreen

screen

The screen index indicates which monitor to use when launching in fullscreen mode.

0,1

show.closebutton

When this is set to false, all close buttons on the client launcher are hidden. Use this setting along with the fullscreen mode to set up a dedicated touch-screen terminal.

true,false

scope

Indicates whether the project being launched is a client (scope C) or a Designer (scope D)

C,D

project

The project name. This field is required if the scope is set to C, indicating that a client is being launched.

myproject

initconnect

When this is set to false, the client launcher will not attempt to contact the configured Gateway, but instead will immediately open the Gateway Configuration screen. This allows you to choose different Gateways using a single client launcher.

true,false

jvm-args

Allows JVM-specific settings to be set on the client that is launched, such as MaxPermSize memory allocation. Note that you need to substitute the '#' character for the '=' character, so that the command line can be parsed properly by the client launcher.

-XX:MaxPermSize#512m

tempconnection

When this is set to true, the Temporary Connection checkbox on the Gateway Configuration screen will be checked when the client launcher is started. By setting this property to true and setting the initconnect property to false, you can use the client launcher to access any number of Gateways without saving the selected Gateway address in launch.xml.

true,false

Startup examples

Windows: "C:\ClientLauncher\clientlauncher.exe" scope=C project=myproject 

 windowmode=window

 

Linux: ./clientlauncher.sh scope=C project=myterminal windowmode=fullscreen 

 screen=0 show.closebutton=false

Setting client tags

Client tag values in Ignition clients can be set by the client launcher upon startup. There are two ways you can do this. The first way is to add the tag info to the other-args section in launch.xml, as shown below. These settings would take effect for all clients started from the client launcher. The examples below assume that you have two client tags in the root folder of your project, called "LaunchTag" and "LaunchTag2".

 

sign_warning WARNING: Client tags that are set by the client launcher cannot contain spaces in the tag names!

 

<other-args>

<arg>-Djavaws.launchparams=LaunchTag;LaunchTag2</arg>

<arg>-Djavaws.launchparam.LaunchTag=AAA</arg>

<arg>-Djavaws.launchparam.LaunchTag2=ZZZ</arg>

</other-args>

 

The other way is run the client launcher from a command line or a desktop shortcut and add these lines to the end of the command:

-Djavaws.launchparams="LaunchTag;LaunchTag2" -Djavaws.launchparam.LaunchTag="A A"

 -Djavaws.launchparam.LaunchTag2="B B"

 

Starting the client launcher from a command line in this case would look like the example below (Linux example shown):

./clientlauncher.sh scope=C project=myterminal windowmode=window 

 -Djavaws.launchparams="LaunchTag;LaunchTag2" -Djavaws.launchparam.LaunchTag="A A" 

 -Djavaws.launchparam.LaunchTag2="B B"

Other tricks

The client launcher can be pre-configured locally and then deployed to remote client machines via a zip file. Using this capability allows a client launcher to immediately connect to a Gateway on the very first launch. First, you need to configure a client launcher on a local machine to point to a Gateway. Next, copy the <user home folder>/.ignition/clientlauncher-data folder next to the launcher executable. Zip everything together and distribute the zip to other machines. For Window and Linux machines, the launcher can use the clientlauncher-data/ folder that was placed next to the executable. For OSX machines, you need to copy the clientlauncher-data/ folder to the user's home directory and place the Client Launcher. app wherever convenient.