当前位置: 首页 > news >正文

xRDP – 在 Ubuntu 18.04、20.04、22.04、22.10、23.04(脚本版本 1.4.7)上轻松安装 xRDP

最新脚本Repository | c-nergy.be

概述

到目前为止,您应该知道 xrdp-installer 脚本旨在简化 xRDP 在 Ubuntu 操作系统上的安装和配置后操作。xRDP 是一款在 Linux 上启用远程桌面服务的软件。这意味着 Windows 用户可以使用他们的远程桌面客户端 (mstsc) 并执行与 Ubuntu 计算机的远程连接。

最初,该脚本仅支持带有 Gnome 桌面界面的 Ubuntu。但是,最新版本的脚本会检测正在使用的桌面界面,并尝试根据需要执行配置后操作。最新版本的脚本也可以在 Debian 操作系统上运行。请注意,支持其他 Flavors 是基于 Best effort 方法。

此版本(版本 1.4.7)中有哪些新功能?

添加对 Ubuntu 23.04 的支持

应读者的要求,我们更新了脚本以支持最新版本的 Ubuntu(即 23.04)。

添加编译参数

一些用户注意到,在执行自定义安装时,Hyper-V 增强模式未按预期工作。当您执行标准安装时,该功能运行正常。因此,在快速浏览之后,我们注意到在从源代码编译 xrdp 时,我们需要添加 –enable-vsock 选项。此版本中还添加了此功能。

此版本(版本 1.4.7)中缺少什么?

声音重定向(如果使用 Pipewire)

xrdp 包需要 pulseaudio 声音服务器来启用声音重定向。由于 Ubuntu 22.10 及更高版本现在使用的是 Pipewire 声音服务器,因此 xrdp-installer 脚本将通知您未检测到 Pulseaudio 服务器,并且没有声音重定向可用。在之前的文章中,我们描述了在使用 Pipewire 时如何使声音重定向正常工作的过程(请参阅 xRDP – 在 Ubuntu 22.10 中测试初始 Pipewire 声音重定向支持(早期阶段))。如果您使用的是 Pipewire 并且需要声音重定向,则可以尝试使用此过程。

下一个版本将包括(仍作为测试模式)对 Pipewire 的支持。这意味着该脚本将尝试编译 Hiero 编写的测试模块,并尝试根据需要启用声音重定向。

如何使用脚本

xrdp-installer-1.4.7 脚本的工作方式与以前的版本类似。以下部分将介绍如何使用脚本下载、解压、设置可执行模式和执行安装。该脚本提供了一些可用于自定义安装过程的开关。

那么,让我们看看这将如何运作......

免責聲明

该脚本按原样提供。使用它的风险负 !!

先决条件和假设

为了在使用脚本时获得最佳结果,应满足以下条件

  • 我们假设您的计算机在执行安装时已连接到 Internet。这是必需的,因为需要在 Ubuntu 计算机上下载并安装其他软件包和软件

脚本版本&支持的Ubuntu版本

xrdp-installer-1.4.7.sh 脚本将支持以下 Ubuntu 操作系统版本,假设 Gnome Desktop 是默认的桌面界面

  • Ubuntu 18.04.x 版本
  • Ubuntu 20.04.x 版本
  • Ubuntu 22.04.x 版本
  • Ubuntu 22.10.x 浏览器
  • Ubuntu 23.04.x 版本
  • Debian 10 版本
  • Debian 11(仅当您选择自定义模式安装时!!)

xrdp-installer-1.4.7.sh 脚本可以针对以下 Ubuntu 风格运行,但我们不能保证一切都会按预期工作(尽力而为)

  • Kubuntu(20.04 及更高版本)
  • Ubuntu Budgie(20.04 及更高版本)
  • Ubuntu Mate(20.04 及更高版本)
  • Xubuntu(20.04 及更高版本)
  • Lubuntu(20.04 及更高版本)
  • Linux Mint(现阶段处于实验阶段)
  • Pop!_OS 22.04

注意 : 如果您正在运行这些发行版中的任何一个,并且希望帮助我们改进对这些发行版的支持,请下载并测试脚本。不要犹豫,分享您的发现,以便我们可以尝试将它们合并到下一个版本中

第 1 步 – 下载脚本

要下载脚本,您有多种选择。您可以从终端发出以下命令

wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.7.zip

您也可以简单地使用浏览器并单击链接下载脚本:

  •   xrdp-installer-1.4.7.zip 

第 2 步 – 解压缩文件

下载包含该文件的 zip 包后,您需要先将其解压缩。要解压缩包,您可以使用终端控制台并发出以下命令

unzip xrdp-installer-1.4.7.zip 

您还可以使用 GUI 和 Nautilus 文件管理器选择下载的软件包,右键单击它并选择选项 Extract Here

第 2 步 – 在脚本上设置 Execute Right

将 xrdp-installer-1.4.7.sh 脚本下载到您的系统,提取内容并将其标记为可执行 。为此,请在终端控制台中执行以下操作

chmod +x  ~/Downloads/xrdp-installer-1.4.7.sh

注意 : 调整 xrdp-Installer-1.4.7.sh 脚本的路径以反映您的环境

第 2 步 – 以普通用户身份运行

该脚本需要以普通用户身份运行。该脚本将开始运行,并在启动 sudo 操作时提示您输入密码。如果您以 root 身份或使用 sudo 命令运行脚本,则 root 用户的 Download 文件夹不存在,并且脚本无法按预期运行。为了克服这种情况,脚本还会检查哪个用户正在执行脚本。如果脚本在 sudo 或 root 账户下运行,则会显示一条警告消息,并且脚本不会执行

第 3 步 – 开关和参数

xrdp-installer-1.4.7.sh 脚本可以按原样执行(没有参数或开关)。这将执行 xRDP 的标准(和基本)安装。将不提供声音或自定义 xrdp 登录脚本。但是,远程桌面、驱动器重定向和剪贴板重定向将在此安装模式下可用。

xrdp-installer-1.4.7.sh 脚本还接受一些附加参数,这些参数将有助于自定义 xrdp 安装并启用其他功能。该脚本提供以下参数

--help or -h          => will display a basic help menu
--sound or -s         => will enable sound redirection 
--loginscreen or -l   => will customize the xRDP login screen 
--remove or -r        => will remove the xrdp package 
--custom or -c        => will perform a custom installation (i.e. compiled from sources)

第 4 步 – 使用脚本执行 xRDP 安装

以下部分将提供有关如何使用脚本的一些示例和方案.....

标准安装 – 无参数

如上所述,您可以决定使用 Ubuntu 存储库中提供的默认 xrdp 包并执行基本安装,这将为您提供远程桌面功能,并且还将自定义远程会话。该脚本将确保在用户本地或远程登录时保持相同的外观。

要执行标准安装,请执行不带参数的脚本。打开终端控制台,浏览到脚本的下载位置,然后发出以下命令

 ./xrdp-installer-1.4.7.sh

当 xrdp 安装包启动时,系统会要求您输入密码。 提供密码并继续安装。等待脚本完成。完成后,计算机不会自动重启,因此您可以查看脚本执行的操作。

带参数的标准安装

该脚本可用于执行标准安装,并且仍会传递一些参数以充分利用 xRDP 软件包及其功能。对于所有 Ubuntu 版本,我们可以使用以下参数组合

./xrdp-installer-1.4.7.sh -s      (this would enable the sound redirection) 
./xrdp-installer-1.4.7.sh -l      (this would customize the xrdp login screen -see here)

显然,您可以组合开关 (任何顺序) 以启用更多功能

./xrdp-installer-1.4.7.sh -s -l      (this would enable the sound redirection and customize the xrdp login screen)

重要说明

该脚本可以在同一台计算机上多次运行。如果您最初运行脚本时没有使用任何参数,但后来决定启用其他功能,则可以重新执行该脚本并启用其他功能。

自定义安装 – 默认安装

自定义安装脚本非常灵活。自定义安装意味着该脚本将从源二进制文件编译 xrdp 包。自定义安装脚本始终使用可用的最新 xrdp 软件包版本

要执行自定义安装,您至少需要传递一个参数。以下命令行向您展示如何执行自定义安装

./xrdp-installer-1.4.7.sh -c     (this would perform a custom installation but will not enabled adv features like sound redirection or custom login screen)

自定义安装 – 其他选项

如果用户想要启用其他功能,您将传递一些其他参数,如以下示例所示

./xrdp-installer-1.4.7.sh -c -s     (this would perform a custom install and enable sound redirection)
./xrdp-installer-1.4.7.sh -c -l     (this would perform a custom install and customize xrdp login screen)
./xrdp-installer-1.4.7.sh -c -l -s  (this would perform a custom install, enable sound and customize login screen)

重要说明

该脚本可以在同一台计算机上多次运行。如果您最初运行脚本时没有使用任何参数,但后来决定启用其他功能,则可以重新执行该脚本并启用其他功能。

删除安装选项

此版本的脚本还附带了删除 xRDP 包的选项。仅当您使用此版本的脚本执行安装时,才应使用 removal 选项。要删除 xrdp 包,您只需执行以下命令

./xrdp-installer-1.4.7.sh -r     (to remove the xrdp packages)

第 5 步 – 测试您的配置

在脚本运行之后,在重启/关闭和启动过程之后,是时候测试一下了,看看你是否真的可以执行与 Ubuntu 机器的流畅远程连接。启动您最喜欢的 rdp 客户端,只需输入您的凭据即可开始测试您的安装。如果一切正常,您将看到一个类似的桌面界面,其中使用了 Gnome Desktop 并且可以看到 Dock。

局限性

在标准安装和自定义安装之间切换

此版本的脚本可以在同一台计算机上多次运行。但是,由于这种新行为,您无法执行标准安装,然后决定执行自定义安装。选择安装模式后,您将不得不坚持它。这有点由脚本检查。

因此,如果您已执行标准安装,但之后您可能希望使用自定义安装选项,则脚本将忽略该请求。如果要从标准安装模式切换到自定义模式(反之亦然),正确的过程是

  • 删除 XRDP(使用 xrdp-installer-1.4.7.sh -r 选项)
  • 使用您选择的安装模式(标准或自定义安装模式)执行新安装

已知问题、已修复的问题和限制

已知问题

连接后立即黑屏或断开连接

正如多次提到和解释的那样,当本地和远程同时使用同一用户帐户时,将发生(或可能发生)这种情况。换句话说,该问题与同一用户帐户已在本地登录并同时尝试远程连接这一事实有关。使用 xRDP 软件解决方案,可以在本地或远程登录特定的用户帐户,但不能同时登录两者。

过去,我们提供了一些解决方法,可用于允许同一用户进行多个连接。但是,在 Ubuntu 22.04 中,我们遇到了一些其他问题,我们再次强烈建议不要使用这些解决方法.....

有一些解决方法 (按原样提供) 来尝试修复问题。我们不建议使用它们!使用风险自负 !!

最后的注释

这就是这篇文章的内容!

由于 Ubuntu 23.04 问题,脚本版本尚未经过广泛测试。为了保持可用性,应将脚本视为维护版本。如果您有时间或想帮助我们创建最好的 xRDP 安装程序脚本,请下载脚本、测试它并提供建设性的反馈。如果您发现脚本存在错误或问题,请告诉我们,以便我们尝试修复它。

我们已经在开发下一个版本,其中将引入更多更改......

相关文章:

xRDP – 在 Ubuntu 18.04、20.04、22.04、22.10、23.04(脚本版本 1.4.7)上轻松安装 xRDP

最新脚本Repository | c-nergy.be 概述 到目前为止,您应该知道 xrdp-installer 脚本旨在简化 xRDP 在 Ubuntu 操作系统上的安装和配置后操作。xRDP 是一款在 Linux 上启用远程桌面服务的软件。这意味着 Windows 用户可以使用他们的远程桌面客户端 (mst…...

[Linux网络编程]04-多进程/多线程并发服务器思路分析及实现(进程,信号,socket,线程...)

一.思路 实现一个服务器可以连接多个客户端,每当accept函数等待到客户端进行连接时 就创建一个子进程; 核心思路:让accept循环阻塞等待客户端,每当有客户端连接时就fork子进程,让子进程去和客户端进行通信,父进程用于…...

《OpenCV计算机视觉》—— 年龄与性别预测

结合以下链接中的文章有助于理解此篇案例: OpenCV中的 cnn 模块 https://blog.csdn.net/weixin_73504499/article/details/142965441?spm1001.2014.3001.5501 此案例是通过使用OpenCV中的cnn模块来调用别人已经训练好的深度学习模型,此篇案例中用到了…...

详解23种设计模式——第一部分:概述+创建型模式

目录 1. 概述 2. 创建型模式 2.1 简单(静态)工厂模式 2.1.1 介绍 2.1.2 实现 2.2 工厂模式 2.3 抽象工厂模式 2.4 单例模式 2.4.1 饿汉模式 2.4.2 懒汉模式 2.4.3 线程安全的懒汉式 2.4.4 DCL单例 - 高性能的懒汉式 2.5 建造者模式 2.6 原…...

semi-Naive Bayesian(半朴素贝叶斯)

semi-Naive Bayesian(半朴素贝叶斯) 引言 朴素贝叶斯算法是基于特征是相互独立这个假设开展的(为了降低贝叶斯公式: P ( c ∣ x ) P ( c ) P ( x ∣ c ) P ( x ) P(c|x) \frac {P(c)P(x|c)}{P(x)} P(c∣x)P(x)P(c)P(x∣c)​中后验概率 P …...

大语言模型(LLM)入门级选手初学教程

链接:https://llmbook-zh.github.io/ 前言: GPT发展:GPT-1 2018 -->GPT-2&GPT-3(扩大预训练数据和模型参数规模)–> GPT-3.5(代码训练、人类对齐、工具使用等)–> 2022.11 ChatG…...

HTML 实例/测验之HTML 基础一口气讲完!(o-ωq)).oO 困

HTML 基础 非常简单的HTML文档 <!DOCTYPE html> <html><head><title>页面标题(w3cschool.cn)</title></head><body><h1>我的第一个标题</h1><p>我的第一个段落。</p></body> </html> 输出&a…...

c语言基础程序——经典100道实例。

c语言基础程序——经典100道实例 001&#xff0c; 组无重复数字的数002&#xff0c;企业发放的奖金根据利润提成003&#xff0c;完全平方数004&#xff0c;判断当天是这一年的第几天005&#xff0c;三个数由小到大输出006&#xff0c;输出字母C图案007&#xff0c;特殊图案008&…...

火星求生CE修改金钱,无限资金

由于火星求生前期没有资金非常难玩&#xff0c;想通过修改资金渡过前期&#xff0c;网上找了一圈修改器&#xff0c;只有修改无限声望和无限科研&#xff0c;就是没有无限资金&#xff0c;于是自己用CE修改 教程 首先查看自己资金是多少M&#xff0c;如下图我是22430M资金&…...

linux 内存管理-slab分配器

伙伴系统用于分配以page为单位的内存,在实际中很多内存需求是以Byte为单位的,如果需要分配以Byte为单位的小内存块时,该如何分配呢? slab分配器就是用来解决小内存块分配问题,也是内存分配中非常重要的角色之一。 slab分配器最终还是由伙伴系统分配出实际的物理内存,只不过s…...

docker-compose部署gitlab(亲测有效)

一.通过DockerHub拉取Gitlab镜像 docker pull gitlab/gitlab-ce:latest 二.创建目录 mkdir -p /root/tool/gitlab/{data,logs,config} && cd /root/tool/gitlab/ 三.编辑DockerCompose.yaml文件 vim /root/tool/gitlab/docker-compose.yml version: "3&quo…...

Leetcode 赎金信

利用hash map做 java solution class Solution {public boolean canConstruct(String ransomNote, String magazine) {//首先利用HashMap统计magazine中字符频率HashMap<Character, Integer> magazinefreq new HashMap<>();for(char c : magazine.toCharArray())…...

S7--环境搭建基本操作

1.修改蓝牙名称和地址 工程路径:$ADK_ROOT\adk\src\filesystems\CDA2\factory_default_config\ 在subsys7_config5.htf中 DeviceName = "DEVICE_NAME“ # replace with your device name BD_ADDRESS=[00 FF 00 5B 02 00] # replace with your BD address 2.earbud工程修改…...

webAPI中的排他思想、自定义属性操作、节点操作(配大量案例练习)

一、排他操作 1.排他思想 如果有同一组元素&#xff0c;我们想要某一个元素实现某种样式&#xff0c;需要用到循环的排他思想算法&#xff1a; 1.所有的元素全部清除样式 2.给当前的元素设置样式 注意顺序能不能颠倒&#xff0c;首先清除全部样式&#xff0c;再设置自己当前的…...

101、QT摄像头录制视频问题

视频和音频录制类QMediaRecorder QMediaRecorder 通过摄像头和音频输入设备进行录像。 注意: 使用Qt多媒体模块的摄像头相关类无法在Windows平台上进行视频录制&#xff0c;只能进行静态图片抓取但是在Linux平台上可以实现静态图片抓取和视频录制。 Qt多媒体模块的功能实现是依…...

FairGuard游戏加固全面适配纯血鸿蒙NEXT

2024年10月8日&#xff0c;华为正式宣布其原生鸿蒙操作系统 HarmonyOS NEXT 进入公测阶段&#xff0c;标志着其自有生态构建的重要里程碑。 作为游戏安全领域领先的第三方服务商&#xff0c;FairGuard游戏加固在早期就加入了鸿蒙生态的开发&#xff0c;基于多项独家技术与十余年…...

鲸信私有化即时通信如何平衡安全性与易用性之间的关系?

即时通信已经成为我们生活中不可或缺的一部分。从日常沟通到工作协作&#xff0c;每一个信息的传递都承载着信任与效率。然而&#xff0c;随着网络安全威胁日益严峻&#xff0c;如何在享受即时通信便捷的同时&#xff0c;确保信息的私密性与安全性&#xff0c;成为了摆在我们面…...

vivado 接口带宽验证

存储器接口 使用赛灵思存储器 IP 时需要更多的 I/O 管脚分配步骤。自定义 IP 之后&#xff0c;您可采用 Vivado IDE 中的细化 (elaborated) 或综 合 (synthesized) 设计分配顶层 IP 端口到物理封装引脚。同每一个存储器 IP 关联的所有端口都被纳入一个 I/O 端口接口…...

Qt中使用线程之QThread

使用Qt中自带的线程类QThread时 1、需要定义一个子类继承自QThread 2、重写run()方法&#xff0c;在run方法中编写业务逻辑 3、子类支持信号槽 4、子类的构造函数的执行是在主线程进行的&#xff0c;而run方法的执行是在子线程中进行的 常用方法 静态方法 获取线程id 可…...

多IP连接

一.关闭防火墙 systemctl stop firewalld setenforce 0 二.挂在mnt mount /dev/sr0 /mnt 三.下载nginx dnf install nginx -y 四.启动nginx协议 systemctl start nginx 五.修改协议 vim /etc/nginx/nginx.conf 在root前加#并且下一行添加 root /www:&#xff08;浏…...

idea大量爆红问题解决

问题描述 在学习和工作中&#xff0c;idea是程序员不可缺少的一个工具&#xff0c;但是突然在有些时候就会出现大量爆红的问题&#xff0c;发现无法跳转&#xff0c;无论是关机重启或者是替换root都无法解决 就是如上所展示的问题&#xff0c;但是程序依然可以启动。 问题解决…...

大型活动交通拥堵治理的视觉算法应用

大型活动下智慧交通的视觉分析应用 一、背景与挑战 大型活动&#xff08;如演唱会、马拉松赛事、高考中考等&#xff09;期间&#xff0c;城市交通面临瞬时人流车流激增、传统摄像头模糊、交通拥堵识别滞后等问题。以演唱会为例&#xff0c;暖城商圈曾因观众集中离场导致周边…...

五年级数学知识边界总结思考-下册

目录 一、背景二、过程1.观察物体小学五年级下册“观察物体”知识点详解&#xff1a;由来、作用与意义**一、知识点核心内容****二、知识点的由来&#xff1a;从生活实践到数学抽象****三、知识的作用&#xff1a;解决实际问题的工具****四、学习的意义&#xff1a;培养核心素养…...

WordPress插件:AI多语言写作与智能配图、免费AI模型、SEO文章生成

厌倦手动写WordPress文章&#xff1f;AI自动生成&#xff0c;效率提升10倍&#xff01; 支持多语言、自动配图、定时发布&#xff0c;让内容创作更轻松&#xff01; AI内容生成 → 不想每天写文章&#xff1f;AI一键生成高质量内容&#xff01;多语言支持 → 跨境电商必备&am…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”&#xff0c;物流的终极形态正在诞生 想象这样的场景&#xff1a; 凌晨3点&#xff0c;某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径&#xff1b;AI视觉系统在0.1秒内扫描包裹信息&#xff1b;数字孪生平台正模拟次日峰值流量压力…...

GitFlow 工作模式(详解)

今天再学项目的过程中遇到使用gitflow模式管理代码&#xff0c;因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存&#xff0c;无论是github还是gittee&#xff0c;都是一种基于git去保存代码的形式&#xff0c;这样保存代码…...

MFC 抛体运动模拟:常见问题解决与界面美化

在 MFC 中开发抛体运动模拟程序时,我们常遇到 轨迹残留、无效刷新、视觉单调、物理逻辑瑕疵 等问题。本文将针对这些痛点,详细解析原因并提供解决方案,同时兼顾界面美化,让模拟效果更专业、更高效。 问题一:历史轨迹与小球残影残留 现象 小球运动后,历史位置的 “残影”…...

Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案

在大数据时代&#xff0c;海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构&#xff0c;在处理大规模数据抓取任务时展现出强大的能力。然而&#xff0c;随着业务规模的不断扩大和数据抓取需求的日益复杂&#xff0c;传统…...

如何通过git命令查看项目连接的仓库地址?

要通过 Git 命令查看项目连接的仓库地址&#xff0c;您可以使用以下几种方法&#xff1a; 1. 查看所有远程仓库地址 使用 git remote -v 命令&#xff0c;它会显示项目中配置的所有远程仓库及其对应的 URL&#xff1a; git remote -v输出示例&#xff1a; origin https://…...

react更新页面数据,操作页面,双向数据绑定

// 路由不是组件的直接跳转use client&#xff0c;useEffect&#xff0c;useRouter&#xff0c;需3个结合&#xff0c; use client表示客户端 use client; import { Button,Card, Space,Tag,Table,message,Input } from antd; import { useEffect,useState } from react; impor…...