Jump Desktop MDM Configuration
iOS 7 introduced a way for iOS Apps to receive configuration settings pushed down by a MDM server. Jump Desktop for iOS version 6.0 adds support for configuring Jump Desktop's global settings and pre-defining the user's server lists by pushing down a managed app configuration dictionary through an MDM server.
Jump Desktop for iOS - MDM setting keys and values
|Key Name||Type||Default Value||Description|
|addHardwareKeyboardMappings||boolean||TRUE||set to true to add Jump Desktop's Physical keyboard mappings. See this for more information: http://support.jumpdesktop.com/entries/188429-Physical-Keyboard-Support-and-Macros|
|AlignScreenToTop||boolean||FALSE||aligns the remote screen to the top of the device|
|AllowCredSaving||boolean||TRUE||set to FALSE to disable the prevent users from seeing the 'Save Credentials' option. Jump Desktop for iOS 9.4.19+|
|AutoHideToolbarOnConnect||boolean||TRUE||hides the top toolbar as soon as Jump connects to the computer|
|autoReconnectEnabled||boolean||TRUE||reconnects to previous sessions if the app was killed by iOS's background timer|
|DefaultConnectionPassword||string||the default connection password to use when connecting to remote computers. This will only be used if a password isn't saved for the connection|
|disableVNC||boolean||FALSE||true to disable Jump's VNC support. Users will not be able to create VNC connection if this setting is TRUE|
|ForceTouchForRightClick||boolean||TRUE||use force touch to send a right click to the remote computer (only works on supported hardware)|
|idleTimerEnabled||boolean||FALSE||prevent the iOS lock screen from showing while connected|
|InvertTrackpadMode||boolean||FALSE||invert the gestures in the Trackpad gesture profile|
|keyboardPopupButtonHidden||boolean||FALSE||if true, this will hide the keyboard icon on the bottom right hand corner of the connection screen|
|lineaBeepOnScan||boolean||TRUE||Linea barcode scanner: Play beep sound when scanning|
|lineaMageticStripeTrack1Enabled||boolean||TRUE||Linea barcode scanner: Read magnetic track 1|
|lineaMageticStripeTrack2Enabled||boolean||TRUE||Linea barcode scanner: Read magnetic track 2|
|lineaMageticStripeTrack3Enabled||boolean||TRUE||Linea barcode scanner: Read magnetic track 3|
|lineaPostBarcodeKeyStrokes||string||KEY_RETURN||Linea barcode scanner: See: https://support.jumpdesktop.com/hc/en-us/articles/216424043-iOS-Linea-Barcode-Scanner-Custom-Keystroke-sequences-after-each-Barcode-or-Magnetic-Reader-Swipe-scan|
|lineaPostKeyStrokesDelayMS||number||100||Linea barcode scanner: Number of milliseconds to wait before sending the post keystroke|
|lineaPostMagneticStripeKeyStrokes||boolean||KEY_RETURN||Linea barcode scanner: See: https://support.jumpdesktop.com/hc/en-us/articles/216424043-iOS-Linea-Barcode-Scanner-Custom-Keystroke-sequences-after-each-Barcode-or-Magnetic-Reader-Swipe-scan|
|mapHardwareKeyboardLeftAltToRightAlt||boolean||FALSE||set to true to map the left alt key on hardware keyboards to the right alt key|
|mapHardwareLeftAltToNull||boolean||FALSE||set to true to ignore the left alt key on hardware keyboards|
|PhysicalMouseAcceleration||boolean||TRUE||set to true to apply mouse acceleration curve to physical mice - does not apply to generic iOS mice|
|PhysicalMouseEnabled||boolean||TRUE||set to true to connect to supported physical mice - does not apply to generic iOS mice|
|PhysicalMouseReverseScroll||boolean||FALSE||set to true to reverse scroll direction for physical mice - does not apply to generic iOS mice|
|PhysicalMouseScale||double||1||physical mouse cursor speed - > 1 faster, < 1 slowler - does not apply to generic iOS mice|
|PhysicalMouseSwapButtons||boolean||FALSE||set to true to swap left and right mouse buttons for physical mice - does not apply to generic iOS mice|
|PredictivePencilTap||boolean||TRUE||set to true to make double tapping with the Apple pencil easier|
|ProjectorResolutionKey.height||integer||0||the vertical resolution to use when connected to an external monitor|
|ProjectorResolutionKey.width||integer||0||the horizontal resolution to use when connected to an external monitor|
|ProjectorUseOverscan||boolean||TRUE||enables overscan compensation when connected to an external monitor|
|rdpInitialNumLockState||boolean||FALSE||set to true to enable Num Lock on the remote computer after connecting (RDP connections only)|
|reverseScrollDirection||boolean||FALSE||set to true to reverse the scroll direction of the scroll gesture|
|servers||array / list of strings||an array / list where each element is an entire JSON document describing a pre-defined server. Pre defined servers are always present in the user's server list. See the section on Predefining servers via MDM for more information.|
|SettingsLock||boolean||TRUE||set to true to lock the settings screen. A password will be required to access Jump's settings|
|SettingsLockPassword||string||the passwrod to use when the settings screen lock is TRUE|
|ShowConnectAnimation||boolean||TRUE||show the cloud animation when connecting|
|ShowLockScreen||boolean||FALSE||set to true to lock Jump's screen when switching apps. Users will be required for FaceID or TouchID to unlock Jump|
|ShowLockScreenAfterSeconds||integer||300||if ShowLockScreen is true, this is the amount of seconds to wait before locking Jump|
|showTooltipIds||boolean||TRUE||show the initial help tips on a fresh install|
|UseBilinearFiltering||boolean||TRUE||uses bilinear filtering to smooth the desktop display|
|UseHapticFeedback||boolean||TRUE||use haptic feedback with the right click gesture|
|UseInertialHover||boolean||TRUE||Trackpad mode only: Use mouse inertia when moving the mouse|
|UseKeychainSyncing||boolean||TRUE||use iCloud keychain syncing|
|ZoomOutFullyOnConnect||boolean||FALSE||show the full screen on initial connect vs maintaining a 1:1 zoom scale with the remote screen|
Linea / Infinite Peripherals specific options
|lineaBarcodeScanMode||integer||0 - single scan mode, 1 - multiple scan mode, 2 motion detect mode|
|lineaBeepOnScan||boolean||set to true to make sure the unit beeps after each scan|
|lineaPostBarcodeKeyStrokes||string||a set of keystrokes to send after each successful barcode scan. See this for more information.|
|lineaPostMagneticStripeKeyStrokes||string||a set of keystrokes to send after each successful magnetic stripe scan. See this for more information.|
Jump Desktop iOS Bundle ID
The bundle id for the App Store version of Jump Desktop is: 4GU63N96WE.com.p5sys.jumpdesktop. You'll need this while configuring your MDM settings.
Predefining servers via MDM
Jump Desktop for iOS and Jump Desktop for Mac store computer lists in the JSON file format (it's a human readable text based file format). To predefine servers via MDM, push down the servers array through managed app configuration. The servers array is an array (or list) of strings where each string defines one computer. Each string in the array / list should contain a valid JSON document describing the connection. The servers array / list can contain computers, RD Gateway and SSH configuration JSON documents. For more information about file formats used by Jump Desktop click here: Jump Desktop File Formats.
The recommend way of creating Jump Desktop JSON files is to create the configuration using Jump Desktop's UI on iOS or Mac and then transfer the configuration information to the MDM server. Here's how you would do that:
- Create your connections using Jump Desktop's on iOS or Mac. Once your connections are created move to step 2.
- Export the connection list by tapping the settings button on iOS and then tap Export Servers button. On a Mac click File -> Export...). This will export your server configuration as a jdz file.
Next we'll extract the jdz file and copy/paste the contents to MDM's app configuration
- A jdz file is just a simple zip file. Copy the jdz file to a Mac or PC (email it to yourself if you're on iOS).
- Rename the file extension to zip and uncompress the contents to a folder on your computer.
- Browse inside the servers directory. Here you'll see one .jump file per computer, SSH Server or RD Gateway you created.
- Open up each .jump file inside a text editor like TextEdit or Notepad and copy paste the contents of the file into a string value inside the servers array in your MDM configuration tool and push it down to the device.
Tip: If you want your users not to be able to edit computer configuration add the the following line in the JSON document:
"DisableServerEdit" : true,
Step-by-Step MDM Configuration using Apple OS X MDM Server
Apple's OS X MDM Server lets you upload a configuration dictionary for each app you configure. The configuration dictionary must be a Property List file. To get started we're going to create a property list file in XCode:
- Open up XCode and create a new Property List file: File -> New -> Resources -> Property List.
- To add predefined servers into the list make sure you've already created your .jump files by following the steps in "Predefined servers via MDM" and then do the following:
- Add a new array to the Root node called servers. Make sure it's type is set to Array.
- Add a new element to the servers array by clicking the + button right next to element. This should add a new item underneath servers. Make sure the item's type is set to String
- Open up each .jump file inside a text editor like TextEdit or Notepad and copy paste the contents of the file into the string value.
- Repeat steps 2 & 3 for all your servers.
- To add regular configuration create the corresponding key value types defined above.
- Save your file.
- Open up Apple's MDM Configurator and add a new "App Configuration" payload. Set the Bundle ID to: 4GU63N96WE.com.p5sys.jumpdesktop and upload the configuration file you just created in XCode. A sample configuration file is attached to this ticket that you can open up in XCode and edit.