在上一篇文章中,我们讲解了如何给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远程桌面会话的问题全部结束。
相关推荐
在远程桌面控制软件中,可能包含连接设置、会话管理、显示选项等功能。 8. **错误处理**:任何网络通信都可能遇到问题,如连接失败、数据丢失等,因此良好的错误处理和日志记录是必要的。Qt的异常处理机制和QDebug...
Ubuntu 远程桌面(xrdp)配置详解 Ubuntu 远程桌面(xrdp)是一种基于 RDP 协议的远程桌面连接解决方案,通过安装 xrdp 组件和配置 xfce 桌面环境,可以实现在 Windows、iOS 等平台上远程连接 Ubuntu 主机。下面...
Linux远程桌面连接工具是Linux操作系统中用于访问和控制远程计算机的一种技术,它允许用户通过网络在本地计算机上操作另一台计算机的图形用户界面。在Linux环境下,有多款远程桌面连接工具可供选择,其中VNC...
VNC(Virtual Network Computing)是一种基于RFB协议的远程桌面控制软件,它允许用户通过网络访问和控制远程计算机。在Linux系统中,VNC提供了一种便捷的方式,使得用户可以在本地计算机上通过图形界面操作远程Linux...
在Ubuntu 20.04上安装Xrdp服务器是为了实现远程桌面功能,这允许用户通过图形界面远程控制Linux系统,而无需直接访问物理设备。Xrdp是一个开源的远程桌面协议(RDP)实现,兼容微软的RDP客户端,如Windows的远程桌面...
- 解释:显示管理器负责在启动时提供登录界面,并在用户成功登录后启动相应的桌面会话。 - 功能:GDM(Gnome Display Manager)是Gnome桌面环境的默认显示管理器,安装后可以在启动时提供登录界面。 3. **安装...
使用脚本安装远程桌面,通常会包括以下步骤:安装必要的软件包,如TightVNC Server,配置防火墙规则允许VNC端口(默认是5900+会话号)的入站连接,以及设置启动自启服务。执行脚本后,用户便可以通过VNC客户端从其他...
5. 在Windows上,使用内置的远程桌面客户端输入Ubuntu服务器的IP地址,即可开始远程会话。 总结起来,虽然xrdp在Ubuntu 16.04上默认不支持Unity,但通过TigerVNC Server,用户可以享受原生Unity桌面的远程访问体验...
在Ubuntu操作系统中,远程桌面连接是一项非常实用的功能,它允许用户通过网络访问并控制其他计算机,无需物理地坐在机器前。对于系统管理员和远程协作团队来说,这是一项必不可少的工具。在Ubuntu中,一个常见的远程...
- 配置默认会话: ```bash echo "xfce4-session" > ~/.xsession ``` - 重启Xrdp服务: ```bash sudo service xrdp restart ``` **1.3 解决无法定位包的问题** - 如果遇到“Unable to locate package”...
用户可以通过这个主程序来创建、管理及连接到远程桌面会话。 4. **remmina-plugin-vnc**: VNC插件使得Remmina能够连接到使用VNC协议的服务器。VNC是一种通用且跨平台的远程桌面工具,广泛应用于各种操作系统,包括...
这些客户端通常使用非常直观,只需输入Ubuntu服务器的IP地址(如果使用非默认端口,还需加上端口号)和之前设置的密码,即可连接到远程桌面。 注意,如果在尝试上述步骤后未能成功显示图形界面,检查一下Ubuntu是否...
安装完成后,你将能够在服务器上享受图形界面带来的便利,无论是进行远程桌面连接还是进行更直观的系统管理。当然,需要注意的是,图形界面会消耗更多的系统资源,因此在资源有限的服务器上谨慎使用。希望本文能帮助...
* 下载 Xmanager:Xmanager 是一个远程桌面连接工具,用于连接 Ubuntu 机器。 * 启动 Xstart:启动 Xstart,新建一个 session,连接 Ubuntu 机器。 知识点:SSH 服务器的作用和使用方法、Xmanager 的作用和使用方法...
在Linux系统中,远程桌面连接通常使用VNC或XDMCP等协议,但这些协议本身并不支持音频流的传输,因此在远程桌面会话中,声音往往无法正常播放。为了解决这个问题,我们可以利用XRDP(X Remote Desktop Protocol)扩展...
4. **断开连接**:在远程桌面会话中,用户可以选择退出或关闭窗口来断开连接。 值得注意的是,为了保证远程连接的稳定性和安全性,用户应确保Windows系统上的远程桌面服务已启用,并且网络环境稳定。同时,应避免在...
VNC(Virtual Network Computing)是一种远程桌面协议,允许用户从远程位置访问和控制计算机桌面。下面是详细的步骤和说明。 一、选择 VNC 客户端访问工具 在 Windows 7 中,我们可以使用多种 VNC 客户端访问工具...
Guacamole是一款开源的Web应用,它允许用户通过浏览器实现远程桌面访问,支持多种协议,如RDP(Remote Desktop Protocol)。在使用Guacamole连接到RDP服务器时,如果遇到远程桌面没有声音的问题,这通常是由于缺少...