为了连接实验室的服务器用了很多办法,最近为了能够远程显示图形化界面又配置了X11…
前言
设备介绍
先简单介绍一下使用的设备。
本地机器:MBP
远程服务器:Ubuntu18.04
连接方式
总结一下用过的所有连接方式吧。
按照软件来分享吧:
- Royal TSX:这是在macOS上媲美win平台上MobaXTerm的神器了,虽然有连接数量的限制,但基本够用了。平时用这个软件来代替mac自带的终端。同时也能配置VNC、SFTP等功能,所以能够代替VNC Viewer、XShell、FileZilla等软件了。同理,在WIN上用MobaXTerm也能代替下载这么多软件。
- VS Code:顶级文本编辑器!Windows、macOS、Linux三平台通用。平时用vsc来进行代码修改等,最近发现配置一个适合自己的Vim也很酷,但是太麻烦了,还是VSCode适合我这种懒人。VSCode虽然也能够做文件的上传下载,但是如果是大文件的话会卡…所以还是安心用别的软件吧。
- TeamViewer:因为校园网有终端数量限制,而且每个月流量有限,所以服务器一般不连外网。使用向日葵的话就比较麻烦,因为得先联网。但是TeamViewer是可以设置内网连接的,详见TeamViewer内网连接。这样就可以方便连接了。
但是,最近因为想做一下偏工程类的项目,需要用QtCreator,好像通过VNC不能操作,而TV的话有延迟,而且在TV里面mac和linux的键盘不能映射,这个实在是太割裂了。在Royal中的VNC是会帮你配置好键盘映射的。而TeamViewer需要在Linux服务器上配置键盘映射的工具,这太麻烦了,而且服务器是公用的。所以尝试使用远程显示服务器上的图形化界面。
ssh显示远程服务器的图形化界面
配置
修改Royal TSX配置
在你需要连接的服务器的设置中找到Advanced->SSH
,然后把X11 Forwarding
修改为Enable。
下载XQuartz
因为macOS上没有X11,所以要下载XQuartz。可以直接点这里的ℹ️进入到下载界面。
或者官网下载
配置Linux服务器端
打开服务器端的X11转发
sudo vim /etc/ssh/sshd_config
修改以下参数
X11Forwarding yes
X11DisplayOffset 10
然后重启Linux上的ssh服务。
service ssh restart
配置mac端
sudo vim /etc/ssh/ssh_config
ssh_config和sshd_config都是ssh服务器的配置文件,前者是针对客户端的配置文件,后者则是针对服务端的配置文件。
在文件最后添加以下内容
# XAuthLocation for XQuartz
ForwardAgent yes
ForwardX11 yes
ForwardX11Trusted yes
XAuthLocation /opt/X11/bin/xauth
我稍作了修改,如图
测试
在确保XQuartz
打开的情况下,在Royal的远程终端中输入xclock
,会出现钟表的应用程序。
出现以上界面就说明配置成功了。
补充
如果不在royal中进行远程连接的话,就记得在ssh命令后添加-X
或者-Y
参数,如
ssh -X user@ip
测试了一下…qtcreator、firefox这种应用还是延迟巨大,不如直接使用vnc和teamviewer。而且XQuartz对mac的屏幕分辨率不适配,好像暂时无解,所以还是放弃吧…