WINDOWS mstsc 使用VNC和xorg-xrdp两种Session方式 远程桌面连接 Ubuntu 18.04

由于ubuntu18.04使用的是Gnome作为默认桌面,目前我探索出了两种方式来从Windows系统使用自带的mstsc远程桌面连接 Ubuntu18:

1、使用VNC的方式来连接:

可以参考网址:https://websiteforstudents.com/access-ubuntu-18-04-lts-beta-desktop-via-vnc-from-windows-machines/

https://www.linuxidc.com/Linux/2017-09/147112.htm

https://www.cnblogs.com/xuliangxing/p/7642650.html

这三个网址的内容,关键操作就是:

sudo apt-get install xrdp vnc4server xbase-clients dconf-editor

ubuntu sharing screen

#安装vnc4server 
sudo apt-get install vnc4server tightvncserver

就可以使用Windows的远程桌面连接中的 Session: vnc-any 来连接Ubuntu了:

2、使用xrdp服务和 Session: xorg 来连接Ubuntu:
参考文章:https://websiteforstudents.com/connect-to-ubuntu-16-04-17-10-18-04-desktop-via-remote-desktop-connection-rdp-with-xrdp/

https://www.linuxidc.com/Linux/2015-05/117835.htm

关键步骤:

sudo apt install xrdp
sudo systemctl enable xrdp
   #安装xubuntu-desktop 
   sudo apt-get install xubuntu-desktop 
其中当有gdm和lightm的选项时,默认选择gdm3即可

   #向xsession中写入xfce4-session 
   echo “xfce4-session” >~/.xsession 


再设置配置文件

sudo gedit /etc/xrdp/startwm.sh

在. /etc/X11/Xsession 前一行插入
xfce4-session
或者将/etc/xrdp/startwm.sh 之中的unity全部更换为 xfce4-session

重启xrdp
sudo service xrdp restart

最后就可以使用Windows的mstsc远程桌面连接中的 Session: xorg Session 来连接Ubuntu了:

这样两个界面都可以远程了:

其中xubuntu的命令行需要在桌面上点击右键打开 Run Programma 来输入 xfce4-terminal 才能打开终端:

 

但是上面两种方法在性能速度上面还是有些慢,最好的方法是尽量使用SSH来输入命令行,不得已的时候再用上面的方法:

sudo apt-get install openssh-server

打开"终端窗口",输入"sudo ps -e |grep ssh"-->回车-->有sshd,说明ssh服务已经启动,如果没有启动,输入"sudo service ssh start"-->回车-->ssh服务就会启动。

NeutrinoRDP是一款开源的远程桌面协议客户端,它支持多种平台,包括Windows、Linux和Android等。本文将对NeutrinoRDP的源代码进行分析,以了解其实现原理和核心功能。 NeutrinoRDP的源码可以从GitHub上获取,它主要包含了以下几个部分: 1. Core:NeutrinoRDP的核心代码,包括协议实现、网络通信等。 2. UI:NeutrinoRDP的用户界面代码,包括窗口管理、输入输出等。 3. Common:NeutrinoRDP的公共代码,包括日志记录、配置文件处理等。 4. Tests:测试代码。 下面我们将重点关注NeutrinoRDP的核心代码。 1. 协议实现 NeutrinoRDP实现了多种远程桌面协议,包括RDPVNC、SSH等。其中,RDP协议是其主要实现。 在Core目录下,有一个名为rdp的子目录,其中包括了RDP协议的实现代码。其中,主要的文件包括rdp.c、rdp.h、rdp_comm.c、rdp_comm.h等。 rdp.c是RDP协议的主要实现文件,它包含了RDP连接的建立、断开、数据传输等功能。在rdp.c中,可以看到NeutrinoRDP实现了多种RDP协议版本,包括RDP4、RDP5、RDP6等。对于每个版本,它都定义了相应的协议消息类型、数据结构等。 rdp_comm.c是RDP协议的通信实现文件,它包含了RDP协议的数据打包、解包等功能。在rdp_comm.c中,可以看到NeutrinoRDP实现了多种数据类型的打包、解包,包括整型、字符串、字节流等。 2. 网络通信 在Core目录下,还有一个名为net的子目录,其中包括了网络通信的实现代码。其中,主要的文件包括net.c、net.h等。 net.c是网络通信的主要实现文件,它包含了网络连接的建立、断开、数据传输等功能。在net.c中,可以看到NeutrinoRDP实现了多种网络协议,包括TCP、UDP等。对于每个协议,它都定义了相应的连接函数、数据传输函数等。 3. 用户界面 在UI目录下,包括了NeutrinoRDP的用户界面实现代码。其中,主要的文件包括ui.c、ui.h、win.c、win.h等。 ui.c是用户界面的主要实现文件,它包含了窗口管理、输入输出等功能。在ui.c中,可以看到NeutrinoRDP实现了多种窗口类型,包括主窗口、登录窗口、远程桌面窗口等。对于每个窗口,它都定义了相应的创建、显示、销毁等函数。 win.c是远程桌面窗口的实现文件,它包含了远程桌面的显示、输入输出等功能。在win.c中,可以看到NeutrinoRDP实现了多种显示模式,包括全屏模式、窗口模式等。对于每种显示模式,它都定义了相应的显示、刷新、输入输出等函数。 4. 公共代码 在Common目录下,包括了NeutrinoRDP的公共代码。其中,主要的文件包括config.c、config.h、log.c、log.h等。 config.c是配置文件处理的实现文件,它包含了配置文件的读取、保存等功能。在config.c中,可以看到NeutrinoRDP实现了多种配置项,包括连接地址、用户名、密码等。对于每个配置项,它都定义了相应的读取、保存等函数。 log.c是日志记录的实现文件,它包含了日志记录的功能。在log.c中,可以看到NeutrinoRDP实现了多种日志级别,包括调试、信息、警告、错误等。对于每个日志级别,它都定义了相应的记录函数。 总结 NeutrinoRDP是一款功能强大的远程桌面协议客户端,它实现了多种远程桌面协议、支持多种平台。通过对NeutrinoRDP的源码分析,我们了解了其实现原理和核心功能,包括协议实现、网络通信、用户界面等。同时,我们也了解到NeutrinoRDP的源码结构和各个部分之间的关系。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值