本文档记录上code在服务器上配置方式
vscode的远程免密登陆可以直接使用ssh,占用带宽很小速度很快,并且非常流畅
tmux可以终端和任务分离,从而实现后台运行,不受terminal关闭的影响,比起nohup & 更方便管理
可以再安装一个 Anaconda方便对环境进行统一的管理
VS Code
code是一个跨平台的ide,轻量化,并且有着生态极为丰富的拓展,开源 + 跨平台,这才是未来ide的形态
那么code的远程好在哪里?
code是一个跨平台的ide,轻量化,并且有着生态极为丰富的拓展,开源 + 跨平台,这才是未来ide的形态。
那么code的远程好在哪里?
在设计上的理念就高出其他的远程一大截了。下面细数远程的数宗罪。
首先是犯了高傲之罪 的xxx,接下来是犯了xxx请自行脑补对应那段圣经
连接服务器用的都是ssh,直接使用终端进行代码编写当然不是不行,但是对于训练调试net非常不友好。如果是可视化的ide,有两种思路,要么在服务器安装ide进行x11转发,要么在本地安装ide连接服务器。
首先是进行转发这件事情,mac上的x11实在是过于难用了,重影比较多,因为是基于像素进行转发,有一点依赖网速,体验并不算友好。
接下来就是jupyter的远程连接,jupyter当作简单数据分析尚可,如果是大型工程难当重任。
pycharm的远程连接也是通过ssh连接,可以使用服务器的环境进行调试,文件管理上本地对远程服务器上的数据有一个非完全的映射,有一个专门工具可以精细的对每一个文件进行控制,体验尚可,但是需要时刻惦记着文件是在本地还是在服务器,需要时不时的同步一下。
而code的设计,就不免让人拍案叫绝,删繁就简,所有的文件都在服务器,本地没有固定的文件夹映射,就跟浏览器浏览网页一样,反正代码文件非常小,scp一下索引就建立好了,下次再打开的时候cache就让ide自己管理就行了,在用户端与在本地浏览没有任何区别,如果想下载某些代码直接右击另存为,体验如同浏览网页.、
具体Code配置
安装插件
输入一个remote,保证ssh和container安装就行了
Remote - SSH
Remote - Container

接下来1处是管理服务器工作区,2处可以添加add new添加新的服务器,然后在3处使用ssh命令添加即可

这样就连接成功服务器了,可以打开新的文件夹什么的了。
配置免密登陆
首先使用 ssh-keygen 的命令生成本用户的ssh keypair
keypair可以指定目录,不选的话就一路enter
一般在/user/username/.ssh 路径下,
linux在 /home/username/ssh 目录下
win的话应该在c盘用户,.ssh路径下,

id_rsa是私钥,不能给别人,id_rsa.pubs是公钥,config是本机可以直接连接的服务器。
cat 一下config
Host 第一栏可以自己随便指定,自己给服务器起的名字,HostName是ip地址,user是我们的用户名,然后IdentifyFile是私钥(id_rsa)的绝对路径。这样设置好之后,如果是mac或者Linux,就可以直接通过 ssh anserver 的方式进行连接了。

至此就可以免密登陆服务器了,可以使用terminal ssh +host试一下。
服务器配置,
切换到服务器的ssh文件夹,将authorized_keys这个文件新建,将本地电脑的id_rsa.pub放进去。
cat ~/id_rsa.pub >> ./.ssh/authorized_keys
vscode
然后打开vscode的时候,在ssh targets的地方设置的按钮打开本用户的config文件,可以看到,和上面的是一样的,code是读取了本机的sshcofig,所以如果不一样,那就重新按照上面的步骤设置一次,就这几个参数。

现在code就可以随意的免密登陆了。
Tmux
可以看一下下面的blog
需要注意的是
进入tmux之后, ctrl +B,输入冒号进入命令模式,输入下面的命令
set -g mode-mouse on # 打开鼠标控制
但是至此还不能tmux中复制,win ubuntu可以使用按住shift 左键选中文字,使用ctrl +c的方式进行复制,mac的话,可以使用一直按住option,然后左键选中 commond + c复制。
code中需要设置一个
如果是mac的code的话,需要设置这个
"terminal.integrated.macOptionClickForcesSelection": true,
网友评论