JetBrains Projector 体验


先来一张最终效果图:

JetBrains Projector 是 JetBrains 的“远程开发”解决方案,基于 Client + Server 架构,对标的是微软 VSCode 的 Remote Development 方案。

与 VSCode 方案的区别:

  • VSCode 通过 SSH 之类的技术,只传输代码、索引等数据,仅将计算匀给服务器,而渲染显示等还是依赖本地的 VSCode 客户端
  • IDEA 系列全部 IDE 都是基于 Java 开发的,使用 Swing 进行界面的渲染。Projector 则是改动了 Swing 的渲染机制,通过网络传输渲染指令,最终使用 Web 技术将界面展现出来。除了客户端,Projector 也支持在浏览器中渲染使用。

要实现这一点,需要如下条件:

  • 服务端:官方提供了 3 中方式安装 Server 端
    1. Docker 镜像:需要额外安装 Docker 环境。不需要额外安装 IDEA,如果只是为了体验,推荐该方式。
    2. Python 脚本:通过 PyPi 安装,不过前提是先安装了 IDEA(本次体验使用了该方式)。
    3. IDE 插件:需要有图形界面的电脑支持并运行 Jetbrains IDE,通过安装 Projector 插件来作为服务端。
  • 客户端:有两种方式连接服务端
    1. 官方 Client:跨平台,应该是基于 Electron,没有多余的浏览器 UI 元素及可能的快捷键冲突,推荐此方案。
    2. 浏览器:通过浏览器直接方案服务端暴露的 url 直接访问(本次体验使用了该方式)。

此次体验,服务端采用 Python 脚本安装,客户端直接使用浏览器访问,服务器为 Ubuntu 系统,安装步骤如下:

  1. 安装 python3 及 pip3 基础环境:sudo apt install python3 python3-pip -y
  2. 确保安装底层依赖:sudo apt install libxext6 libxrender1 libxtst6 libfreetype6 libxi6 -y
  3. 安装 projector-installer:pip3 install projector-installer --user
    • 如果提示 “ERROR: pyopenssl 20.0.1 has requirement cryptography>=3.2, but you'll have cryptography 2.8 which is incompatible.” 需要在安装命令后加上更新 cryptography 的指令:pip3 install projector-installer --user --upgrade cryptography
  4. 添加配置信息,指定 IDEA 路径后,运行 projector:projector run
    • 安装后如果直接运行命令 projector run,会提示找不到 projector 命令,需要在 ~/.profile 中添加环境变量信息
    • 运行前需要添加配置信息:projector config add steve-BSRE-1605,其中 “steve-BSRE-1605” 是我的配置信息名称,需要替换为自己的信息,在配置过程中需要输入 IDE 的路径,如:/snap/intellij-idea-ultimate/current/ (在 Ubuntu 中通过 snap 方式在应用商店安装后的默认位置)

参考资料:

  1. 官方文档:https://jetbrains.github.io/projector-client/mkdocs/latest/
  2. 知乎:https://www.zhihu.com/question/431322237
  3. 博客:https://xknow.net/jetbrains-projector-experience/


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM