远程桌面控制

简介: 远程桌面控制

需求场景

想要远程控制 Ubuntu DesktopUbuntu server 就直接 ssh 即可)


实现方案

Xrdp

Xrdp 是一个微软远程桌面协议( RDP )的开源实现,它允许你通过图形界面控制远程系统。通过 RDP ,你可以登录远程机器,并且创建一个真实的桌面会话,就像你登录本地机器一样。 windows 系统中默认远程登录用的就是 RDP 协议,在 ubuntu 中安装 xrdp 服务意味着在登录 ubuntu 远程桌面时可以使用 windows 的远程桌面软件。安装步骤如下:

$ sudo apt install xrdp
$ sudo systemctl status xrdp
● xrdp.service - xrdp daemon
   Loaded: loaded (/lib/systemd/system/xrdp.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2022-01-07 18:13:40 CST; 13s ago
     Docs: man:xrdp(8)
           man:xrdp.ini(5)
 Main PID: 28184 (xrdp)
    Tasks: 1 (limit: 4915)
   Memory: 1.8M
   CGroup: /system.slice/xrdp.service
           └─28184 /usr/sbin/xrdp
1月 07 18:13:39 test-04 xrdp[28183]: (28183)(139898876950336)[DEBUG] Testing if xrdp can listen on 0.0.0.0 port 3389.
1月 07 18:13:39 test-04 xrdp[28183]: (28183)(139898876950336)[DEBUG] Closed socket 7 (AF_INET6 :: port 3389)
1月 07 18:13:39 test-04 systemd[1]: xrdp.service: Can't open PID file /run/xrdp/xrdp.pid (yet?) after start: No such file or directory
1月 07 18:13:40 test-04 systemd[1]: Started xrdp daemon.
1月 07 18:13:40 test-04 systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
1月 07 18:13:40 test-04 systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
1月 07 18:13:40 test-04 systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
1月 07 18:13:41 test-04 systemd[1]: /lib/systemd/system/xrdp.service:8: PIDFile= references a path below legacy directory /var/run/, updating /var/run/xrdp/xrdp.pid → /run/xrdp/xrdp.pid; please update the unit file accordingly.
1月 07 18:13:41 test-04 xrdp[28184]: (28184)(139898876950336)[INFO ] starting xrdp with pid 28184
1月 07 18:13:41 test-04 xrdp[28184]: (28184)(139898876950336)[INFO ] listening to port 3389 on 0.0.0.0点击复制复制失败已复制


接下来通过 windows 的远程桌面服务就能连接了。


黑屏问题

$ sudo vim /etc/xrdp/startwm.sh点击复制复制失败已复制


加入文件最后面的 session 前面

unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR点击复制复制失败已复制


最终效果

if test -r /etc/profile; then
        . /etc/profile
fi
unset DBUS_SESSION_BUS_ADDRESS
unset XDG_RUNTIME_DIR
test -x /etc/X11/Xsession && exec /etc/X11/Xsession
exec /bin/sh /etc/X11/Xsession点击复制复制失败已复制


多次验证

参考文章:https://blog.csdn.net/qq_37556330/article/details/116168449

$ sudo vim /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes点击复制复制失败已复制


$ sudo vim /etc/polkit-1/localauthority/50-local.d/46-allow-packagekit.pkla
[Allow Refresh Repository all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=no
ResultInactive=no
ResultActive=yes点击复制复制失败已复制


VNC

Ubuntu18.04 开始,桌面版已经内置了此功能,在设置中开启即可,如下所示:

开启VNC.png


接下来打开 dconf 编辑器,打开路径: org > gnome > desktop > remote-access ,将 requlre-encryption 选项关闭即可,如下所示:

关闭requlre-encryption功能.png


提示

dconf 编辑器默认是没有的,需要安装,安装命令: $ sudo apt install dconf-editor


方案对比

方案 优点 缺点
Xrdp 1. 可以使用 Windows 自带的远程桌面连接
2. 连接都不会影响原有显示器的显示。(PS: 理论上是这样,但是实际操作下来会串, chrome 浏览器只能在最初桌面上显示!)
1. 如果没有经过调优,会非常非常占用网络资源,尤其是在有窗口控制的时候。
2. 毕竟是社区方案,很多细节点都需要去采坑摸索。
VNC 1. Ubuntu 原生支持
2. 会省一点资源,相比于 Xrdp 方案能省一半带宽。
1. 操作体验非常不好,模式类似于向日葵,但是比向日葵差远了。
目录
相关文章
|
存储 测试技术 区块链
阿里云、百度云及移动云对象存储横向性能对比测试
在企业的数字化转型进程中,我们观察到越来越多的公司将其IT基础设施迁移到云端。随着企业业务的持续运营,无论是储存、处理、分享还是删除,都会产生大量的数据,这就要求有一个既可靠又高效的系统来管理和存储这些信息。对象存储产品在这个场景中扮演了至关重要的角色。它们以一种可扩展、安全、持久的方式,有效地满足了对大规模非结构化数据存储的需求。 尽管市场上云计算提供商众多,各自都有自己独特的对象存储产品,面对这样的丰富选择,如何寻找最符合企业需求的产品呢?这正是企业今天寻求解答的问题。 在本篇文章中,我们将深入进行一项横向对比测试,专门对阿里云OSS、百度云BOS和移动云EOS这三大云服务提供商的对象
3413 0
|
数据库 数据安全/隐私保护 OceanBase
OceanBase数据库中,权限管理
OceanBase数据库中,权限管理
711 2
|
XML 弹性计算 网络协议
阿里云ECS+frpc/frps+RDP_CnC 实现内网穿透远程桌面,无公网家庭版Win10台式机变身远程工作站
本文是实操笔记,记录了通过自建内网穿透和解锁 Windows 10 Home 的远程桌面功能,将没有公网 IP 的家用台式机配置成远程工作站的大致过程。在此过程中我练习了简单的 Linux 系统操作,了解了一些实用的服务器工具软件(如文中提到的 frpc/frps 套件与 Windows 系统上的 WinSW 服务封装工具)。
2207 0
|
Java 数据库连接 Spring
Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could
这个错误通常出现在使用Spring Boot进行数据库连接时。错误信息表明Spring Boot未能配置一个DataSource,因为没有指定'url'属性,并且没有发现默认的数据库连接。
3998 0
|
9月前
|
JavaScript
jQuery仿方块人物头像消除游戏源码
jQuery人物头像迷阵消除游戏代码是一款类似《宝石迷阵》类的方块消除类型的小游戏源码。
1272 13
|
SQL NoSQL MongoDB
MongoDB 索引类型介绍
MongoDB 索引类型介绍
347 3
|
并行计算 Ubuntu
Ubuntu安装CUDA和cuDNN
Ubuntu安装CUDA和cuDNN
1054 3
|
算法 安全 数据库
真实世界的密码学(一)(4)
真实世界的密码学(一)
403 0
|
监控 安全 Cloud Native
云安全中心和架构
云安全中心和架构
188 0
|
人工智能 弹性计算 持续交付
Docker与AI结合,会让部署更加丝滑吗?
Docker与AI结合,会让部署更加丝滑吗?
608 25