xrdp完美实现Windows远程访问Ubuntu 16.04【包括多人桌面与原生桌面】

2023-05-16

xrdp完美实现Windows远程访问Ubuntu 16.04

前言:

  在很多场景下,我们需要远程连接到Linux服务器(本文是Ubuntu),传统的连接主要分为两种。

  第一种:通过SSH服务(使用xshell等工具)来远程访问,编写终端命令,不过这个是无界面的,很多人也喜欢这种方式,因为快(xian)捷(de)方(niu)便(bi)。

  第二种:通过可视化界面远程访问,像Windows下的自带的远程工具一样,能够以图形化的界面远程操作(很多人还是因为习惯问题,喜欢这种方式,毕竟有界面显示还是赏心悦目的)。

  本文主要是介绍第二种方式。最常见的是通过xrdp和vnc这两种远程桌面协议来进行可视化远程操作。

一、介绍xrdp和vnc之间区别

  通过一张表格来展示xdrp和vnc的主要区别

 xrdpvnc
BIOS屏幕显示不能
全彩支持
更改分辨率
多显示器只有一个屏幕多显示器支持
图像传输图像传输图像和图形传输
视频播放支持不能GPU加速支持
音频传输不能双向语音可以控制
鼠标控制服务器端控制服务器端控制
USB传输 不能USB可以通过网络传输

  1、xrdp

  rdp有两种,remote,remotefx
  适用系统:windows、linux
  网络流量:较小,正常使用100-200k左右
  适用场景:由于在色彩、音频、usb及本地磁盘映射方面较好,非常适用于虚拟桌面

  2、vnc

  适用系统:windows、linux
  网络流量:较小,常用100k左右
  适用场景:主要用于linux的服务器的管理,由于无声音和usb传输,不满足于虚拟桌面的使用

  备注:vnc是大部分Linux发行版默认的基于RFB协议的远程桌面程序,但对于普通用户来说,vnc的用户体验并不好,比较慢,还需要安装客户端。个人推荐使用xrdp,并且Windows的远程桌面也是基于RDP协议,兼容性也很好。并且vnc只支持一个桌面,xrdp可以支持多个桌面,所有如果存在多人同时连接Linux的话,xrdp完全是可以支持的,vnc则不行。


 

二、如何通过XDRP实现Windows远程访问

  下面才是本文的重点,本文主要是讲xrdp在目前最新版Ubuntu 16.04下,如果实现Windows远程访问。网上也很多相关教程,但是都需要安装xfac4或者xubuntu桌面系统才能实现远程连接。那是因为xrdp支持在13.10之后版本就已经不支持的Gnome了和原生Unity桌面,所以网上很多方法都是安装能够被xdrp支持的第三方xfac4或者xubuntu桌面系统,类似“曲线救国”的方式,间距达到远程控制Ubuntu。但是相信大多数人还是蛮喜欢Ubuntu的原生界面,不太喜欢其他第三方的桌面系统,那可能有人会问,就没有什么办法支持原生的Unity桌面吗?答案其实是有的,这就是本文要讲到的如何通过xrdp支持原生Ubuntu桌面远程访问。

  我们先来看看大多数情况下,通过安装第三方xfac4或者xubuntu桌面系统达到远程访问的功能的,这里简单说明下,毕竟这不是本文的重点(ヾ(◍°∇°◍)ノ゙)。通过以下命令直接安装,然后通过Windows自带的远程访问工具就可以直接访问了。

复制代码


 1  #安装xrdp 
 2  sudo apt-get install xrdp 
 3  #安装vnc4server 
 4  sudo apt-get install vnc4server tightvncserver
 5  #安装xubuntu-desktop 
 6  sudo apt-get install xubuntu-desktop 
 7  #向xsession中写入xfce4-session 
 8  echo “xfce4-session” >~/.xsession 
 9  #开启xrdp服务 
10  sudo service xrdp restart  

复制代码

  上面是网上大多数示例所展示的,都是依靠第三方桌面系统实现远程访问,下面讲解的是如何直接访问原生系统。

【多人桌面】

1、安装xrdp
sudo apt-get install xrdp
2、安装vnc4server
我这里是安装xrdp的时候自动安装的。我看网上很多说是需要单独安装的。
3、安装xfce4
sudo apt-get install xubuntu-desktop
这个软件比较大,总计需要260M。
4、配置xfce4
echo "xfce4-session" >~/.xsession
创建.xsession文件并写入内容。

这样之后,网上很多做法就已经结束了,但是我使用远程桌面连接mstsc.exe连接的时候,仅仅显示connecting to sesman ip127.0.0.1之后就没有反映了,应该继续连接ok才对。这样,继续:

5、继续配置xfce4
sudo vi /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前一行插入
xfce4-session

6、重启xrdp
sudo service xrdp restart

7、使用远程桌面连接mstsc.exe,连接之后类型选择sesman-xvnc
填写用户名和密码之后就好了

注意,第4步和第5步,两个配置xfce的步骤,缺一不可。

8、修改tab键自动补全功能
至此为止,远程登录可以正常使用了,但是在终端中无法使用tab的自动补全功能,使用起来甚是不便,使用如下方法修改:
此法不需要重启系统,可以直接在远程桌面中设置,打开菜单->设置->窗口管理器,或者在终端中输入xfwm4-settings打开(xfwm4就是xfce4 window manger的缩写)
选择键盘,可以看到窗口快捷键中动作一列有“切换同一应用程序的窗口”选项,将该选项的快捷键清除后关闭窗口即可。

缺省的设置,该项的值为“super+制表”,制表键就是tab键。这样修改后马上可以使用了。

参考网址:https://blog.csdn.net/zz_1215/article/details/77921405

【多人桌面可能会遇到的错误更新于2019年1月10号】

xrdp 报 password failed错误

这个错误非常坑爹,主要源于系统自动更新了xrdp

Check /var/log/apt/history.log, this was part of the upgrade from this morning (2019-01-10)

xrdp:amd64 (0.6.1-2, 0.6.1-2ubuntu0.1)

I then downgraded ...

sudo apt-get install xrdp=0.6.1-2

It now works

附上原回答链接

【单人桌面】

 

步骤一、下载TigerVNC Server软件包

  下载地址:Tigervnc Deb软件包(适用于Ubuntu 16.04.1 - 64位)

步骤二、 安装TigerVNC Server软件包

  1、打开终端,进入到刚刚你你下载TigerVNC Server的存放目录,我是直接下载到默认的DownLoads下的,因为下载的是zip文件,记得解压出来,得到deb安装文件。

cd Downloads

如图所示:

  2、再输入一下安装命令进行安装(需要su密码)


   
  1. sudo dpkg -i tigervncserver_1.6.80-4_amd64.deb

  2. 或者

  3. sudo apt-get install tightvncserver (使用在线安装,后面第3小步就可以直接跳过了)

如图所示:可能你会看到一些警告信息和错误信息,暂时忽略这些信息,主要是没有相对应的依赖包。

  3、上面才错误信息是因为没有安装对应的依赖,我们可以通过下面命令进行安装,再重复第2个的命令

sudo apt-get install -f

如图所示:

步骤三、安装xrdp

  打开终端,输入一下命令(需要su密码)

sudo apt-get install xrdp -y

步骤四、配置xrdp设置

  需要通过xrdp连接到桌面,需要正确配置相关信息并填充到.xsession文件(针对每个用户)或/etc/startwm.sh(针对所有用户),输入如下命令


   
  1. echo unity>~/.xsession

  2.  
  3. 或者

  4.  
  5. sudo sed -i.bak '/fi/a #xrdp multi-users \n unity \n' /etc/xrdp/startwm.sh

步骤五、重启xrdp 

sudo service xrdp restart

 步骤六、开启桌面共享功能

进入系统-》首选项-》桌面共享,或者直接搜索桌面共享,如图所示

将【允许其他人查看您的桌面】这一项勾上,如图所示:

到这一步基本上已经完成了,接下来就是来测试是否能正常连接到Ubuntu了

 

步骤七、开启桌面共享功能

与多人桌面的开启方法相同,使用远程桌面连接mstsc.exe,连接之后类型选择sesman-xvnc
填写用户名和密码之后就好了

连接出现闪退请使用sudo apt-get install xfce4
echo xfce4-session > ~/.xsession
touch .session
sudo vim /etc/xrdp/startwm.sh
在. /etc/X11/Xsession前面加
xfce4-session

然后重启 sudo service xrdp restart

安装第三方


————————————————
版权声明:本文为CSDN博主「周子青」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_37674858/article/details/80931254

参考网址:http://www.cnblogs.com/xuliangxing/p/7560723.html

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xrdp完美实现Windows远程访问Ubuntu 16.04【包括多人桌面与原生桌面】 的相关文章

随机推荐

  • 【RV1126/RV1109学习笔记】#RKNN篇#(3)RKNN模型转换示例

    文章目录 一 概述 二 模型转换流程 三 模型转换参考示例 四 执行模型转换 一 概述 RKNN Toolkit 支持 Caffe TensorFlow TensorFlow Lite ONNX Darknet Pytorch MXNet
  • 【RV1126/RV1109学习笔记】#RKNN篇#(4)RKNN模型推理示例

    文章目录 一 概述 二 模型推理流程 三 模型推理参考示例 四 执行模型推理 问题解决 一 概述 RKNN Toolkit 能够在 PC 上模拟 Rockchip NPU 运行 RKNN 模型并获取推理结果 也可以将RKNN 模型分发到指定
  • 【目录】瑞芯微RV1126/RV1109学习笔记

    目录 瑞芯微RV1126 RV1109学习笔记 基础篇 RV1126 RV1109学习笔记 基础篇 xff08 1 xff09 资料与简介 RV1126 RV1109学习笔记 基础篇 xff08 2 xff09 基础入门使用 RV1126
  • word文档转html利器

    有需求 xff0c 就会有相应的技术出现 xff0c 以前知道word可以用来书写html网页 xff0c 那自然就可以转成html页面 xff0c 难道我们要用word开发html页面吗 xff1f 你可能会问 xff0c 我为什么要把w
  • 【RV1126/RV1109学习笔记】#RockX篇#(3)人脸检测

    文章目录 一 概述 二 流程 三 API说明 四 实现代码 一 概述 人脸检测是人脸识别 人脸属性分类 人脸编辑 人脸跟踪等任务必不可少的早期步骤 其性能直接影响到人脸识别等任务的有效性 尽管在过去的几十年里 不受控制的人脸检测取得了巨大的
  • 【RV1126/RV1109学习笔记】#RockX篇#(2)API说明

    文章目录 基础API 人脸相关API 基础API span class token comment brief 创建Rockx模块 param handle out 创建的模块的句柄 param m in RockX模块的枚举 ref Ro
  • 【问题解决】python安装bs4后,仍然报错 ModuleNotFoundError: No module named ‘bs4‘

    问题 我这里是windows上使用出现的问题 xff1a 代码中使用了 from bs4 span class token function import span BeautifulSoup span class token commen
  • 【问题解决】python报错 IndexError: list index out of range

    问题 list 遍历时报错 xff1a IndexError list index out of range 分析 可能是 xff1a list 下标 index 超出范围list 为空 解决 try span class token pu
  • 机械+固态双硬盘时机械硬盘卡顿问题解决

    机械 43 固态双硬盘时机械硬盘卡顿问题解决 参考文章 xff1a xff08 1 xff09 机械 43 固态双硬盘时机械硬盘卡顿问题解决 xff08 2 xff09 https www cnblogs com xia weiwen p
  • IDM下载百度资源出现403的解决方法

    IDM下载百度资源出现403的解决方法 参考文章 xff1a xff08 1 xff09 IDM下载百度资源出现403的解决方法 xff08 2 xff09 https www cnblogs com aucy p 9567375 html
  • _tcsrchr 的用法

    tcsrchr 查找字符串中某个字符最后一次出现的位置 两个参数 第一个参数 xff1a 字符串 第二个参数 xff1a 查找的字符 返回值 xff1a 指向最后一次在字符串中出现的该字符的指针 xff0c 如果要查找的字符再串中没有出现
  • 航模无人机中PWM信号频率浅谈

    航模中执行机构 xff1a 动力电调 xff0c 舵机等基本都是通过PWM信号来驱动的 xff0c 但不同的电机或电调输入的信号频率和占空比又是不一样的 xff0c 这个是由什么决定的呢 xff1f 今天就以我的理解来简单讲一讲 最早的航模
  • 公网IP TCP服务器调试

    在MCU上调试4G等模块时 xff0c 为了验证和平台TCP通信是否顺畅 xff0c 很多时候需要一个公网的IP环境能够直接和4G模块通信 xff0c 一些网络调试工具只能提供局域网内的TCP Server 博主找到一个好的网站提供这个功能
  • windows环境下安装opendr

    pip install opendr会报下面的错误 应该先安装glfw glfw是opengl的一个框架 xff0c pip install glfw 即可安装 下载 https github com polmorenoc opendr 后
  • DockerFile创建及案例

    DockerFile dockerfile是用来构建docker镜像的文件 xff0c 命令脚本参数脚本 xff01 构建步骤 编写一个dockerfile文件docker build 构建成为一个对象docker run 运行镜像dock
  • 结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程

    结合中断上下文切换和进程上下文切换分析Linux内核的一般执行过程 一 xff0c 实验目标 以fork和execve系统调用为例分析中断上下文的切换分析execve系统调用中断上下文的特殊之处分析fork子进程启动执行时进程上下文的特殊之
  • SPI、UART、RS232、RS485、IIC 5种嵌入式经典通信总线协议

    文章目录 一 UART1 通信基础 并行和串行并行通信串行通信 2 通信基础 单工和双工3 通信基础 比特率4 通讯基础 异步和同步5 UART硬件连接6 UART控制器串口控制器工作原理介绍 xff1a FIFO模式及其作用 7 IO操作
  • 基于Modbus协议的C#串口工具开发

    xff08 Tips 本人纯萌新小白一枚 xff0c 文章只为记录自己的编程历史 xff0c 温故而知新 xff0c 能帮助到大家倍感荣幸 xff0c 有错误的地方劳烦指点 xff01 xff09 不多废话直接进入主题 xff01 本文旨在
  • MySQL中的mysqldump命令使用详解

    MySQL 有很多可以导入数据的方法 xff0c 然而这些只是数据传输中的一半 xff0c 另外的一般是从 MySQL 数据库中导出数据 有许多的原因我们需要导出数据 一个重要的原因是用于备份数据库 数据的造价常常是昂贵的 xff0c 需要
  • xrdp完美实现Windows远程访问Ubuntu 16.04【包括多人桌面与原生桌面】

    xrdp完美实现Windows远程访问Ubuntu 16 04 前言 xff1a 在很多场景下 xff0c 我们需要远程连接到Linux服务器 本文是Ubuntu xff0c 传统的连接主要分为两种 第一种 xff1a 通过SSH服务 xf