【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰

一、问题背景

因为我们团队有几个人需要做仿真,一个工作站不够用,经常是一个人操作的时候另一个人就眼巴巴等着。

我在想能不能实现一种方案,能使两个人一起操作仿真软件呢?

需求这种方案,目前网上比较流行是x11-forwarding实现软件的GUI化。

但是我在尝试的时候,发现这种方式太卡,于是我又尝试了其他方法,各位看官敬请享用!

友情提示1:下面各种方式,一个账户只能登一个桌面,不是说你用方式一和方式二能同时创建一个关于账户一的桌面。

友情提示2:下面各种方式,都是基于基本的X协议,你需要安装一些依赖项,例如XRDP、X11-FORWARDING等等,这个自己百度,有很多文章教程,我这里主要是测试一下各种方案的快慢、可行性。

二、如何实现x11-forwarding软件GUI化

首先,你需要在linux工作站上配置x11-forwarding。

其次,你需要在你自己的电脑(win)上安装xshell和xmanager。

最后,当你通过xshell连接上工作站后,你可以在xshell中输入启动软件的命令,来创建软件的图形界面。

例如文本编辑器gedit,在xshell中输入gedit后回车,然后就会自动弹出该软件的GUI界面。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第1张图片
软件界面如图
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第2张图片
因为这个方案实在太慢,我测试的时候感觉帧率只有个位数,所以并不建议使用。

三、在xmanager上通过XRDP实现多用户桌面同时操纵

如下图所示,你直接创建一个XRDP会话,把IP地址等设置好,用户名和密码输入,然后确定。

就可以进入XRDP桌面!!!!

【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第3张图片
这个方案相比X11转发,要快将近1.5倍,而且可以对多个账户的桌面进行标签页式管理,不像微软电脑自带的那个远程桌面,启动软件进去,一次只能登一个账户,如果还要登其他账户,就需要再启动一次软件。

但是还不够,还是有卡顿的感觉!!!

四、使用nomachine实现多用户桌面登录

本来想用VNC实现,但是这个VNC在网上的风评不好。

缺点有:1、很多VNC软件不是免费;2、免费的VNC软件速度不快(帧率不高)。

鉴于此,我并没有用VNC做测试,转而使用网上风评比较好的Nomachine,大家普遍认为帧率更快的Nomachine,它对应的协议是NX协议。

nomachine官网:https://www.nomachine.com/

在linux中安装nomachine的服务器端和客户端(有人可能会疑惑为啥工作站也要安装客户端,这是因为服务器端那个软件需要用到客户端的一些依赖项)。

在安装linux版本时,千万要注意一个问题,你要知道你的CPU用的指令集是啥,一般来说是AMD64,有的是Intel 80386架构的。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第4张图片
一般选择,amd64。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第5张图片

在windows中安装nomachine的客户端(windows版本)。

你在linux的桌面打开nomachine的服务端,然后查看nx协议的那个IP和端口是多少,默认端口是4000。

然后在Windows中,打开nomachine的客户端,通过这个IP和端口,以及你的账户和密码来访问GUI界面。

上面的步骤设置完后,你在Windows上用nomachine,会发现虽然图形分辨率差一些,但是帧率刷新速度有了一个质的提升。

如下图所示。

【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第6张图片

在一次偶然中,我同时登录多个账户,发现会挤占掉我的另一个账户。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第7张图片
结果发现,原来nomachine的免费个人版,只能一个账户使用。要想多个账户同时控制工作站,必须买企业版,收费的。

网上也没有很好的资源,至少目前没发现。

所以多用户同时登陆这个需求,恐怕还是得由XRDP系列担任了。

五、微软自带的远程桌面mstsc

通过命令mstsc可以打开。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第8张图片
输入ip地址,连接之后。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第9张图片
这里是让你选择session方式,有VNC和RDP两种基本方式。

默认的Xorg是使用XRDP的方式进行远程账户桌面访问,你也可以用VNC-any和xvnc。

我测试的时候发现,Xorg和xvnc不用设置端口,看起来相对更加简单,我发现他们两个也没有速度上明显的差距。

这个方法,也能实现在一台Win上同时操纵多个账户桌面。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第10张图片

如果你遇到下面的问题,那么你可以重新创建窗口登录,多重新输入几次密码(你密码可能输错了),或者命令reboot重启一下,当时我就是这么解决的!
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第11张图片

六、疑难杂症

上面我提到在用微软远程桌面,同时登录多个账户的时候出现错误,通过重启解决的。

后来我发现我登录默认账户时,输入密码后回车,卡顿住不动,试了很多遍,最后还是通过重启解决的。

另外,还有root账户的GUI界面登录容易出现的问题——Sorry, that didn’t work. Please try again。
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第12张图片
我也可以用重启大法来解决。

所以重启大法好,工作站出问题的时候,如果其他人没有连接,你直接重启,是最快速便捷De解决办法。

RESPECT!!!

【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第13张图片
【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰_第14张图片

你可能感兴趣的:(Linux,linux,服务器,运维)