烂泥:学习ubuntu远程桌面(二):远程桌面会话管理

本文首发于烂泥行天下

在上一篇文章中,我们讲解了如何给ubuntu安装远程桌面及其配置,这篇文章我们再来讲解下有关ubuntu远程桌面会话的问题。

一、问题描述

在我们使用ubuntu远程桌面时,会经常遇到这样的问题。在连接远程桌面时,我打开的是会话A,我在会话A下处理一些工作的事情。由于自己不小心把这个远程桌面给关闭了,或者今天工作完毕关闭该远程桌面会话。等再进行连接远程桌面时,发现ubuntu会给出一个新的远程桌面会话B,而不是我们刚刚连接过的那个会话A,或者是昨天连接的那个会话A。

以上这个问题,我们在实际的工作中是经常遇到的。

那么我们该如何解决这个问题呢?或者换一种说法,我们该如何再次连接到上一次的远程桌面会话A呢?

注意:本篇文章中的ubuntu远程桌面全部是基于XRDP协议。

二、ubuntu远程桌面的原理

要解决以上的问题,我们就要了解基于xrdp协议的ubuntu远程桌面与vncserver之间的关系。

其实有关ubuntu远程桌面的原理,我们在上一篇文章《烂泥:学习ubuntu远程桌面(一):配置远程桌面》中已经提到过一些,基于XRDP方式的远程桌面连接是需要vncserver的支持。

为什么需要vncserver的支持呢?是因为我们在通过3389端口连接ubuntu远程桌面时,xrdp会把所有通过3389端口数据都转发到vncserver的端口上,同时vncserver只监听127.0.0.1这个地址,所以vncserver的端口是不对外开放的。

除此之外,vncserver还为每一次远程桌面会话分配一个系统端口,注意这个端口很重要。

如果我们要连接上一次的远程桌面会话A的,我们只需要连接会话A所在vncserver端口即可。

那么我们如何才能连接和查看这个vncserver端口呢?这就需要我们修改xrdp的相关配置。

为什么要讲解这个原理?是因为只有我们理解了这个原理,那么我们才能很容易的解决ubuntu远程桌面会话的问题,而且也能很容易的理解,我们对xrdp配置文件的相关修改。

三、XRDP配置文件详解

XRDP配置文件有两个,分别是/etc/xrdp目录下的xrdp.ini和sesman.ini文件。

xrdp.ini配置文件,关键部分在globals,具体内容如下:

[globals]

bitmap_cache=yes 位图缓存

bitmap_compression=yes 位图压缩

port=3389 xrdp监听的端口(重要)

crypt_level=low 加密程度(low为40位,high为128位,medium为双40位)

channel_code=1

max_bpp=24 XRDP最大连接数

[xrdp1]

name=sesman-Xvnc XRDP的连接模式

lib=libvnc.so

username=ask

password=ask

ip=127.0.0.1

port=-1

注意:在xrdp.ini配置文件中,需要注意max_bpp参数,这参数定义XRDP最大的连接数。

要解决本文所提出的问题,我们只需要修改sesman-Xvnc模式中的port参数。修改后的prot参数,如下:

cat /etc/xrdp/xrdp.ini

sesman.ini配置文件,内容如下:

[Globals]

ListenAddress=127.0.0.1 监听ip地址(默认即可)

ListenPort=3350 监听端口(默认即可)

EnableUserWindowManager=1 1为开启,可让用户自定义自己的启动脚本

UserWindowManager=startwm.sh

DefaultWindowManager=startwm.sh

[Security]

AllowRootLogin=1 允许root登陆

MaxLoginRetry=4 最大重试次数

TerminalServerUsers=tSUSErs 允许连接的用户组(如果不存在则默认全部用户允许连接)

TerminalServerAdmins=tsadmins 允许连接的超级用户(如果不存在则默认全部用户允许连接)

[Sessions]

MaxSessions=10 每个用户最大会话数

KillDisconnected=0 是否立即关闭断开的连接(如果为1,则断开连接后会自动注销)

IdleTimeLimit=0 空闲会话时间限制(0为没有限制)

DisconnectedTimeLimit=0 断开连接的存活时间(0为没有限制)

[Logging]

LogFile=./sesman.log 登陆日志文件

LogLevel=DEBUG 登陆日志记录等级(级别分别为,core,error,warn,info,debug)

EnableSyslog=0 是否开启日志

SyslogLevel=DEBUG 系统日志记录等级

四、连接远程桌面

现在我们来通过远程桌面来连接ubuntu,如下:

注意:图中标记出来的端口号

远程桌面连接进入后,打开终端创建一个文件test,如下:

test创建完毕后,然后关闭这个远程桌面连接。

注意:为了下面的演示效果,创建该文件的界面,我没有关闭。

此时我们再通过ssh登录进入ubuntu,查看此时vncserver所使用的端口,如下:

netstat –tunlp

ps -ef |grep 1673

通过上图,我们可以知道目前这个会话,vncserver使用的是5912这个端口。

现在我们修改下xrdp的配置文件xrdp.ini,如下:

sudo vi /etc/xrdp/xrdp.ini

以上修改完毕后,我们要重新启动xrdp,如下:

sudo /etc/init.d/xrdp restart

重启完毕后,我们再次连接远程桌面,如下:

注意:上图中的port端口,我们填写的是5912这个端口,也就是上边那个远程桌面会话vncserver所使用的端口。

远程桌面进去后,如下:

通过上图,我们可以很明显的看出,我们确实连接到了上次本关闭的那个远程桌面界面。

PS:如果不知道每一次的连接的端口的话,我们也可以通过上查看用户的xrdp日志进行查看。具体步骤,如下:

sudo cat /var/log/xrdp-sesman.log

通过xrdp日志查看用户启动xrdp的pid。

然后再根据pid,查看启动的xrdp进程,如下:

ps -ef |grep 1693

通过上图,基本可以看出此xrdp进程所使用的是5912端口。

为了更清晰的确认端口号,使用netstat命令,如下:

netstat -tunlp

通过上图,可以很明显的看出pid为1693的xrdp,使用的是5912 端口。

到此有关ubuntu远程桌面会话的问题全部结束。

时间: 2024-10-18 00:48:05

烂泥:学习ubuntu远程桌面(二):远程桌面会话管理的相关文章

烂泥:学习ubuntu远程桌面(一):配置远程桌面

本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司服务器目前安装的都是ubuntu 14.04系统,而且由于业务需要,需要使用到ubuntu的远程桌面功能.所以本篇文章都是围绕ubuntu的远程桌面来介绍. 一.远程桌面连接方式 ubuntu的远程桌面连接要说简单也很简单,要说复杂也很复杂.ubuntu远程桌面连接的方式,目前主要有两种方式:基于VNC方式的和基于XRDP方式的. 基于VNC方式的远程桌面连接,不在本篇文章中进行介绍.本文主要介绍基于XRDP方式的远程桌面连接. 注意:基于XRD

Ubuntu 14.04 Remmina远程桌面连接Windows计算机

可以在/usr/share/applications/目录下启动Remmina远程桌面客户端或者直接在Dash中搜索Remmina即可 启动后如下图,可以新建,复制,编辑,删除远程桌面客户端 选择新建后,基本项目中档案名称哪里输入你想要显示的名称,服务器位置可uyi输入IP地址或者远程主机的计算机名称,然后输入相应的帐号和密码,及连接时的分辨率,色彩等. 高级选项中可以选择画质,是否共享打印机,是否禁用剪贴板同步功能 SSH选项可以选择是否启用SSH通道,以及SSH服务器信息,SSH验证信息.

设置Windows 远程协助与远程桌面

家庭局域网组建完成后,即可通过远程协助解决各种问题,或联机玩游戏等. 使用Windows 7\8\10 远程协助与远程桌面 Windows 8系统中自带了远程协助功能,家庭用户只需要做简单的设置,就可以让其他用户帮助自己解决使用电脑时遇到的问题,与QQ的远程协助有异曲同工之妙. 应用远程协助功能 步骤一:选择"远程设置" 步骤二:远程,单击"允许远程协助连接这台计算机",再确定 步骤三:搜索 步骤四:设置-> 协助 -> 邀请某人连接到你的电脑为你提供帮

Windows Server 2008 R2 多用户实现远程连接登录 远程桌面服务配置和授权激活

日常工作中,经常需要远程连接到服务器上,然而默认的服务器系统同时连接的最大连接数只有2个.若第三个用户登录,就会出现以下问题: 那么该如何解决呢? 一.远程桌面服务安装和配置 服务器管理器------角色-----添加角色:选择"远程桌面服务",下一步 选择角色服务:"远程桌面会话主机"和"远程桌面授权", 下一步 选择"不需要使用网络级别身份认证",下一步 选择以后配置:  下一步: 下一步: 点击安装 重启服务器,完成安装

远程桌面连接工具 远程桌面连接方法

现在还有很多小伙伴的电脑是win7系统,如果过遇到问题需要解决.或者想远程操作控制系统.可以通过远程桌面开实现.本经验以win7旗舰版为例演示,如何开启设置win7远程桌面. 时代在发展,所以办公模式也在不断的更新.越来越多的人都会用到远程桌面连接工具了,今天就来给大家介绍一下IIS7 远程桌面管理,让大家在工作学习中更加的方便. iis7 远程桌面连接工具,又叫做iis7 远程桌面管理软件,是一款绿色小巧,功能实用的远程桌面管理工具,其界面简洁,操作便捷,能够同时远程操作多台服务器,并且多台服

远程协助和远程桌面的区别

尽管它们名称相似,并且都涉及到与远程计算机的连接,但是远程桌面和远程协助的用途不同. 使用远程桌面从另一台计算机远程访问某台计算机. 例如,可以使用远程桌面从家里连接到工作计算机.您将可以访问您的所有的程序.文件和网络资源,就好像您坐在您的工作计算机前面一样.在您处于连接状态时,远程计算机屏幕对于在远程位置查看它的任何人而言将显示为空白. 使用远程协助进行远程提供协助或接受协助. 例如,朋友或技术支持人员可以访问您的计算机,以帮助您解决计算机问题或为您演示如何进行某些操作.您也可以使用同样的方法

Linux学习之CentOS(二)----远程登录管理工具SecureCRT的使用

[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/3919940.html 联系方式:[email protected] [正文] 虚拟机版本:VMware Workstation_10.0.3 Linux系统版本:CentOS_6.5(64位) 一.前言: 前几天做了一回小白,安装了上个月发布的最新版CentOS 7 ,发现在学习的时候有很多地方和

Microsoft Windows 远程桌面服务远程执行代码漏洞(CVE-2019-0708)

Windows是一款由美国微软公司开发的窗口化操作系统. 当未经身份验证的攻击者使用 RDP 连接到目标系统并发送经特殊设计的请求时,远程桌面服务(以前称为“终端服务”)中存在远程执行代码漏洞.此漏洞是预身份验证,无需用户交互. <*来源:Microsoft 链接:https://portal.msrc.microsoft.com/zh-CN/security-guidance/advisory/CVE-2019-0708 *> 解决办法 厂商补丁: Microsoft --------- M

ubuntu(linux)虚拟主机部署桌面,使用window链接

买的ubuntu只有命令行,想安装一个桌面,远程操控 网上教程很多,我主要遇到一个问题,百思不得其解 之间安装的不是连接超时,就是拒绝连接 又重新参考这篇博客安装后才解决 说一下大致流程,详细的见这位大佬博客 https://www.jianshu.com/p/9821f88acc0f 1.Linux安装tightvncserver,vnc4server sudo apt install xfce4 xfce4-goodies tightvncserver sudo apt-get instal