Skip to content

Enable Cloudless Fluid and get its launch URL from the command line#

Jump Desktop Connect's command line turns on Cloudless Fluid on a host and prints the host's Cloudless Fluid launch URL, the same link that Copy Launch URL copies in Connect's settings. Connection brokers and management tools use these commands to provision hosts without opening Connect's window: they turn on Cloudless Fluid, read the launch URL, and hand it to their own launcher.

Applies to#

  • Hosts running Jump Desktop Connect 10.12.15 or later on Windows or macOS, or Jump Desktop Connect for Linux Alpha.
  • Administrators, or the provisioning or management system that configures hosts.
  • Connecting with the URL requires Jump Desktop on Windows, macOS, iPhone, or iPad, signed in to an account on the Jump Desktop for Teams Enterprise plan. See Cloudless Fluid.

Commands#

Command What it does
--serverconfig RtcLocalServer=true Turns on Cloudless Fluid (the Manual Connections setting). Use false to turn it off.
--serverconfig RTCEnabled=true Turns on Fluid Remote Desktop, which Cloudless Fluid requires. It is on by default; set it only if it was turned off.
--serverconfig RtcLocalServerPort=<port> Optional. Sets the TCP port on which Connect listens for Cloudless Fluid connections. The default is 35384.
--cloudlessurl Prints the host's Cloudless Fluid launch URL to standard output, followed by a line break, and exits.

The commands use the Connect service on the host, so Connect must be installed and its service running. The settings take effect without restarting Connect. If the commands cannot reach the Connect service within 15 seconds, they print "Could not reach the running Connect service" to standard error and exit with code 1.

--cloudlessurl prints the URL whether or not Cloudless Fluid is turned on. Turn Cloudless Fluid on first; otherwise connections to the URL fail.

Run the commands#

Use JumpConnectCli.exe, the command-line version of Connect, which is located in the same folder as JumpConnect.exe (the ConnectPath value under HKEY_LOCAL_MACHINE\SOFTWARE\Jump Desktop\Connect\Shared). JumpConnect.exe does not write to the console, so always use JumpConnectCli.exe for --cloudlessurl. In 64-bit PowerShell:

$connect = (Get-ItemProperty "HKLM:\SOFTWARE\Jump Desktop\Connect\Shared").ConnectPath
$cli = Join-Path (Split-Path $connect) "JumpConnectCli.exe"
& $cli --serverconfig RtcLocalServer=true
if ($LASTEXITCODE -ne 0) { throw "Connect returned $LASTEXITCODE" }
$out = & $cli --cloudlessurl
if ($LASTEXITCODE -ne 0) { throw "Connect returned $LASTEXITCODE" }
$url = ($out | Select-Object -Last 1).Trim()
$url
CONNECT="/Applications/Jump Desktop Connect.app/Contents/MacOS/JumpConnect"
set -e
"$CONNECT" --serverconfig RtcLocalServer=true
OUT="$("$CONNECT" --cloudlessurl)"
URL="$(printf '%s\n' "$OUT" | tail -n 1)"
echo "$URL"
set -e
/usr/libexec/jump/jumpconnect --serverconfig RtcLocalServer=true
OUT="$(/usr/libexec/jump/jumpconnect --cloudlessurl)"
URL="$(printf '%s\n' "$OUT" | tail -n 1)"
echo "$URL"

Run the commands on the host, in the context your provisioning or management system uses for other Connect commands, for example the same context that applies a Connect Code (see Deploy Connect to many computers).

If a Connect Configuration is assigned to the host, its Fluid Enabled, Manual Fluid Connections, and Manual Fluid Port values take precedence over values set on the host. Turn on Fluid Enabled and Manual Fluid Connections in the configuration instead, and use --cloudlessurl only to read the URL.

Output#

--cloudlessurl prints one line in this form:

jump://<hostname>:<port>?protocol=fluid&SSLFingerprint=<fingerprint>&rtcv2=true&OSTypeCode=<code>
Part Value
<hostname> The host's computer name. On macOS, a name without a dot gets .local appended so that it resolves on the local network.
<port> The Cloudless Fluid port (RtcLocalServerPort, 35384 by default).
SSLFingerprint The fingerprint of the host's certificate. Jump Desktop refuses a host whose certificate does not match.
OSTypeCode 1 for Windows, 2 for macOS, 3 for Linux.

The URL does not expire. It changes only when the host's name, Cloudless Fluid port, certificate, or operating system changes, so a management system can store it and fetch it again after any of those changes.

If users reach the host by another host name or IP address, replace <hostname>:<port> with that address and keep the rest of the URL. If the host is reached through a gateway that forwards traffic to it, also add the gatewayudp parameter; see Connect through a gateway.

Automate it in a connection broker or management tool#

A typical provisioning flow:

Alpha: not for production use

Jump Desktop Connect for Linux is in alpha and is intended for testing. Do not install it on production systems.

  1. Install Connect on the host, and add it to your team if you also want cloud connections (see Deploy Connect to many computers).
  2. Run --serverconfig RtcLocalServer=true on the host (and --serverconfig RTCEnabled=true if Fluid Remote Desktop was turned off), or assign a Connect Configuration with Fluid Enabled and Manual Fluid Connections turned on.
  3. Allow the Cloudless Fluid ports through the host's firewall (see Cloudless Fluid).
  4. Run --cloudlessurl, check that it exits with code 0, take the last line of standard output, and check that it starts with jump://.
  5. Store the URL with the host's record. Edit the host name and port if users reach the host through another address.
  6. When a user requests the host, open the URL on the user's device, or show it for the user to click. Jump Desktop opens the link and connects. On Windows, Jump Desktop must have been started once to register the link handler.

Warning

Anyone who has the launch URL and can reach the host's port can attempt to sign in with a local account on the host. The URL contains no credentials, but treat it as sensitive and restrict who can retrieve it from your management system. Access Groups do not apply to Cloudless Fluid; see Cloudless Fluid.

Verify#

  1. Run --cloudlessurl and check that the output starts with jump:// and contains protocol=fluid and SSLFingerprint=.
  2. Open the URL on a device with Jump Desktop signed in to an Enterprise plan account, and sign in with a local account on the host.