本文以 PyCharm 纯离线模式官方文档[1] 为例,对其中一些不太清晰的地方进行补充说明,可作为使用 JetBrains IDE 在离线环境进行远程开发的指引。

overview
名称 | 描述 | 最终放置位置 |
|---|---|---|
JetBrains Client Downloader | 下载器,可用来下载其他组件 | 联网环境 |
IDE Backend | IDE 后端,作为服务运行在远程开发环境中 | HTTP 服务器 |
JetBrains Client | 轻量级 IDE,相当于 PyCharm 等 | HTTP 服务器 |
JetBrains Gateway | 用来连接 JetBrains Client 和 IDE Backend 的网关 | 本地机器 |
在联网环境下载必需文件:
Version 2025.2.4 的 Build 为 252.27397.106。

build
./jetbrains-clients-downloader --products-filter PY --build-filter 252.27397.106 --platforms-filter linux-x64 --download-backends ./remote-dev 。./jetbrains-clients-downloader --products-filter PY --build-filter 252.27397.106 ./remote-dev/clients 。./jetbrains-clients-downloader --products-filter GW --build-filter 252.27397.101 --platforms-filter osx-x64 --download-backends ./remote-dev 。jbr 目录,作为 JRE 稍后使用。下载内容清单供参考:
remote-dev
├── KEYS
├── backends
│ ├── GW
│ │ ├── JetBrainsGateway-2025.2.4.dmg
│ │ └── products.json
│ ├── PY
│ │ ├── products.json
│ │ └── pycharm-2025.2.4.tar.gz
│ └── products.json
├── clients
│ ├── JetBrainsClient-252.27397.106-aarch64.jbr.win.zip
│ ├── JetBrainsClient-252.27397.106-aarch64.jbr.win.zip.sha256
│ ├── JetBrainsClient-252.27397.106-aarch64.jbr.win.zip.sha256.asc
│ ├── JetBrainsClient-252.27397.106-aarch64.sit
│ ├── JetBrainsClient-252.27397.106-aarch64.sit.sha256
│ ├── JetBrainsClient-252.27397.106-aarch64.sit.sha256.asc
│ ├── JetBrainsClient-252.27397.106-aarch64.tar.gz
│ ├── JetBrainsClient-252.27397.106-aarch64.tar.gz.sha256
│ ├── JetBrainsClient-252.27397.106-aarch64.tar.gz.sha256.asc
│ ├── JetBrainsClient-252.27397.106.jbr.win.zip
│ ├── JetBrainsClient-252.27397.106.jbr.win.zip.sha256
│ ├── JetBrainsClient-252.27397.106.jbr.win.zip.sha256.asc
│ ├── JetBrainsClient-252.27397.106.sit
│ ├── JetBrainsClient-252.27397.106.sit.sha256
│ ├── JetBrainsClient-252.27397.106.sit.sha256.asc
│ ├── JetBrainsClient-252.27397.106.tar.gz
│ ├── JetBrainsClient-252.27397.106.tar.gz.sha256
│ ├── JetBrainsClient-252.27397.106.tar.gz.sha256.asc
│ ├── KEYS
│ ├── force_mirror_unix_timestamp_ms
│ └── minimal_clients_downloader_version
├── force_mirror_unix_timestamp_ms
├── jbr
│ ├── bin
│ ├── conf
│ ├── legal
│ ├── lib
│ └── release
└── minimal_clients_downloader_version
除 JetBrains GateWay 安装包放置到本地机器之外,其余内容需传输至 HTTP 服务器。
以将 remote-dev 目录上传至服务器 /resources/jetbrains/remote-dev 路径为例, 在远程开发环境服务器中,通过 HTTP 服务(如 Nginx)将 /resources/jetbrains/remote-dev 路径发布至 http://192.168.1.16/resources/jetbrains/remote-dev ,获得四个 URL:
productsInfoUrl:http://192.168.1.16/resources/jetbrains/remote-dev/backends/products.jsonclientDownloadUrl: http://192.168.1.16/resources/jetbrains/remote-dev/clients/jreDownloadUrl: http://192.168.1.16/resources/jetbrains/remote-dev/jbr/pgpPublicKeyUrl: http://192.168.1.16/resources/jetbrains/remote-dev/KEYS创建四个文件 productsInfoUrl、clientDownloadUrl、jreDownloadUrl、pgpPublicKeyUrl,每个文件中存放对应 URL,如:
$ pwd
/Users/alphahinex/Library/Application Support/JetBrains/RemoteDev
$ ls
clientDownloadUrl jreDownloadUrl pgpPublicKeyUrl productsInfoUrl
$ cat clientDownloadUrl
http://192.168.1.16/resources/jetbrains/remote-dev/clients/
/Users/UserName/Library/Application Support/JetBrains/RemoteDev/ 路径;/Library/Application Support/JetBrains/RemoteDev/。路径不存在直接创建即可。
与 macOS 创建文件相同。
$HOME/.config/JetBrains/RemoteDev/;/etc/xdg/JetBrains/RemoteDev/。用注册表替代文件。用户级在 HKEY_CURRENT_USER,系统级在 HKEY_LOCAL_MACHINE 中的 SOFTWARE\JetBrains\RemoteDev 下创建字符串值,Name 对应文件名,Data 对应 URL:

regedit
本地机器安装并打开 JetBrains GateWay,配置 SSH 连接至远程开发环境,选择 IDE 版本及工程路径后,等待从 HTTP 服务下载对应资源并上传至远程开发环境 ~/.cache/JetBrains/。一切顺利的话即可看到由 GateWay 打开的 JetBrains Client 已连接至远程开发环境中启动的 IDE Backend 服务,之后就可以远程开发了。

gateway
IDEA 和 PyCharm 社区版不支持远程开发,需要升级到 Ultimate 或 Pro 等版本,详情见:
https://www.jetbrains.com.cn/remote-development/
我可以获得 IntelliJ IDEA Community 和 PyCharm Community 版本的远程开发许可证吗? IntelliJ IDEA Community Edition 或 PyCharm 不支持远程开发。您需要将订阅升级到 IntelliJ IDEA Ultimate 或 PyCharm Pro。

failed
在 Linux 环境运行 JetBrains IDE 对于 GLIBC[4] 有最低版本要求,例如 PyCharm 2025.2 要求 GLIBC 不低于 2.28[5],IDEA 2023.1 要求 GLIBC 不低于 2.27[6]。
当出现类似上图的报错时,可以到远程开发环境检查一下 GLIBC 版本:
# 检查 GLIBC 版本
$ ldd --version
ldd (GNU libc) 2.17
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
由 Roland McGrath 和 Ulrich Drepper 编写。
# 找到 IDE Backend 绑定的 JetBrains Runtime 目录,检查 libjvm.so 依赖的 GLIBC 版本
$ cd ~/.cache/JetBrains/RemoteDev/dist/0915790bcd0d3_pycharm-2025.2.4/jbr/bin/
$ ./java
Error: dl failure on line 582
Error: failed /root/.cache/JetBrains/RemoteDev/dist/0915790bcd0d3_pycharm-2025.2.4/jbr/lib/server/libjvm.so, because /lib64/libm.so.6: version `GLIBC_2.27' not found (required by /root/.cache/JetBrains/RemoteDev/dist/0915790bcd0d3_pycharm-2025.2.4/jbr/lib/server/libjvm.so)
此时可降低 IDE Backend 至支持当前 GLIBC 的版本。
以下为推测内容,未经完全验证,仅供参考。
推测 GateWay 是在 productsInfoUrl 中从自身版本号往上查找 IDE Backend 的。
productsInfoUrl 中包含多个版本的 IDE Backend 时:
所以如果 GateWay 版本高于 productsInfoUrl 中 IDE Backend 最高版本时,IDE 列表显示为空。
如出现 IDE 列表为空的情况,可尝试降低 GateWay 版本至与 productsInfoUrl 中 IDE Backend 相匹配版本(大版本号相同,Build 号可不同)。
本地机器也可以安装多个版本的 GateWay 来连接不同远程开发环境中不同版本的 IDE Backend。
参考资料
[1]
PyCharm 纯离线模式官方文档: https://www.jetbrains.com/help/pycharm/fully-offline-mode.html
[2]
PyCharm 下载页面: https://www.jetbrains.com/pycharm/download/other.html
[3]
JetBrains Client Downloader 包: https://download.jetbrains.com/idea/code-with-me/backend/jetbrains-clients-downloader-linux-x86_64-2149.tar.gz
[4]
GLIBC: https://ftp.gnu.org/gnu/libc/
[5]
PyCharm 2025.2 要求 GLIBC 不低于 2.28: https://www.jetbrains.com/help/pycharm/2025.2/installation-guide.html#requirements
[6]
IDEA 2023.1 要求 GLIBC 不低于 2.27: https://www.jetbrains.com/help/idea/2023.1/installation-guide.html#requirements

全平台可用的 JetBrains Client Downloader