本地(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,也没有用过,因此这个不做说明了。
- 本地(windows)连接远程服务器(Ubuntu)工作的几种方式
- 日常改BUG-windows连接远程ubuntu(14.04)服务器的mysql数据库
- Ubuntu和Windows远程连接windows服务器
- 本地Navicat for Mysql 连接不上远程阿里云服务器mysql(windows系统)
- ubuntu下面的SecureCRT破解失败问题+本地ubuntu系统远程连接RHEL服务器的免密码登录问题(自己归纳总结)
- windows 远程连接Ubuntu 调试(DEBUG )
- JproFiler连接远程(本地)Linux服务器(超简便)
- linux 远程获取服务器文件的几种方式
- 远程连接mysql数据库的几种方式
- Windows本地电脑如何远程连接VPS服务器
- SSH连接下复制远程linux服务器文件到本地的命令(zz)
- windows远程登录Linux几种方式.
- xp上远程连接ubuntu的两种方式
- ubuntu远程连接windows
- windows远程连接ubuntu
- ubuntu远程连接windows
- windows远程连接ubuntu
- Windows远程连接ubuntu
- Cling
- html中a标签中的onclick和href的使用
- PHP中抽象方法、抽象类和接口的用法
- 七、输入、输出系统
- Android Fragment 你应该知道的一切
- 本地(windows)连接远程服务器(Ubuntu)工作的几种方式
- Learning Python(13)--文件读写
- 前端学习笔记(四)——css
- [c++]关于时间函数的总结
- 计数排序
- day10—JDBC
- HDU杭电 1177 Accepted today
- 欢迎使用CSDN-markdown编辑器
- Java内存管理:深入Java内存区域