CLion 2022.1 Help

Remote with the thin client

Remote development lets you use the IDE interface on a thin client while having a powerful remote host to check out and load your project, index, analyze, build, run, debug, and test your code.

The remote host is a physical (Linux) or virtual machine hosting the source code and running a headless CLion instance. The thin client, for example, a laptop, connects to the host and transparently provides full access to all IDE features.

Prerequisites

Before you start developing on the remote machine, make sure you have the following:

  • Remote machine (a target for an IDE) meets the minimum recommended requirements that can be found in IDEs articles.

  • You have installed a compatible SSH server on the Linux platform.

  • The Linux platform has any recent Linux AMD64 distribution such as Ubuntu 16.04+, RHEL/Centos 7+, and so on. There is no arm64 support yet. We recommend using machines with 2+ cores, 4GB+ of RAM, and 5GB+ of disk space.

  • You need to have the sftp subsystem enabled on the remote host. In the current implementation, we use it for the backend deployment.

JetBrains Gateway is used as an entry point to connect to a remote server via SSH. It launches JetBrains Client, which is a thin client that enables you to work with your remote project.

You can use one of the following ways to launch JetBrains Gateway:

Licensing

JetBrains Gateway itself is a free application. However, you should have a license for the remote IDE.

The licensing for remote with the thin client is handled on the local machine and is covered by your existing active IDE license.

No license information is passed to or saved on the remote server. You can start the IDE backend without entering the license information since JetBrains Gateway is a free application.

The license will be checked later when you connect to the launched IDE backend. Product in the license on your local machine must match the remote backend IDE. If you use a corporate floating license server, that's your local (client) machine, which must be able to reach this server. In this context nothing is changed from the same local CLion mechanism.

Last modified: 16 May 2022