Running the ThinLinc client from the command line

To run the ThinLinc client from the command line you run the program tlclient, optionally followed by options and a server name. The correct program syntax is as follows.

tlclient [options] [server][:port]

The optional server field can be used to specify a ThinLinc server that should be predefined in the server field when client is started. The optional port parameter causes the client to try to connect another TCP/IP port number than the normal SSH port when establishing it’s secure connection to the ThinLinc server. More information about custom SSH settings is available at Security tab.

The ThinLinc client is highly controllable from the command line by the use of command line arguments. Many parts of the client can be controlled this way. The more simple things to control is the server or user name. It is possible to force settings and lock tabs and fields in the config interface to prevent them from being changed.

All arguments written on the command line overrides the settings saved from previous sessions. The options window will show the current settings, including the settings from the command line. The client settings is only stored to file when the user press the OK button in the options window. This means that options from the command line normally don’t affect the saved settings. But if the user opens the options window and accepts the settings by pressing the OK button then the settings, including the one from the command line, will be saved.

For a complete list of arguments supported by your client you can run the client with the argument -?.

Description of available command line arguments

Here follows a description for all available command line arguments.

-?, --help

Display a help summary.


Display client version information and exit.

-a, --advanced

Start client in advanced mode. Advanced mode means that the client will show the Server field, Options… button and the End existing session checkbox. The advanced mode is the normal mode used when you start the ThinLinc client. A simpler mode, where those interface components are hidden, is used automatically when you enter a server name as a command line argument. By adding this argument you override that and always use the advanced mode.

-C <FILE>, --configfile <FILE>

Specifies an additional configuration file. Parameter values in this configuration file overrides the values specified by the system wide and user configuration file. Settings changed from the GUI will be stored in this configuration file, instead of the user’s configuration file.

-d <LEVEL>, --debug <LEVEL>

The ThinLinc client logs information about the current session to the file ~/.thinlinc/tlclient.log on Linux systems and %TMP%\tlclient.log on Windows systems. The amount of information to log can be configured with this option followed by a number from 1 to 5. A low number gives less logging than a higher number. The default is a log level of 3. For more information about log file placement, see Logfile placement below.

-u <USER>, --user <USER>

This option sets the user name that should be filled in into the Name field. This can be used to override the name that is automatically saved from last session. If you for example, in a school classroom, want it to always start with an empty Name field, then you can use this parameter with the empty string "".

-p <PASSWORD>, --password <PASSWORD>

This option sets the password that should be filled in into the Password field. When this option is used and a user name exists (either saved from previous session or entered with the -u parameter) the client will automatically try to login, directly after start. If the login try fails it will return focus to the client interface, making it possible to adjust the values. Note that the command line of tlclient, and therefore the password, will be visible to other processes running on the client operating system. If this is a problem in your environment, consider using the -P option documented below.

-P <PROGRAM>, --askpass <PROGRAM>

This option makes it possible to specify an askpass program that should be used to achieve the password. This program should in some way ask the user for a password and then return that password together with an exit code. This triggers the auto login (see argument -p above).

-e <ENCODING>[,ENCODING...], --encodings <ENCODING>[,ENCODING...]

This option makes it possible to select which VNC encoding you want to use (see Optimization tab for more information about VNC encodings). Valid encodings for this option are: Tight, ZRLE, Hextile and Raw.

-l <ITEM>[,ITEM...], --lock <ITEM>[,ITEM...]

This option makes it possible to lock different parts of the client interface. This can be used to prevent things from being changed. Locked parts will still be shown, but will be “grayed out”, which means that they can’t be made active for change. The items that should be locked should follow this option as a comma separated list. The following items are possible to lock.

  • server: Server entry field

  • user: Username entry field

  • display: Display tab

  • localdevices: Local Devices tab

  • optimization: Optimization tab

  • security: Security tab

  • advanced: Advanced tab

-h <ITEM>[,ITEM...], --hide <ITEM>[,ITEM...]

This option makes it possible to hide different parts of the client interface. This can be used to remove parts of the interface that can confuse novice users, or to prevent them from reaching parts of the interface. The following items are possible to hide.

  • options: options button

-f <SETTING>[,SETTING...], --force <SETTING>[,SETTING...]

This option makes it possible to force a setting to a value. This can be used to preset a client with values and to force them to reset to those values each time, even if the users make changes. When an option is forced it is turned on. The following items are possible to force.

  • terminate: terminate session

  • fullscreen: full screen on all monitors

  • sound: sound mode

  • sshcomp: ssh compression

-M, --minimize

This option causes all other applications to be minimized when the ThinLinc client starts.

-s <PROGRAM>, --startprogram <PROGRAM>

Specifies the program to start in the session. Overrides the START_PROGRAM_ENABLED and START_PROGRAM_COMMAND configuration parameters.


This option causes the client to run forever. The exit button is removed, and when a session has ended, a new client process is automatically started.


The only way to stop the client from restarting is to terminate the tlclient process.