本地(windows)连接远程服务器(Ubuntu)工作的几种方式

来源:互联网 发布:用友t3数据库安装 编辑:程序博客网 时间:2024/06/15 07:17

使用环境

做深度学习实验一方面需要大量的数据,另一方面需要使用GPU,因此很多工作不得不登录服务器进行。对于数据传输、程序编写环境、执行就产生了各种各样的问题。这里总结一下这两年我使用过的方式。

远程桌面登录

这是最基本的方法,可以参考这个网页进行配置。应该说,使用这种方法是不会因为操作系统或文件传输不同带来任何问题的,毕竟就像在本地工作一样。可是唯一的问题,也是最大的问题,远程桌面本身有时候并不好用。

  • 网络传输问题:虽然在内网上远程桌面不会卡,但在外网的话,需要连通VPN连服务器的话,操作上可能会出现延时。
  • 远程桌面本身操作问题:毕竟不是本机,要打开一个远程登录窗口,如果有其他任务,例如中文输入或使用windows的软件,这样需要在两个系统上切换,感觉总是不太一致。假如服务器上有实验画图什么的,还是需要把数据传送到windows下进行画图。
  • 不是所有时候服务器都能提供远程桌面。
  • Ubuntu的界面始终太丑了。

SSH

如果说远程桌面是小白的做法,使用SSH纯终端操作一下子显得高大上了,看着大牛们在终端上连通服务器,用VI编辑器代码写得飞起,非常钦佩。而且相比于远程桌面,这种方式不会因为网络传输产生操作上的延时。可是,我曾努力尝试几次,使用没用上手就放弃了。究其原因:

  • 纯字符环境下文件管理不直观(其实这里有个习惯问题,可能习惯了就好了,但因为我有些工作,例如写论文作图、或做PPT什么的,还是需要转到windows,两个系统来回切始终不利于适应这种字符操作的适应。)
  • VI或emacs编辑器的学习曲线。
  • 做图像和视觉的研究,往往需要看看图片,纯字符环境不方面。总不能每次画个图,保存,下载到本地看吧。

MoBaxterm

这个方法是远程桌面和纯字符界面的折中。 MoBaxterm是个增强的终端,跑程序什么还是通过SSH,字符界面操作。但它通过SFTP,结合GUI实现了windows下对于远程机器的文件管理/操作,有点像windows的资源管理器。这样,就可以用本地的编辑器(例如sublime text)编辑服务器上的文件,编辑后保存,会自动更新到服务器上。更好的是,他还支持X11 图形界面的传输,例如通过SSH启动Matlab,可以看到Matlab的GUI了。可缺点就是,每次本地更新文件,保存到服务器总需要那么一小点时间,虽然经常只是一两秒(毕竟数据要传到服务器嘛),可也会带来操作上的不愉快。

MoBaxterm+Jupyter

上面提到MoBaxterm更新文件有延时,那Jupyter (如果使用python的话)正好可以解决这个问题。在服务器运行Jupyter, 本地用浏览器打开直接编写代码在服务器运行,代码编写过程中使用的路径直接就是服务器的路径,写完直接运行,可谓无缝连接。不过虽然Jupyter写代码也有各种快捷键,但刚开始用,目前还没有sublime text用得顺手。另外,虽然Jupyter可以打开terminal命令行,但还是同时使用MoBaxterm做文件管理更为方便。毕竟,有些文件并不是python代码。

各种IDE的远程调试功能

例如pycharm可以连接服务器调试远程代码。但我不喜欢IDE,也没有用过,因此这个不做说明了。

0 0
原创粉丝点击