您现在的位置是:首页 >其他 >【Linux】在工作站或服务器上实现多个GUI图形界面同时进行操作,多个用户同时操作互不干扰网站首页其他

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

键盘即钢琴 2024-10-02 12:01:05
简介【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界面。
在这里插入图片描述
软件界面如图
在这里插入图片描述
因为这个方案实在太慢,我测试的时候感觉帧率只有个位数,所以并不建议使用。

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

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

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

在这里插入图片描述
这个方案相比X11转发,要快将近1.5倍,而且可以对多个账户的桌面进行标签页式管理,不像微软电脑自带的那个远程桌面,启动软件进去,一次只能登一个账户,如果还要登其他账户,就需要再启动一次软件。

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

四、使用nomachine实现多用户桌面登录【强烈推荐】

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

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

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

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

在安装linux版本时,千万要注意一个问题,你要知道你的CPU用的指令集是啥,一般来说是AMD64,有的是Intel 80386架构的。
在这里插入图片描述
一般选择,amd64。
在这里插入图片描述

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

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

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

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

如下图所示。

在这里插入图片描述

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

通过命令mstsc可以打开。
在这里插入图片描述
输入ip地址,连接之后。
在这里插入图片描述
这里是让你选择session方式,有VNC和RDP两种基本方式。

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

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

这个方法,也能实现在一台Win上同时操纵多个账户桌面。
在这里插入图片描述

如果你遇到下面的问题,那么你可以重新创建窗口登录,多重新输入几次密码(你密码可能输错了),或者命令reboot重启一下,当时我就是这么解决的!
在这里插入图片描述

六、疑难杂症

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

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

另外,还有root账户的GUI界面登录容易出现的问题——Sorry, that didn’t work. Please try again。
在这里插入图片描述
我也可以用重启大法来解决。

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

RESPECT!!!

在这里插入图片描述
在这里插入图片描述

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。