JetBrains Gateway IDEA远程开发

2023-05-16

为什么进行远程开发?

无论身处何处数秒内连接至远程环境

  1. 充分利用远程计算机的强大功能
    在任何笔记本电脑上都可以轻松工作,无论其性能如何。借助远程计算机的计算资源,充分利用最大规模的数据集和代码库。
  2. 在远程服务器上保护敏感代码
    如果将源代码存储在开发者的笔记本电脑上,那么这些设备被盗或存放不当都将是潜在的安全隐患。通过将代码专门存储在密闭、远程、由公司控制的计算机上可以消除这种风险。
  3. 保持环境一致性
    使用预先确定的工具包、运行时要求、硬件规格等确切内容重现开发环境,这样您就不会再听到“在我的计算机上没有问题呀”这样的对话了!
  4. 简化入门和技术面试
    想要充分测试候选人的技能水平或让新人尽快入门?忘掉 30 项“项目启动”清单吧 – 现在,入门就像采用编排解决方案复制远程计算机一样简单。

远程开发实现方式

具我了解,远程开发大概有以下几种方式:

  1. ssh远程直接在命令行中开发
    vim开发之类
  2. 远程桌面中直接开发
    比如:windows远程桌面,向日葵,ToDesk, VNC
  3. vscode远程开发
  4. idea远程开发

第1种在ssh中远程开发是本人用的最多的,为此我写过非常多的vim配置文章。这个优点就是比较成熟,设备兼容性好。甚至可能使用手机远程ssh进行开发。我甚至用这种方式在自家的电视上做过一段时间的开发。

第2种远程桌面中开发,我一般只是临时使用的。这种开发也不错,要说最大的缺点,也就是会有一定的延长性。画面质量也会有所下降。

上手

安装 JetBrains Gateway

安装比较简单,到这个页面下载你操作系统支持的版本就可以了。
https://www.jetbrains.com/zh-cn/remote-development/gateway/
我下载的是linux版本的。

连接ssh

首先你要有一个远程的ssh服务器,并且有用户名密码之类的。可能是购买的云服务器,也可以是某个可以远程的Linux服务器。推荐是linux,其他系统不清楚是否可以。我这里远程的是ubuntu 22.04的系统的。

New Connection

在这里插入图片描述

Connect to SSH

把你的远程服务ssh信息填进去就可以了。
在这里插入图片描述

Choose IDE and Project

选择在服务器上下载的IDE版本和项目目录。
在这里插入图片描述
点击 Start IDE and Connect 就可以像本地一样开发项目了。非常的简单。

注册与激活

在这里插入图片描述
根据提示正常激活,即可。
当然还有一种方式,可以直接到我们的远程服务器上激活。
经过上面的操作,会自动把IDEA下载到如下目录:

~/.cache/JetBrains/RemoteDev/dist/2e929559b06e5_ideaIU-2023.1/bin

可以在远程VNC中手动激活,主要可以使用一些野路子。

具体的野路子激活过程,另启一篇了。
https://blog.csdn.net/lxyoucan/article/details/130282517

自定义IDEA版本

默认只能下载最新版本的IDEA,这里有个选项可以自己上传。
在这里插入图片描述
但是经过我测试2021.1.3

运行项目报错

java: Cannot run program “/home/nl/.jdks/corretto-1.8.0_372/bin/java” (in directory “/home/nl/.cache/JetBrains/RemoteDev-IU/_home_nl_workspace_helloworld/compile-server”): error=0, Failed to exec spawn helper: pid: 89541, exit value: 1

这个问题完美解决办法,我不知道。但是我换了个JDK 11的版本就发现问题成功解决了。
在这里插入图片描述
网上还有一种解决办法:
https://youtrack.jetbrains.com/issue/IDEA-304440/Cannot-run-program-java-failed-to-exec-spawn-helper-exit-value-1#focus=Comments-27-6736675.0-0

File | Settings | Build, Execution, Deployment | Compiler | * build process VM options text field

-Djdk.lang.Process.launchMechanism=vfork

在这里插入图片描述
亲测普通java项目是可以的。

maven的项目这样设置也是可以的,我一开始不行,后来把项目关了重新开又可以了。

真实使用体验

随着刚开始的新鲜感过去后,我发现了一些让我有些不舒服的BUG。

ideaVim插件

不稳定,我在使用yy pp这样的最常见的复制粘贴操作。经常会出现失控的问题。甚至会导致IDEA崩溃。

Database

这个功能 的bug比较多,比如Ctrl+Enter 查询快捷键时灵,时不灵。特别影响心情。只能用鼠标操作。而且没有绿色三角形按钮。

对于我来说几乎是一个不可用的状态。

算了数据库查询相关的,我就先本地查询吧,好在这部分的计算量不大,不影响电脑性能。

运行与调试

偶尔会出现点击运行或者调试按钮,点了以后没有任何反应。

复制粘贴

这个是我最终无法忍受的问题了。别的BUG我能克服,这个BUG让我直接自废武功啊。

这个BUG不是必然出现的,但是出现的频率很高。出现以后就无法复制了。只有把IDEA关了重新开。有些浪费时间。

JRebel点了无法反应

现象

在部分project中JRebel的图标点了没有反应。而大部分project中又可用。

解决办法

假如遇到点击没有反应,则重新安装一下这个JRebel的插件。你会发现此时这个图标虽然有,但是插件管理中显示这个插件没有安装。重新安装后,问题得到解决。

难道插件的配置信息与project也有关联。我感觉这个应该是BUG。

探索过程

很神奇,有同时开发了两个java项目,一个JRebel正常,一个点了没有任务反应。
我做了以下操作后,不正常的项目JRebel也正常了。

  1. 对比我发现无法使用JRebel的项目使用的是JDK11,我就把它统一换成了JDK8
    并且做了以下操作:
    File | Settings | Build, Execution, Deployment | Compiler | * build process VM options text field
-Djdk.lang.Process.launchMechanism=vfork
  1. 重启项目后神奇的事情又发生了,我发现重启后,JRebel的图标竟然没有了。我在插件管理中发现这个插件变成没有安装的状态,我重新安装这个插件后。重启IDEA,JRebel变成可用状态。

我做了以上操作,成功解决了。我个人认为,应该是第2步解决了吧!

参考

官方文档:
https://www.jetbrains.com/zh-cn/remote-development/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JetBrains Gateway IDEA远程开发 的相关文章

  • 微服务网关 —— SpringCloud Gateway

    Gateway 简介 Spring Cloud Gateway 基于 Spring 5 Spring Boot 2 和 Project Reactor 等技术 是在 Spring 生态系统之上构建的 API 网关服务 Gateway 旨在提
  • Idea 启动项目时,卡在Parsing Java 解决方案

    最近在尝试向项目中接入支付宝沙箱 先下载了TradePayDemo 使用本地的公钥 私钥 回调地址等进行了配置 但是在启动Demo时 项目一直卡在 Parsing Java 取消也无效 经过在网上搜索 发现是JDK版本过高导致 Idea中使
  • 【踩坑】解决maven的编译报错Cannot connect to the Maven process. Try again later

    背景 新公司新项目 同事拷给我maven的setting配置文件 跑项目编译发现maven报 Cannot connect to the Maven process Try again later If the problem persis
  • IDEA 集成VisualVM Launcher JDK 监控程序插件

    IDEA 安装VisualVM Launcher 插件 1 打开setting 找到Plugins选项 安装VisualVM Launcher 插件 如果有就跳过这一步 检索 VisualVM Launcher 安装成功后 重新启动IDEA
  • idea 最干净的的主题 Obsidian!

    idea 最干净的的主题 Obsidian
  • idea中创建xml,xml中路径报错

    1 先创建模板 2 新建xml 3 下面的路径可能会报红 4 解决方法
  • 在idea使用本地jetty

    参考 https www jetbrains com idea help run debug configuration jetty server html背景 web开发当中 我觉得服务层的代码尽量用单元测试来测 这样可减少启动web容器
  • 日常生活中常用的五星级句子

    1 After you 你先请 这是一句很常用的客套话 在进 出门 上车得场合你都可以表现一下 好象现在女士不愿意你这么做 特别是那些女权主义者 我还记得这么一段话 一个女士对一个让她先行的男士说 you do this because i
  • RPC failed; OpenSSL SSL_read: Connection was aborted, errno 10053 unable to access ‘https://github.c

    IDEA Push推送到GitHub失败 RPC failed OpenSSL SSL read Connection was aborted errno 10053 unable to access https github com xx
  • IDEA社区版下载安装

    一 下载网址 https www jetbrains com idea download 这里以安装社区版免费版为例 二 点击下载好的安装文件 点击 Next 建议更改下路径 点击 Next 点击 Next 可点击创建快捷方式 其他默认就好
  • Visual Studio Code 1.35更新:远程开发终于来啦

    前段时间大家可能看过一个新闻 微软为VSC开发一款名为Remote Development的扩展程序 可以让我们使用本地VSC开发和调试远程机器上的代码 这个功能对于我这个不会使用vim等linux工具的人来说 简直是一个重大消息 可惜的是
  • SpringCloud Gateway:status: 503 error: Service Unavailable

    使用SpringCloud Gateway路由请求时 出现如下错误 yml配置如下 可能的一种原因是 yml配置了gateway discovery locator enabled true 此时gateway会使用负载均衡模式路由请求 但
  • Java学习前言—JDK、JRE、IntelliJ IDEA

    一 jdk java developer kit 与 jre java runtime environment 1 jdk是Java开发工具包 安装后可以编写Java程序 2 jre是Java运行环境 安装后可以运行Java程序 二 Ubu
  • Maven常见问题、异常、错误整理【持续更新】

    前言 之前也写过一篇与Maven相关的文章 这是第二篇对于Maven常见问题 常见异常的整理 开一篇新的文章一个原因是自己更换了新的IDE 之前使用myEclipse 现在换成IDEA 更重要的原因是新的文章对于处理Maven这类错误的方案
  • 如何在IDEA中使用JDBC

    如何在IDEA中使用JDBC 摘要 安装JDK及IDEA mysql下载安装及预处理 JDBC驱动下载 新建IDEA项目 添加JDBC驱动文件至项目 编写java测试语句 摘要 本文主要介绍了如何用IDEA新建一个java项目 并用JDBC
  • IDEA java.lang.NullPointerException (no error message)

    今天在不停启动debug 停止debug后无法再启动debug 提示java lang NullPointerException no error message 经百度 删除 project下 gradle无效 恢复代码后无效 且未更改配
  • IDEA 查看Springboot单元测试代码覆盖率报错

    报错信息 D resource java jdk 1 8 261 bin java exe ea javaagent C Users 镜 AppData Local JetBrains IntelliJIdea2020 2 testAgen
  • IDE简介

    集成开发环境 IDE Integrated Development Environment 用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试器和图形用户界面等工具 集成了代码编写功能 分析功能 编译功能 调试功能等一体化的开
  • java中获取默认网关

    我想使用 java 获取本地计算机的默认网关 我知道如何通过执行dos或shell命令来获取它 但是还有其他方法来获取吗 还需要获取主要和辅助 dns ip My way is try DatagramSocket s new Datagr
  • 配置文件中的$和@

    配置文件中的 和 0 前言 借鉴文章 https blog csdn net Saintmm article details 124603343 https blog csdn net ster ben article details 11

随机推荐

  • C语言内存泄漏问题及其检视方法

    点击蓝字 关注我们 来源于网络 xff0c 侵删 通过介绍内存泄漏问题原理及检视方法 xff0c 希望后续能够从编码检视环节就杜绝内存泄漏导致的网上问题发生 本文通过介绍内存泄漏问题原理及检视方法 xff0c 希望后续能够从编码检视环节就杜
  • C语言进阶之 回调函数详解

    点击蓝字 关注我们 因公众号更改推送规则 xff0c 请点 在看 并加 星标 第一时间获取精彩技术分享 来源于网络 xff0c 侵删 在讲回调函数之前 xff0c 我们需要了解函数指针 我们都知道 xff0c C语言的灵魂是指针 xff0c
  • C语言和C++的区别和联系,大多数人都说错了

    点击蓝字 关注我们 因公众号更改推送规则 xff0c 请点 在看 并加 星标 第一时间获取精彩技术分享 来源于网络 xff0c 侵删 C语言和C 43 43 到底是什么关系 xff1f 首先C 43 43 和C语言本来就是两种不同的编程语言
  • 深入理解C语言中的malloc,malloc() 与 free() 原理图解

    点击蓝字 关注我们 因公众号更改推送规则 xff0c 请点 在看 并加 星标 第一时间获取精彩技术分享 来源于网络 xff0c 侵删 本文分为三个等级自顶向下地分析了glibc中内存分配与回收的过程 本文不过度关注细节 xff0c 因此只是
  • C语言项目:灰度处理技术

    Hello xff0c 今天给大家带来的是一个比较简单的图形处理技术 灰度处理技术 那么到底什么是灰度处理技术呢 xff1f 简单来说 xff0c 所谓的灰度处理技术就是把一张彩色的图片变成一张灰色的图片 如下图所示 xff0c 左边是原图
  • React Native重启APP

    有时会用到APP重启操作 xff0c 比如更新代码或者特殊情况的用户注销 0 62及以上版本 只重启JS部分 import DevSettings from 39 react native 39 DevSettings reload 详细请
  • 树莓派3 Ubuntu系统 SD卡或U盘启动

    之前先用SD卡装过Ubuntu系统后 xff0c 用着用着SD卡满了 xff0c 就拿了个U盘来重装一遍 xff0c 发现U盘按照SD卡那样的流程安装之后 xff0c 树莓派配置成可以U盘启动 xff0c 再修改刻录好的U盘里的两个文件就可
  • 手把手教你安装黑苹果之openCore-0.6.3 EFI制作全过程,非常详细

    文章目录 前言一 EFI是什么 xff1f 二 获取EFI1 Hackintosh黑苹果长期维护机型整理清单2 搜索efi 二 自制EFI1 OC Gen X图形化一键自动生成EFI 推荐 2 手动下载EFI所需要的文件下载哪些文件下载op
  • OpenCore 启动菜单界面美化增加gui界面

    前言 OpenCore 默认启动界面是类似于命令行一样的黑乎乎的界面 习惯了clover华丽的启动界面的小伙伴可能不适应了 甚至我之前以为OpenCore启动界面就是这样的不能变呢 xff1f 第一次看到感觉还是clover讨喜 其实Ope
  • secoclient全版本下载分享

    前言 工作需要使用 secoclient xff0c 同事们大多都用 Windows环境 客户提供的客户端也是Windows版本的 这就让使用Mac几个同事难受啦 用Windows虚拟机 xff1f 根据我的经验 xff0c 一般的VPN客
  • Centos升级ruby

    CentOS7 安装的ruby默认版本是 xff1a ruby v span class token punctuation span 11 43 53 span class token punctuation span ruby 2 0
  • Windows 11下载

    Windows 11是微软于2021年推出的Windows NT系列操作系统 xff0c 为Windows 10的后继者 正式版本于2021年10月5日发行 xff0c 并开放给符合条件的Windows 10设备通过Windows Upda
  • docker容器安装图形桌面

    文章目录 视频教程版本信息创建一个CONTAINERubuntu官方国内源docker镜像unminimize中文环境设置中文环境 安装安装TigerVNC Server安装 xfce4精简版本 配置设置vnc密码 vnc xstartup
  • ubuntu官方国内源

    背景 之前我一直在使用中科大的源 xff0c 还是挺快的 一直也没有感觉有什么问题 直到最近在折腾vnc xff0c 发现中科大的源有一些包会404 xff0c 安装不了 而我在vmware中的正好是默认的cn archive ubuntu
  • mame新版ROM下载网站推荐

    网站地址 https www retroroms info index php 中文插件安装 浏览器插件 https www tampermonkey net UP主自己写的脚本 已经失效 https gitee com lxyoucan
  • RuoYi若依打包发布与部署

    上一节我们已经讲过了如果搭建开发环境 xff0c 那么如果代码写完了 xff0c 如何打包发布 部署到生产环境呢 xff1f RuoYi开发实战 搭建开发环境 https blog csdn net lxyoucan article det
  • vscode设置Prettier为默认格式化插件

    1 目的 xff1a ctrl 43 s保存 xff0c 自动格式化文档 2 所需插件Prettier 3 操作步骤 先打开vscode软件 xff0c 左下角点击设置 gt 打开设置 gt 在右上方有一个搜索框 先设定自动保存文件 xff
  • ASUS X415安装系统找不到硬盘解决办法

    同事让我帮忙安装系统 xff0c 笔记本电脑型号是ASUS X415 原本以为是手到擒来的事情 xff0c 结果我在上面还是消耗了不少时间 现象 老毛桃PE 无法识别到硬盘 微PE可以识别到硬盘 xff0c 但是系统安装以后 xff0c 无
  • archlinux中navicat无法使用fcitx5输入法

    现象 archlinux中navicat无法使用fcitx5输入法 而我在ubuntu中使用navicat调用fcitx输入法是可以正常使用的 在网上搜索了很久 xff0c 这方面的文章比较少 而我的其他程序输入法又是正常的 解决办法 参考
  • JetBrains Gateway IDEA远程开发

    为什么进行远程开发 xff1f 无论身处何处数秒内连接至远程环境 充分利用远程计算机的强大功能 在任何笔记本电脑上都可以轻松工作 xff0c 无论其性能如何 借助远程计算机的计算资源 xff0c 充分利用最大规模的数据集和代码库 在远程服务