JetBrains Gateway IDEA远程开发

news2024/12/23 18:19:38

为什么进行远程开发?

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

  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的项目这样设置也是可以的,我一开始不行,后来把项目关了重新开又可以了。

参考

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/450402.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

知识变现海哥|你为什么知识却不富有,是你不懂这个道理

要有价值观念,要有交换思维。商业的本质都是基于价值交换,你能为别人提供多少价值,你就能赚多少米,你帮助别人处理的问题越多你越有价值,你能成就多少人你就能被多少人成就。这是商业行为的底层逻辑。 你没赚到米 一是…

老胡的周刊(第088期)

老胡的信息周刊[1],记录这周我看到的有价值的信息,主要针对计算机领域,内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。 🎯 项目 nginx-ui[2] Nginx 后台管理 UI:…

港联证券|TMT板块全线退潮,这些个股获主力逆市抢筹

计算机、电子、传媒、通讯职业流出规模居前。 今天沪深两市主力资金净流出709.92亿元,其中创业板净流出218.36亿元,沪深300成份股净流出187.92亿元。 资金流向上,今天申万一级职业普跌,除了国防军工职业小幅上涨,获主…

vim编辑器使用教程

文章目录 前言一、vim 的三种工作模式二、vim 基本操作1、编辑2、复制粘贴3、撤销4、跳转5、查找和替换6、自动缩进7、分屏8、其他 三、vim 配置文件 前言 vim 是 Linux 系统内置的「文本编辑器」,用于查看或编辑文件的内容,学会使用 vim 编辑器&#x…

【ros】7.ros导航navigation(定位规划)

物竞天择,优胜劣汰;苟不自新,何以获存。——梁启超 文章目录 :smirk:1. ros导航:blush:2. 2d导航:satisfied:3. 3d导航 😏1. ros导航 ros机器人有个导航功能,类似自动驾驶车辆的规控部分,即根据地图&…

性能测试:深入理解线程数,并发量,TPS,看这一篇就够了

并发数,线程数,吞吐量,每秒事务数(TPS)都是性能测试领域非常关键的数据和指标。 那么他们之间究竟是怎样的一个对应关系和内在联系? 测试时,我们经常容易将线程数等同于表述为并发数&#xff…

短视频app搭建的技术难点是什么?

近年来,短视频app的流行引起了广泛关注。越来越多的企业开始投入资源来开发短视频app,以满足用户的需求。然而,短视频app的开发过程中,存在许多技术难点需要解决。本文将深入分析短视频app搭建的技术难点。 短视频app的意义 随着…

Centos 7 内核在线升级

目录 一、参考文档 二、升级centos内核 三、centos内核一键升级脚本 一、参考文档 1、内核版本的分类等相关信息见官网:https://www.kernel.org/ 2、 第三方仓库ELRepo参考官网:http://elrepo.org/tiki/HomePage 3、国内yum源:https://…

为什么大量失业集中爆发在2023年?被裁?别怕!失业是跨越职场瓶颈的关键一步!对于牛逼的人,这是白捡N+1!...

被裁究竟是因为自身能力不行,还是因为大环境不行? 一位网友说: 被裁后找不到工作,本质上还是因为原来的能力就配不上薪资。如果确实有技术在身,根本不怕被裁,相当于白送n1! 有人赞同楼主的观点&…

如何在视频直播网站开发上集成即时聊天功能

视频直播网站开发需要考虑许多因素,其中一个非常重要的因素是与观众的互动。为了增强观众的参与度和留存率,许多视频直播网站都已经开始集成即时聊天功能。本文将介绍如何在视频直播网站开发上集成即时聊天功能,以提高观众的参与度和留存率。…

SQL Server基础 第五章 函数的使用(日期、字符串、时间、数学、转换等函数)

前言 在SQL Server中提供了许多内置函数,SQL Server中的内置函数就相当于Java、C#等编程语言中的内置API函数。按照函数种类可以分为聚合函数、数学函数、字符串函数、日期函数和时间函数、转换函数和元数据的数6种。在本章中重点讲解比较常用的4种函数&#xff0c…

python从入门到入狱系列-帮你彻底搞懂python的项目实战,爬虫获取NBA成员信息

作者:20岁爱吃必胜客(坤制作人),近十年开发经验, 跨域学习者,目前于海外某世界知名高校就读计算机相关专业。荣誉:阿里云博客专家认证、腾讯开发者社区优质创作者,在CTF省赛校赛多次取得好成绩。…

020 - C++ 枚举

今天我们要讲的是 C 中的枚举。 enum 是 enumeration 的缩写,基本上可以说,它就是一个数值集合。如果你想要给枚举一个更实际的定义,它们是给一个值命名的一种方法。 所以我们不用一堆叫做 A、B、C 的整数。我们可以有一个枚举数。它的值是…

Flask 与 Django 先学哪个呢

本文把 Flask 和 Django 做一个比对,因为我对这两个 Python Web 框架都有实际的开发经验。希望我可以帮助您选择学习哪个框架,因为学习一个框架可能会非常耗时 —— 当然也很有趣! 相似之处 让我们从相似之处开始。 No. 1 Flask 和 Djang…

ROS学习第二十七节——URDF集成Rviz基本流程

前面介绍过,URDF 不能单独使用,需要结合 Rviz 或 Gazebo,URDF 只是一个文件,需要在 Rviz 或 Gazebo 中渲染成图形化的机器人模型,当前,首先演示URDF与Rviz的集成使用,因为URDF与Rviz的集成较之于…

ROS学习第二十八节——URDF之robot link

1.概述 URDF 文件是一个标准的 XML 文件,在 ROS 中预定义了一系列的标签用于描述机器人模型,机器人模型可能较为复杂,但是 ROS 的 URDF 中机器人的组成却是较为简单,可以主要简化为两部分:连杆(link标签) 与 关节(joint标签)&…

数据库基础篇 《11.数据处理之增删改》

1. 插入数据 1.1 实际问题 解决方式:使用 INSERT 语句向表中插入数据。 1.2 方式1:VALUES的方式添加 使用这种语法一次只能向表中插入一条数据。 情况1:为表的所有字段按默认顺序插入数据 INSERT INTO 表名 VALUES (value1,value2,....);…

03.初始React脚手架

一.使用create-react-app创建react应用 1.react脚手架 xxx脚手架:用来帮助程序员快速创建一个基于xxx库的模板项目 包含了所有需要的配置(语法检查,jsx编译,devServer…)下载好了所有相关的依赖可以直接运行一个简单…

硬件还不够!激光雷达「开卷」感知算法+数据闭环

激光雷达正式进入量产周期,而如何用好激光雷达,并形成更优更具性价比的激光雷达系统方案,助力激光雷达量产上车并真正用好激光雷达系统,将是接下来两年激光雷达赛道的主要方向。 在近期开幕的上海国际车展上,亮道智能…

学系统集成项目管理工程师(中项)系列10_立项管理

1. 系统集成项目管理至关重要的一个环节 2. 重点在于是否要启动一个项目,并为其提供相应的预算支持 3. 项目建议 3.1. Request for Proposal, RFP 3.2. 立项申请 3.3. 项目建设单位向上级主管部门提交的项目申请文件,是对拟建项目提出的总体设想 3…