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

news2025/1/23 22:46:01

一、问题背景

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

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

这种方案,目前网上比较流行是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!!!

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/632522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

NLP——ELMO;BERT;Transformers

文章目录 ELMOELMO 简介ELMO 优点利用了多层的 hidden 表示ELMO 缺点 BERTBERT V.S. ELMO两种预训练任务Object1: Masked Language ModelObject2: Next sentence prediction 训练细节如何使用 BERTBERT 应用——垃圾邮件分类 Transformerself-attentionMulti-head AttentionTra…

chatgpt赋能python:Python中如何判断奇偶数

Python中如何判断奇偶数 当我们在Python中编写程序时,有时需要判断一个数是奇数还是偶数,因为根据不同的情况,我们需要对不同的数值进行不同的处理。那么在Python中,该如何判断一个数是奇数还是偶数呢? 判断奇偶数的…

【JavaEE进阶】mybatis

目录: 一、Mybatis是什么 三个映射关系如下图: 二、mybatis的使用(前置工作简单案例) 第一步:导入MAVEN依赖 第二步: 在spring项目当中新建数据源 第三步:新建一个实体类,是和…

Shell编程规范与变量使用

目录 一、Shell编程概述 1.Shell脚本的概念 2.Shell脚本的应用场景 3.Shell的作用 4.Linux系统中支持的shell 二、Shell编程规范 1.编写Shell脚本规范步骤 2.Shell脚本执行方法 (1)以绝对路径执行(需要赋予脚本文件执行权限&#xf…

stable diffusion webui 文生图(txt2img)api接口调用(使用C#)

唠嗑 本次将跟读者讲一下如何通过C#请求sd webui api 【txt2img】接口,如果读者觉得文章有用,请给【点个赞】吧,有问题可以评论区提问。 实战 1.配置api启用参数 启动webui时,需加上【–api】 命令以保证api接口可以被调用。如…

Shell脚本文本三剑客之awk编辑器

目录 一、sed编辑器简介 二、sed工作流程 三、sed命令 四、sed命令的使用 1.sed打印文件内容(p) (1)打印文件所有行 (2)打印文件指定行 2.sed增加、插入、替换行(a、i、c) …

Shell脚本之正则表达式详解

目录 一、正则表达式简介 二、正则表达式的组成 三、正则表达式分类 四、正则表达式字符用法 1.基础正则表达式常见元字符(支持grep、egrep、sed、awk) 2. 扩展正则表达式元字符(支持:egrep、grep -E、awk、sed -r&#xff…

C语言之数据在内存中的存储(2)

本章重点:浮点数在内存中的存储 浮点数:数学中的小数 eg.123.45 12.345*10^1 1.2345*10^2 1E10:1.0*10^10 整型家族的类型,表示范围:limits.h 浮点数:float.h 大家可以猜测一下打印的这四个数字…

Unity中动画系统的性能优化

降低骨骼数,减少面片数。 方法: 1.勾选Optimize Game Objects,以剔除骨骼节点对应的Transform节点 2.开启多线程渲染选项 主要影响的函数调用开销,可以在profiler中查看: Animators.Update MeshSkinning.Update C…

【TCP/IP】多进程服务器的实现(进阶) - 信号处理及signal、sigaction函数

目录 信号 signal函数 sigaction函数 尝试用信号来处理僵尸进程 我们在之前学习了如何处理“僵尸进程”,但也会有疑问:调用wait和waitpid函数时我们关注的始终是在子进程上,那么父进程上的管控(对于子进程)该如何实…

STM32——05-按键、时钟控制、中断复位 点亮LED灯

如何点亮一颗LED灯 编程实现点灯 常用的 GPIO HAL 库函数: void HAL_GPIO_Init ( GPIO_TypeDef * GPIOx , GPIO_InitTypeDef * GPIO_Init ); void HAL_GPIO_WritePin ( GPIO_TypeDef * GPIOx , uint16_t GPIO_Pin , GPIO_PinState PinState ); void HAL_GPIO_Togg…

chatgpt赋能python:Python如何创建新项目

Python如何创建新项目 Python已经成为了全球最受欢迎的编程语言之一。如果您是一个有经验的Python工程师,您可能已经知道如何在命令行上创建新项目。但是,如果您是一个新手或初学者,您可能需要一些指导来开始创建新的项目。在本篇文章中&…

Vue中如何进行样式绑定?

Vue中如何进行样式绑定? 在Vue中,我们可以很方便地进行样式绑定。样式绑定是将CSS样式与Vue组件中的数据进行关联的一种技术。通过样式绑定,我们可以根据组件的状态动态地修改其外观。本文将介绍Vue中的样式绑定,包括类绑定、内联…

chatgpt赋能python:Python如何进行升序排列?

Python如何进行升序排列? Python是一门广泛应用于Web开发、数据科学、人工智能、机器学习等领域的编程语言。在这个快速发展的世界中,如何高效地排序数据是非常重要的。本文将介绍Python中如何进行升序排序。 基本排序方法 Python提供了一个内置函数s…

Vue 中的列表渲染

Vue 中的列表渲染 在 Vue 中,列表渲染是非常常见的操作。它允许我们将一个数组中的数据渲染为一个列表,从而实现数据的展示和交互。在本文中,我们将探讨 Vue 中的列表渲染的基本原理和用法,并给出一些实例代码来帮助读者更好地理…

【模块三:职业成长】38|能力维度三:如何提升解决跨领域冲突的能力?

你好,我是郭东白。今天我们来讨论架构师核心能力的第三个层次——解决跨领域冲突。 上节课我们讲了从程序员到兼职架构师的跨越,也就是如何搭建解决横向问题的能力。 不过,在兼职架构师这个角色中,架构能力是一个加分项&#xff…

chatgpt赋能python:如何使用Python升序排列一个列表?

如何使用Python升序排列一个列表? 在Python编程中,我们经常需要对列表进行排序。列表排序是一种常见的操作,可以帮助我们对数据进行分析和管理。在这篇文章中,我们将学习如何使用Python对一个列表进行升序排列。 什么是升序排列…

时间同步/集群时间同步/在线/离线

目录 一、能够连接外网 二、集群不能连接外网--同步其它服务器时间 一、能够连接外网 1.介绍ntp时间协议 NTP(Network Time Protocol)网络时间协议,是用来使计算机时间同步的一种协议,它可以使计算机对其服务器或时钟源做同步…

【python】【Word】用正则表达式匹配正文中的标题(未使用样式)并通过win32com指定相应样式

标题的格式 二级标题: 数字.数字. 文字 三级标题:数字.数字.数字 文字 python代码 使用方法 只保留一个需要应用的WORD文档运行程序,逐行匹配 使用效果 代码 import win32com.client import redef compile_change_Word_titlestyle():#…

shell脚本语句控制命令(exit、break、continue)

一、exit exit用于直接退出shell脚本程序并返回状态码(状态码可在执行命令执行后用$?查看) 如果不在exit后添加状态码,会默认返回最后一条命令执行后的状态码 exit 加状态码,代表退出程序并向系统指定状态码 状态码…