你好世界,
由于Ubuntu 21.10已经发布(2021 年 10 月),是时候更新和发布我们著名的xrdp-installer 脚本的最新版本了。由于我们倾向于遵循 Ubuntu 生命周期,我们的脚本尝试包含支持的 Ubuntu 操作系统版本。这个新版本将包括对Ubuntu 21.10的支持,但也将合并我们在2021年 6 月发布的预览版脚本中完成和测试的所有工作。
我们著名的 xrdp 安装脚本的新版本将设置为 1.3 (即 xrdp-installer-1.3.sh)。此脚本替换所有以前的版本。
所以,我们走吧!
概述
xrdp-installer-1.3.sh 脚本 简化了 xRDP 在Ubuntu操作系统之上 的安装和配置后 操作。但是,此新脚本版本引入了许多更改,这些更改可能有助于针对更多 Linux 发行版和更多桌面界面安装和配置 xrdp。
此版本(版本 1.3)有哪些新功能?
脚本1.3 版本中包含的大部分更改均基于 2021 年 6 月发布的“预览脚本版本” 。让我们看看有什么新变化……。
添加 Ubuntu 21.10 作为支持的操作系统!
脚本xrdp-installer-1.3.sh 可以在所有支持的 Ubuntu 操作系统上运行,下面列出
Ubuntu 18.04.x
Ubuntu 20.04.x
Ubuntu 21.04.X
Ubuntu 21.10.x
删除了 Ubuntu 20.10 作为支持的操作系统!
由于 Ubuntu 20.10 将于2021 年 7 月结束生命周期,我们决定更新脚本并删除对Ubuntu 20.10的支持。按照设计,该脚本不会在 Ubuntu 20.10 版本上执行。如果您仍想在 Ubuntu 20.10 上运行该脚本,您可以更新该脚本并添加对该特定版本的支持或使用该脚本的先前版本。
添加 Debian 作为支持的操作系统
最近,我们发布了一个debian-xrdp-installer-1.0 脚本版本,用于执行针对Debian 操作系统的 xrdp 软件的安装和配置。此版本的脚本支持Debian 10 并且可能支持 Debian 11。但是,我们决定将 Debian 脚本与主 xrdp-installer 脚本合并 ,而不是创建两个版本的 xrdp-installer 脚本。
因此,xrdp-installer 脚本版本 1.3将包含并支持Debian 10 和 Debian 11
重要笔记 :
如果您计划在 Debian 11 之上使用 xRDP,请务必阅读以下帖子
我们建议您在 Debian 11 上使用自定义安装模式,只要在 Debian 软件包中检测到的错误未修复......
添加 Pop!_OS 作为“检测到”的操作系统
由于我们被要求发布一些关于Pop!_OS的帖子,我们已经包含了对 Pop!_OS 操作系统 (20.04,21.04) 的支持。该脚本不会针对 Pop!_OS 20.10 运行。因为这个版本已经到了生命的尽头……
将 Budgie 桌面添加为“检测到”桌面界面
Budgie Desktop 需要 .xsessionrc 文件中的一些特定设置。脚本版本 1.3 检测是否使用了 budgie Desktop。如果是这种情况,脚本将相应地修改 /etc/startwm.sh 以便能够连接到budgie 桌面。
检测正在使用的桌面界面
此版本的脚本将尝试检测正在运行的桌面界面(Gnome、KDE、LXDE 等)并相应地调整后配置操作。由于这仍处于进行中状态,我们尚未测试所有可能的组合。您可以随时进行一些测试并向我们提供反馈。基于此,我们将看看是否可以适配和支持更多的桌面界面。
请注意,该脚本将在运行时检测桌面类型并更新/etc/xrdp/startwm.sh。换句话说, 如果您使用 Gnome Desktop 运行脚本,然后决定更改桌面界面,则此更改不会反映在远程会话中。您将需要更新/etc/xrdp/startwm.sh以包含正确的信息。
Ubuntu 21.10 中的声音重定向
在Ubuntu 21.10中,使用的 pulseaudio 版本是15.0。以前版本的脚本(1.2.3)会抛出错误,因为检测pulseaudio版本的方式在Ubuntu 21.10上不起作用。为了克服这种情况,我们改变了检测方法。但是,使用 xrdp-installer-1.2.3.sh 中的代码的声音重定向选项也不起作用。实际上,pulseaudio 包 15.0.x 不再使用 ./configure 方法。这种编译方式已经被移除,取而代之的是介子技术和忍者技术。
点击图片以获得更好的分辨率
因此,该脚本包含许多更改,允许针对Ubuntu 21.10编译和重定向声音设备
默认情况下不再安装 Gnome Tweaks Tool
默认情况下,xrdp-installer 脚本版本 1.3 将不再在运行Gnome Desktop 的系统上安装应用程序 Tweak。该代码仍然存在于脚本中,但不会运行。为了使 xRDP 解决方案正常工作,实际上并不需要 Tweak 工具本身。这更多是为了(我们的)方便,脚本的原始版本包含此选项。此外,Tweak 应用程序也经历了一些重要的变化。包名称已更改,扩展不再通过 Tweaks 管理,而是通过应用程序扩展。因此,如果用户想要或需要在他们的系统上提供可用的调整工具,他们将不得不手动安装它们......
让我们知道这是否有意义......
小错误修复,代码结构更改,清理代码
我们发现了一些小错误或小问题,已在此版本中修复或改进。此脚本版本包括检测运行脚本时使用的桌面界面所需的代码。为了检测“受支持的”操作系统,该脚本现在使用了一个已移动到脚本顶部的函数。最后,由于每个操作系统和/或桌面界面可能都有特定的设置,因此创建了一个新功能,该功能将在继续之前检查是否需要一些额外的先决条件……如您所见,本文引入了一些更改预览版…
下载脚本
该脚本可以在这个位置下载: xrdp-installer-1.3.zip
注意:所有 xrdp 脚本都可以在https://www.c-nergy.be/products.html找到
如何使用脚本
xrdp -installer-1.3脚本的工作方式与以前的版本类似。以下部分将解释如何使用脚本下载、解压、设置可执行模式和执行安装。该脚本提供了一些可用于自定义安装过程的开关。
所以,让我们看看这将如何工作......
免责声明
先决条件和假设
为了在使用脚本时获得最佳效果,应满足以下条件
我们假设您的机器在执行安装时已连接到互联网。这是需要的,因为需要在您的 Ubuntu 机器上下载和安装其他软件包和软件
脚本版本和支持的 Ubuntu 版本
xrdp-installer-1.3.sh 脚本 将支持以下 Ubuntu 操作系统版本
Ubuntu 18.04.x
Ubuntu 20.04.x
Ubuntu 21.04.x
Ubuntu 21.04.x
Debian 10
Debian 11(仅当您选择自定义模式安装!!!)
xrdp-installer-1.3.sh 脚本可以针对以下 Ubuntu 风格运行,但我们不能保证一切都会按预期工作
Kubuntu(20.04 及更高版本)
Ubuntu Budgie(20.04 及更高版本)
Ubuntu Mate(20.04 及更高版本)
Xubuntu(20.04 及更高版本)
Lubuntu(20.04 及更高版本)
第 1 步 - 下载脚本
要下载脚本,您有多种选择。您可以从终端发出以下命令
wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.3.zip
您也可以简单地使用浏览器并单击链接下载脚本:
第 2 步 - 解压缩文件
下载包含该文件的 zip 包后,您需要先将其解压缩。要解压缩包,您可以使用终端控制台并发出以下命令
解压 xrdp-installer-1.3.zip
您还可以使用 GUI 和 Nautilus 文件管理器来选择下载的包,右键单击它并选择在 此处提取选项
第 2 步 – 在脚本上设置执行权限
将xrdp-installer-1.3.sh脚本下载 到您的系统,提取内容并将其标记为可执行文件。为此,请在终端控制台中执行以下操作
chmod +x ~/Downloads/xrdp-installer-1.3.sh
注意:调整 xrdp-Installer-1.3.sh脚本所在的路径以反映您的 环境
第 2 步 – 以普通用户身份运行
该脚本需要以普通用户身份运行。该脚本将开始运行,并在启动 sudo 操作时提示您输入密码。如果您以 root 身份或使用 sudo 命令运行脚本,则 root 用户的下载文件夹不存在,并且脚本无法按预期运行。为了克服这种情况,脚本还会检查哪个用户正在执行脚本。如果脚本在 sudo 或 root 帐户下运行,将显示警告消息并且脚本不会执行
第 3 步 – 开关和参数
xrdp-installer-1.3.sh脚本可以按原样执行(不带参数或开关)。这将执行 xRDP 的标准(和基本)安装。不会提供声音或自定义 xrdp 登录脚本。但是,远程桌面、驱动器重定向和剪贴板重定向将在此安装模式下可用。
xrdp-installer-1.3.sh脚本还接受一些附加参数,这些参数将有助于自定义 xrdp 安装并启用附加功能。该脚本提供以下参数
--help 或 -h => 将显示基本帮助菜单--sound 或 -s => 将启用声音重定向--loginscreen 或 -l => 将自定义 xRDP 登录屏幕--remove 或 -r => 将删除 xrdp 包--custom 或 -c => 将执行自定义安装(即从源代码编译)
步骤 4 – 使用脚本执行 xRDP 安装
以下部分将提供一些关于如何使用脚本的示例和场景......
标准安装 - 无参数
如上所述,您可以决定使用 Ubuntu 存储库中可用的默认 xrdp 包并执行基本安装,这将为您提供远程桌面功能并自定义远程会话。该脚本将确保用户在本地或远程登录时保持相同的外观。
要执行 标准安装,请执行 不带参数的脚本。打开 终端控制台,浏览到下载脚本的位置并发出以下命令
./xrdp-installer-1.3.sh
当 xrdp 安装包启动时,会要求您 输入密码。 提供密码并继续安装。等待脚本完成。完成后机器 不会自动重启 ,因此您可以查看脚本执行的操作......
带参数的标准安装
该脚本可用于执行标准安装,并且仍传递一些参数以充分利用 xRDP 包及其功能。对于所有 Ubuntu 版本,我们可以使用以下参数组合
./xrdp-installer-1.3.sh -s (这将启用声音重定向) ./xrdp-installer-1.3.sh -l (这将自定义 xrdp 登录屏幕 - 参见此处)
显然,您可以组合开关(任何顺序)以启用更多功能
./xrdp-installer-1.3.sh -s -l (这将启用声音重定向并自定义 xrdp 登录屏幕)
重要笔记
该脚本可以在同一台机器上运行多次。如果您最初在没有参数的情况下运行了脚本,但后来决定启用附加功能,则可以重新执行脚本并启用附加功能。
自定义安装 - 默认安装
自定义安装脚本非常灵活。自定义安装意味着脚本将从源二进制文件编译 xrdp 包。自定义安装脚本始终使用可用的最新 xrdp 包版本
要执行自定义安装,您至少需要传递一个参数。以下命令行向您展示了如何执行自定义安装
./xrdp-installer-1.3.sh -c (这将执行自定义安装,但不会启用声音重定向或自定义登录屏幕等广告功能)
自定义安装 - 附加选项
如果用户想要启用附加功能,您将传递一些附加参数,如以下示例所示
./xrdp-installer-1.3.sh -c -s (这将执行自定义安装并启用声音重定向) ./xrdp-installer-1.3.sh -c -l (这将执行自定义安装并自定义 xrdp 登录屏幕) ./xrdp-installer-1.3.sh -c -l -s (这将执行自定义安装,启用声音并自定义登录屏幕)
重要笔记
该脚本可以在同一台机器上运行多次。如果您最初在没有参数的情况下运行了脚本,但后来决定启用附加功能,则可以重新执行脚本并启用附加功能。
删除安装选项
此版本的脚本还附带删除 xRDP 包的选项。仅当您使用此脚本的此版本执行安装时,才应使用删除选项。要删除 xrdp 包,您只需执行以下命令
./xrdp-installer-1.3.sh -r (删除 xrdp 包)
第 5 步 – 测试您的配置
在脚本运行并在重新启动/关闭和启动过程之后,是时候测试一下,看看您是否确实可以顺利地远程连接到您的 Ubuntu 机器。启动您最喜欢的 rdp 客户端,只需输入您的凭据并开始测试您的安装。如果一切正常,您将看到一个类似的桌面界面,其中使用了 Gnome 桌面并且 Dock 可见。
已知问题和限制
已知的问题
驱动器重定向
要将驱动器重定向到 xrdp 远程会话,您必须 确保在本地资源选项卡中选择的唯一选项是剪贴板选项和驱动器选项。检查下面的屏幕截图并确保您具有相同的设置。
点击图片以获得更好的分辨率
点击图片以获得更好的分辨率
相应地设置这些设置后,您应该会看到瘦客户端文件夹中填充了来自 Windows 计算机的重定向驱动器。
声音重定向问题
如果选择了声音重定向选项,重启 Ubuntu 系统是不够的,声音重定向可能不起作用。如果已选择声音重定向选项,您必须关闭Ubuntu 机器,然后重新启动它,以确保声音重定向功能按预期工作。
声音重定向在 Ubuntu 19.10 及更高版本上未按预期工作 创建模块并将其复制到正确的位置。但是,xrdp 接收器模块永远不会在远程会话中加载或在远程会话中随机加载。要解决此问题,您只需在远程会话中执行以下命令,声音就会开始工作
脉冲音频-k
黑屏或连接后立即断开
正如多次提到和解释的,当本地和远程同时使用同一个用户帐户时,这种情况会发生(或可能发生)。换句话说,问题与 同一用户帐户 已在本地登录并同时尝试远程连接这一事实有关。 使用 xRDP 软件解决方案,可以在本地或远程登录特定的用户帐户,但不能同时登录……。
您可以阅读更多信息和一些解决方法(按原样提供)以尝试解决以下帖子中的问题
限制
在标准安装和自定义安装之间切换
这个版本的脚本可以在同一台机器上运行多次。但是,由于这种新行为,您无法执行标准安装,然后决定执行自定义安装。一旦你选择了你的安装模式,你就必须坚持下去。这是由脚本检查的。
因此,如果您执行了标准安装,但之后您可能想要使用自定义安装选项,则脚本将忽略该请求。如果您想从标准安装模式转移到自定义模式(反之亦然),正确的过程是
删除 xrdp(使用 xrdp-installer-1.3.sh -r 选项)
使用您选择的安装模式(标准或自定义安装模式)执行新安装
下载脚本
该脚本可以在这个位置下载: xrdp-installer-1.3.zip
注意:所有 xrdp 脚本都可以在https://www.c-nergy.be/products.html找到
最后的笔记
这就是这篇文章的内容!
如果您有时间或想帮助我们创建最佳 xrdp 安装程序脚本,请下载该脚本,对其进行测试并提供建设性反馈。如果您发现脚本的错误或问题,请告诉我们,以便我们尝试修复它。
直到下一次
附件——脚本源代码
#!/bin/bash ########################################### ################################################# ####### # Script_Name : xrdp-installer-1.3.sh # 描述:在 Ubuntu 18.04,20.4,20.10,21.04 上执行 xRDP 安装并执行# 额外的后期配置以改善最终用户体验# 日期:2021 年 10 月# 编写作者:Griffon # 网站:http://www.c-nergy.be - http://www.c-nergy.be/blog # 版本:1.3 # 历史:1.3 - 添加对 Ubuntu 21.10 (STR) 的支持# -使用介子技术的代码修改声音重定向(到目前为止仅 ubuntu 21.10)# - 添加代码以复制 xrdp-pulseaudio 模块中似乎缺少的 config.h 文件 # - 添加对 Debian(10 和 11)的支持(尽力而为)# - 注释掉 Gnome Tweaks 的安装。默认情况下不再安装 Tweaks # - 添加了检测 Budgie-Desktop 和 postConfig 设置的规则# - 添加了对 Pop!_0S 的支持(尽力而为!!!)# - 检测正在使用的桌面接口的代码更改 # - 重新编写了 xrdp 的代码删除选项# - 改进了标准与自定义安装检测过程# - 添加了对不同桌面界面的支持(需要更多测试)# - 通用代码结构重新设计以添加更多操作系统版本和桌面界面支持 # - 修正小错误 # : 1.2.3 - 添加对 Ubuntu 21.04 的支持 # - 删除对 Ubuntu 16.04.x 的支持(结束标准支持)# - 选择删除选项时删除 xrdp 和 xorgxrdp 文件夹# - 查看删除功能以检测 hwe 包 U18.04 # - 审查、优化、清理代码# : 1.2.2 - 将 Ubuntu 存储库从 be.archive.ubuntu.com 更改为 archive.ubuntu.com # - 错误修复 - /etc/xrdp/xrdp-installer -check.log 在脚本中选择删除选项 # 时未删除 - 强制删除(感谢 Hiero 的此输入) # - 错误修复 - 自动获取 xrdp/xorgxrdp 包版本以避免 执行升级操作时出现问题(感谢 Hiero 的此输入) # : 1.2.1 - 添加对 Ubuntu 20.10 的支持 + 删除对 Ubuntu 19.10 的支持# 1.2 - 添加支持到 Ubuntu 20.04 + 删除了对 Ubuntu 19.04 的支持# - 更严格地检查 HWE 包(感谢 Andrej Gantvorg)# - 更改了检查复制图像以进行登录屏幕自定义的位置的代码# - 修复了检查 SSL 组成员身份的错误# - 更新背景颜色 xrdp login screen # - 将 pkgversion 更新到 x.13 以进行 checkinstall 过程# : 1.1 - 处理脚本的多次运行# - 改进了 checkinstall 方法/检查 ssl group memberhsip # - 用变量替换 ~/Downloads # : 1.0 - 添加了删除选项 + 最终优化 # : 0.9 - 更新了编译部分以使用 checkinstall # :0.8 - 更新了 fix_theme 函数以添加对 Ubuntu 16.04 的支持# :0.7 - 更新了 prereqs 函数以添加对 Ubuntu 16.04 的支持# :0.6 - 添加逻辑以检测 U16.04 的 Ubuntu 版本# :0.5 - 添加 env 变量修复# : 0.4 - 添加 SSL Fix #: 0.3 - 添加自定义登录屏幕选项 # : 0.2 - 添加用于传递参数的新代码 # : 0.1 - 初始脚本(合并自定义和标准) # 免责声明:脚本按原样提供。使用它需要您自担风险.... #您可以使用此脚本并分发它,只要信用保持不变 ################### ################################################# ###############################------------------------------------------------ --# # 变量和常量# #----------------------------- ----------##--自动化脚本版本控制ScriptVer="1.3"#--检测操作系统版本版本=$(lsb_release -sd)代号=$(lsb_release -sc)发布=$(lsb_release -sr)#--检测与桌面界面和目录路径相关的变量 DesktopVer="$XDG_CURRENT_DESKTOP"SessionVer="$GNOME_SHELL_SESSION_MODE"ConfDir="$XDG_DATA_DIRS"#Define Dwnload 变量指向运行脚本的用户的 ~/Downloads 文件夹下载=$(xdg-user-dir 下载)#初始化其他变量模式类型=“未知”#------------------------------------------------ -------------------------# # ------------------------函数部分 - 不要修改 -----------------# #------------------------- --------------------------------------------------# #------------------------------------------------ --# # Function 0 - 检查支持的操作系统版本 ....# #-------------------------------- -------------------#check_os(){回声/bin/echo -e "\e[1;33m |-| 检测操作系统版本\e[0m"案例$版本在 *"Ubuntu 18.04"*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;;
*"Ubuntu 20.04"*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;; *"Ubuntu 21.04"*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;; *"Ubuntu 21.10"*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;; *“流行!_OS 20.04”*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;; *“流行!_OS 21.04”*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" ;;
*"Debian"*) /bin/echo -e "\e[1;32m |-| 操作系统版本:$version\e[0m" /bin/echo -e "\e[1;32m |-| 桌面版:$DesktopVer\e[0m" 如果 [[ $Release="11" ]] 然后 zenity --info --text="您正在运行 Debian 11。请注意,标准模式不允许您对 Gnome 桌面执行远程连接。这是已知的 Debian/xrdp 问题。使用自定义安装模式" --width= 500 出口 菲 ;; *) /bin/echo -e "\e[1;31m !------------------------------------------------ --------------------------!\e[0m" /bin/echo -e "\e[1;31m !您的系统没有运行支持的版本!!\e[0m" /bin/echo -e "\e[1;31m !脚本仅在以下版本上测试过!\e[0m" /bin/echo -e "\e[1;31m !18.04.x/20.04.x/21.04/21.10/Debian 10/Pop!_OS !\e[0m" /bin/echo -e "\e[1;31m !脚本正在退出...!\e[0m" /bin/echo -e "\e[1;31m !------------------------------------------------ --------------------------!\e[0m" 回声 出口 ;;经社理事会回声}#------------------------------------------------ --## 功能 1 - 检查 xserver-xorg-core 包....#------------------------------------------------ --#check_hwe(){发布=$(lsb_release -sr)回声/bin/echo -e "\e[1;33m |-| 检测安装的 xserver-xorg-core 包 \e[0m"xorg_no_hwe_install_status=$(dpkg-query -W -f ='${Status}\n' xserver-xorg-core 2>/dev/null)xorg_hwe_install_status=$(dpkg-query -W -f ='${Status}\n' xserver-xorg-core-hwe-$Release2>/dev/null)如果 [[ "$xorg_hwe_install_status" =~ \ 已安装$ ]]然后# - 系统上安装了 hwe 版本/bin/echo -e "\e[1;32m |-| xorg 包版本:xserver-xorg-core-hwe \e[0m"HWE =“是”elif [[ "$xorg_no_hwe_install_status" =~ \ 已安装$ ]]然后/bin/echo -e "\e[1;32m |-| xorg 包版本:xserver-xorg-core \e[0m"HWE =“否”别的/bin/echo -e "\e[1;31m |-| 错误检查 xserver-xorg-core 风格 \e[0m"1号出口菲}#------------------------------------------------ --## 功能 2 - 需要特定于版本的操作....#------------------------------------------------ --#PrepOS(){回声/bin/echo -e "\e[1;33m |-| 基于操作系统版本的自定义操作.... \e[0m"如果 [[ *"$version"* = *"Debian"* ]]然后 #Disable cdrom source.list 以避免在安装过程中出现提示 #DEBIAN SPECIFIC sudo sed -i 's/deb cdrom:/#deb cdrom:/' /etc/apt/sources.list sudo apt-get 更新菲##--需要使用变量!!!!!!如果 [[ *"$version"* = *"Debian"* ]]然后 CustomPix="griffon_logo_xrdpd.bmp" 自定义颜色="27354D"别的 CustomPix="griffon_logo_xrdp.bmp" 自定义颜色="4F194C"菲}################################################# ########################### 安装模式:标准################################################# ###########################------------------------------------------------ --## 功能 3 - 安装 xRDP 软件....#------------------------------------------------ --#install_xrdp(){回声/bin/echo -e "\e[1;33m |-| 安装 xRDP 包 \e[0m"回声if [[ $HWE = "yes" ]] && [[ "$version" = *"Ubuntu 18.04"* ]];然后 sudo apt-get install xrdp -y sudo apt-get install xorgxrdp-hwe-18.04别的 sudo apt-get install xrdp -y菲}################################################# ########################### 高级安装模式:自定义安装################################################# ###########################------------------------------------------------ --## 功能 4 - 安装先决条件...#------------------------------------------------ --#install_prereqs() {回声/bin/echo -e "\e[1;33m |-|安装必备包\e[0m"回声#Debian 特定 - 添加源 backport 包以下载必要的包 - Debian 特定如果 [[ *"$version"* = *"Debian"* ]]然后sudo apt-get install -y software-properties-commonsudo apt-add-repository -s -y 'deb http://deb.debian.org/debian '$codename'-backports main'#sudo sed -i 's/deb cdrom:/#deb cdrom:/' /etc/apt/sources.listsudo apt-get 更新#--需要手动创建或者编译失败sudo mkdir /usr/local/lib/xrdp/菲#--结束 Debian 特定 --##安装包sudo apt-get -y 安装 gitsudo apt-get -y install libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl libfuse-dev xsltproc libxrandr-dev python3-libxml2 nasm fuse pkg-config git intltool checkinstall回声#-- 检查安装缺失包时是否出错如果 [ $? -eq 0]然后/bin/echo -e "\e[1;33m |-| Preprequesites 安装成功\e[0m"别的回声回声/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"/bin/echo -e "\e[1;31m !安装 prereqs 时出错!\e[0m"/bin/echo -e "\e[1;31m ! 脚本正在退出.... !\e[0m"/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"出口菲#-- 检查是否需要硬件堆栈如果 [ $HWE = "是" ];然后 # - xorg-hwe-* 被安装 /bin/echo -e "\e[1;32m |-| xorg 包版本:xserver-xorg-core-hwe-$Release \e[0m" sudo apt-get install -y xserver-xorg-dev-hwe-$Release xserver-xorg-core-hwe-$Release 别的 #-no-hwe /bin/echo -e "\e[1;32m |-| xorg 包版本:xserver-xorg-core \e[0m" 回声 sudo apt-get install -y xserver-xorg-dev xserver-xorg-core菲}#------------------------------------------------ --## 功能 5 - 下载 XRDP 二进制文件...#------------------------------------------------ --#get_binaries() {回声/bin/echo -e "\e[1;33m |-| 正在下载 xRDP 二进制文件...进行中 \e[0m"回声#cd ~/下载下载=$(xdg-user-dir 下载)cd $下载#检查xrdp文件夹是否已经存在。如是; 删除它并重新下载以获取最新版本如果 [ -d "$Dwnload/xrdp" ]然后 sudo rm -rf xrdp菲#检查xorgxrdp文件夹是否已经存在。如是; 删除它并重新下载以获取最新版本如果 [ -d "$Dwnload/xorgxrdp" ]然后 sudo rm -rf xorgxrdp菲## -- 下载 xrdp 最新文件回声/bin/echo -e "\e[1;32m |-| 正在下载 xRDP 二进制文件..... \e[0m"回声git 克隆 https://github.com/neutrinolabs/xrdp.git回声/bin/echo -e "\e[1;32m |-| 正在下载 xorgxrdp 二进制文件... \e[0m"回声git 克隆 https://github.com/neutrinolabs/xorgxrdp.git}#------------------------------------------------ --## 功能 6 - 编译 xrdp...#------------------------------------------------ --#编译源(){回声/bin/echo -e "\e[1;33m |-| 正在编译 xRDP 二进制文件...进行中 \e[0m"回声#cd ~/下载/xrdpcd $下载/xrdp#自动获取发布版本pkgver=$(git describe --abbrev=0 --tags | cut -dv -f2)须藤 ./bootstrapsudo ./configure --enable-fuse --enable-jpeg --enable-rfxcodec须藤制作#--检查编译时是否没有错误如果 [ $? -eq 0]然后回声/bin/echo -e "\e[1;32m |-| 使操作成功完成....xRDP \e[0m"回声别的回声/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"/bin/echo -e "\e[1;31m !执行 make 时出错!\e[0m"/bin/echo -e "\e[1;31m ! 脚本正在退出.... !\e[0m"/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"出口菲sudo checkinstall --pkgname=xrdp --pkgversion=$pkgver --pkgrelease=1 --default#xorgxrdp 包编译回声/bin/echo -e "\e[1;32m |-| 使操作成功完成....xorgxrdp \e[0m"回声#cd ~/下载/xorgxrdpcd $下载/xorgxrdp#自动获取发布版本pkgver=$(git describe --abbrev=0 --tags | cut -dv -f2)须藤 ./bootstrap须藤 ./配置须藤制作# 检查编译时是否没有错误如果 [ $? -eq 0]然后回声/bin/echo -e "\e[1;33m |-| 编译成功完成...进行中\e[0m"回声别的回声/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"/bin/echo -e "\e[1;31m !执行 make 时出错!\e[0m"/bin/echo -e "\e[1;31m ! 脚本正在退出.... !\e[0m"/bin/echo -e "\e[1;31m !------------------------------------------------ ---------!\e[0m"出口菲sudo checkinstall --pkgname=xorgxrdp --pkgversion=1:$pkgver --pkgrelease=1 --default}#------------------------------------------------ --## 功能 7 - 创建服务 ....#------------------------------------------------ --#启用服务(){回声/bin/echo -e "\e[1;33m |-| 创建和配置 xRDP 服务 \e[0m"回声sudo systemctl daemon-reloadsudo systemctl 启用 xrdp.servicesudo systemctl 启用 xrdp-sesman.servicesudo systemctl 启动 xrdp}################################################# ########################### 常用功能 - 无论安装模式 - 版本特定!################################################# ###########################------------------------------------------------ -------------------------------------## 功能 8 - 如果使用 Gnome 桌面,则安装 Tweaks Utilty(可选)....##------------------------------------------------ -------------------------------------#install_tweak(){回声/bin/echo -e "\e[1;33m |-| 检查是否需要安装 Tweaks.... \e[0m"如果 [[ "$DesktopVer" != *"GNOME"* ]]然后/bin/echo -e "\e[1;32m |-| 不需要 Gnome 调整...进行中... \e[0m"回声别的/bin/echo -e "\e[1;32m |-| 安装 Gnome Tweaks 实用程序...进行中... \e[0m"回声 如果 [[ *"$version"* = *"Ubuntu 21.10"* ]] 然后 #if Ubuntu 21.10 - 工具的新版本..... sudo apt-get install gnome-tweaks -y sudo apt-get install gnome-shell-extensions -y 别的 sudo apt-get install gnome-tweak-tool -y 菲菲}#------------------------------------------------ -------------------## Fucntion 9 - 允许控制台访问 ....(在 u18.04 中似乎是可选的)#------------------------------------------------ -------------------#允许控制台(){回声/bin/echo -e "\e[1;33m |-| 配置允许控制台访问... \e[0m"回声# 检查 Xwrapper 文件是否存在如果 [ -f /etc/X11/Xwrapper.config ]然后sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config别的 sudo bash -c "cat >/etc/X11/Xwrapper.config" <<EOF allowed_users=任何人EOF菲}#------------------------------------------------ --## 功能 10 - 创建策略例外 ....#------------------------------------------------ --#create_polkit(){回声/bin/echo -e "\e[1;33m |-| 创建 Polkit 异常规则... \e[0m"回声#所有Ubuntu版本,Debian版本,Pop OS版本sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/45-allow.colord.pkla" <<EOF[允许所有用户着色]身份=unix 用户:*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结果任何=否结果无效=否结果活动=是EOF#不适用于 Ubuntu 18.04 版本,但适用于其他版本....这导致 Ubuntu 18.04 出现问题如果 [[ "$version" != *"Ubuntu 18.04"* ]];然后sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla" <<EOF[允许包管理所有用户]身份=unix 用户:*Action=org.freedesktop.packagekit.system-sources-refresh;org.freedesktop.packagekit.system-network-proxy-configure结果任意=是结果无效=是结果活动=是EOF菲#-- KDE 桌面特定 - 只能在脚本运行时检测到如果 [ "$DesktopVer" = "KDE" ];然后sudo bash -c "cat >/etc/polkit-1/localauthority/50-local.d/47-allow-networkd.pkla" <<EOF[允许网络控制所有用户]身份=unix 用户:*Action=org.freedesktop.NetworkManager.network-control结果任何=否结果无效=否结果活动=是EOF菲}#------------------------------------------------ --## 功能 11 - 修复主题和扩展 ....#------------------------------------------------ --#fix_theme(){回声/bin/echo -e "\e[1;33m |-| 修复主题和扩展.... \e[0m"回声# 检查脚本是否已经运行如果 [ -f /etc/xrdp/startwm.sh.griffon ]然后须藤 rm /etc/xrdp/startwm.shsudo mv /etc/xrdp/startwm.sh.griffon /etc/xrdp/startwm.sh菲#修改前备份文件sudo cp /etc/xrdp/startwm.sh /etc/xrdp/startwm.sh.griffon回声# Budgie Desktop 的自定义代码如果 [[ "$DesktopVer" == *"Budgie"* ]]然后sudo sed -i "4 a #Improved Look n Feel Method\ncat <<EOF > ~/.xsessionrc\nbudgie-desktop\nexport GNOME_SHELL_SESSION_MODE=$SessionVer\nexport XDG_CURRENT_DESKTOP=$DesktopVer\nexport XDG_DATA_DIRS=$ConfDir\nEOF\n" /etc/xrdp/startwm.sh别的sudo sed -i "4 a #Improved Look n Feel Method\ncat <<EOF > ~/.xsessionrc\nexport GNOME_SHELL_SESSION_MODE=$SessionVer\nexport XDG_CURRENT_DESKTOP=$DesktopVer\nexport XDG_DATA_DIRS=$ConfDir\nEOF\n" /etc/xrdp /startwm.sh菲回声}#------------------------------------------------ --## 功能 12 - 启用声音重定向 ....#------------------------------------------------ --#启用声音(){回声/bin/echo -e "\e[1;33m |-| 启用声音重定向.... \e[0m"回声pulsever=$(pulseaudio --version | awk '{print $2}')/bin/echo -e "\e[1;32m |-| 安装附加包.. \e[0m"# 特定版本 - 为 Debian 添加源和正确的 pulseaudio 版本!!! 如果 [[ *"$version"* = *"Debian"* ]]然后# Step 0 - 安装一些 PreReqssudo apt-get install libconfig-dev -ysudo apt-get install git libpulse-dev autoconf m4 intltool build-essential dpkg-dev libtool libsndfile-dev libcap-dev -y libjson-c-devsudo apt build-dep pulseaudio -y/bin/echo -e "\e[1;32m |-| 下载pulseaudio源文件.. \e[0m"# 第 3 步 - 在 /tmp 目录中下载 pulseaudio 源代码 - Debian 源代码库应该已经启用光盘 /tmpsudo apt source pulseaudio=$pulsever别的# 第 1 步 - 启用源代码存储库sudo apt-add-repository -s -y 'deb http://archive.ubuntu.com/ubuntu/'$codename' 主要受限'sudo apt-add-repository -s -y 'deb http://archive.ubuntu.com/ubuntu/ '$codename' 受限宇宙主多元宇宙'sudo apt-add-repository -s -y 'deb http://archive.ubuntu.com/ubuntu/ '$codename'-updates 受限宇宙主多元宇宙'sudo apt-add-repository -s -y 'deb http://archive.ubuntu.com/ubuntu/'$codename'-backports 主要受限宇宙多元宇宙'sudo apt-add-repository -s -y 'deb http://archive.ubuntu.com/ubuntu/ '$codename'-security main 受限宇宙主 multiverse'sudo apt-get 更新# 第 2 步 - 安装一些 PreReqssudo apt-get install git libpulse-dev autoconf m4 intltool build-essential dpkg-dev libtool libsndfile-dev libcap-dev -y libjson-c-devsudo apt build-dep pulseaudio -y/bin/echo -e "\e[1;32m |-| 下载pulseaudio源文件.. \e[0m"# 第 3 步 - 在 /tmp 目录中下载 pulseaudio 源代码 - Debian 源代码库应该已经启用光盘 /tmpsudo apt source pulseaudio菲/bin/echo -e "\e[1;32m |-| 编译 pulseaudio 源文件.. \e[0m"# Step 4 - 根据操作系统版本编译cd /tmp/pulseaudio-$pulsever*脉冲路径=$(密码)如果 [[ *"$version"* = *"Ubuntu 21.10"* ]]然后 #Build - 使用介子的新方法并替换旧的配置方法 sudo meson --prefix=$PulsePath build sudo ninja -C 构建安装别的 须藤 ./配置菲# 第 5 步 - 下载 xrdp 声音模块/bin/echo -e "\e[1;32m |-| 编译和构建 xRDP 声音模块... \e[0m"sudo git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.gitcd 脉冲音频模块 xrdp# 第 6 步 - 检查 config.h 文件是否丢失...如果丢失...从某处复制文件如果 [ -f $PulsePath/pulseaudio-module-xrdp/config.h ]然后 /bin/echo -e "\e[1;32m |-| Config.h 存在..Proceeding... \e[0m"别的 /bin/echo -e "\e[1;32m |-| Config.h 似乎丢失了...已应用脏修复.. \e[0m" sudo cp $PulsePath/build/config.h $PulsePath/pulseaudio-module-xrdp 菲# 第 7 步 - 创建 xrdp 声音模块 须藤 ./bootstrap sudo ./configure PULSE_DIR=$PulsePath 须藤制作 #这将在 /usr/lib/pulse* 目录中安装模块 须藤使安装# 步骤 8 将文件复制到正确的位置(在 /etc/xrdp/pulse/default.pa 中定义)如果 [[ *"$version"* = *"Ubuntu 21.10"* ]]然后 /bin/echo -e "\e[1;32m |-| 将生成的文件复制到目标文件夹.... \e[0m" cd /usr/lib/pulse*/modules #模块的新位置 如果 [ -d /var/lib/xrdp-pulseaudio-installer ] 然后 sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so 别的 sudo mkdir /var/lib/xrdp-pulseaudio-installer # 这不是自动创建的 sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so 回声 菲 别的 /bin/echo -e "\e[1;32m |-| 将生成的文件复制到目标文件夹.... \e[0m" cd /tmp/pulseaudio-$pulsever/pulseaudio-module-xrdp/src/.libs sudo install -t "/var/lib/xrdp-pulseaudio-installer" -D -m 644 *.so 回声菲}#------------------------------------------------ --## 功能 13 - 自定义 xRDP 登录屏幕 ....#------------------------------------------------ --#自定义登录(){回声/bin/echo -e "\e[1;33m |-| 自定义 xRDP 登录屏幕 \e[0m"下载=$(xdg-user-dir 下载)cd $下载#检查脚本是否运行过一次...如果 [ -f /etc/xrdp/xrdp.ini.griffon ]然后sudo rm /etc/xrdp/xrdp.inisudo mv /etc/xrdp/xrdp.ini.griffon /etc/xrdp/xrdp.ini菲#备份文件sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.griffon#chek 如果文件存在,如果不存在 - 下载它....如果 [ -f "$CustomPix" ]然后 /bin/echo -e "\e[1;32m |-| 必要的文件已经可用...跳过 \e[0m"别的 /bin/echo -e "\e[1;32m |-| 正在下载附加文件...: logo_xrdp image \e[0m" wget http://www.c-nergy.be/downloads/"$CustomPix"菲#检查复制标志文件的位置如果 [ -d "/usr/local/share/xrdp" ]然后 回声 sudo cp $CustomPix /usr/local/share/xrdp sudo sed -i "s/ls_logo_filename=/ls_logo_filename=\/usr\/local\/share\/xrdp\/$CustomPix/g" /etc/xrdp/xrdp.ini别的 sudo cp $CustomPix /usr/share/xrdp sudo sed -i "s/ls_logo_filename=/ls_logo_filename=\/usr\/share\/xrdp\/$CustomPix/g" /etc/xrdp/xrdp.ini菲sudo sed -i 's/blue=009cb5/blue=dedede/' /etc/xrdp/xrdp.inisudo sed -i 's/#white=ffffff/white=dedede/' /etc/xrdp/xrdp.inisudo sed -i 's/#ls_title=我的登录标题/ls_title=Linux 远程桌面/' /etc/xrdp/xrdp.inisudo sed -i "s/ls_top_window_bg_color=009cb5/ls_top_window_bg_color=$CustomColor/" /etc/xrdp/xrdp.inisudo sed -i 's/ls_bg_color=dedede/ls_bg_color=ffffff/' /etc/xrdp/xrdp.inisudo sed -i 's/ls_logo_x_pos=55/ls_logo_x_pos=0/' /etc/xrdp/xrdp.inisudo sed -i 's/ls_logo_y_pos=50/ls_logo_y_pos=5/' /etc/xrdp/xrdp.ini}#------------------------------------------------ --## 功能 14 - 修复 SSL 小问题 ....#------------------------------------------------ --#fix_ssl(){回声/bin/echo -e "\e[1;33m |-| 修复 SSL 权限设置... \e[0m"回声如果 id -Gn xrdp | grep ssl 证书然后/bin/echo -e "\e[1;32m !--xrdp 已经是 ssl-cert 的成员...跳过 ---!\e[0m"别的 sudo adduser xrdp ssl-cert菲}#------------------------------------------------ --## 功能 15 - 修复 XRDP 中的环境变量 ....#------------------------------------------------ --#fix_env(){回声/bin/echo -e "\e[1;33m |-| 修复 xRDP 环境变量... \e[0m"回声#将此行添加到 /etc/pam.d/xrdp-sesman 如果不存在if grep -Fxq "session required pam_env.so readenv=1 user_readenv=0" /etc/pam.d/xrdp-sesman 然后 echo "环境设置已设置" 别的 sudo sed -i '1 需要会话 pam_env.so readenv=1 user_readenv=0' /etc/pam.d/xrdp-sesman 菲}#------------------------------------------------ --## 功能 17 - 删除 XRDP 包 ....#------------------------------------------------ --#remove_xrdp(){回声/bin/echo -e "\e[1;33m !------------------------------------------------ ---------!\e[0m"/bin/echo -e "\e[1;33m !删除 xRDP 包...!\e[0m"/bin/echo -e "\e[1;33m !------------------------------------------------ ---------!\e[0m"回声#删除脚本创建的xrdplog文件sudo rm /etc/xrdp/xrdp-installer-check.log#----删除xrdp包sudo systemctl stop xrdpsudo systemctl 禁用 xrdpsudo apt-get autoremove xrdp -ysudo apt-get purge xrdp -y#---删除xorgxrdpsudo systemctl stop xorgxrdpsudo systemctl 禁用 xorgxrdpif [[ $HWE = "yes" ]] && [[ "$version" = *"Ubuntu 18.04"* ]];然后 sudo apt-get autoremove xorgxrdp-hwe-18.04 -y sudo apt-get purge xorgxrdp-hwe-18.04 -y别的 sudo apt-get 自动删除 xorgxrdp -y sudo apt-get purge xorgxrdp -y菲#---清理文件#删除xrdp文件夹如果 [ -d "$Dwnload/xrdp" ]然后 sudo rm -rf xrdp菲#删除xorgxrdp文件夹如果 [ -d "$Dwnload/xorgxrdp" ]然后 sudo rm -rf xorgxrdp菲#删除自定义xrdp标志文件如果 [ -f "$Dwnload/$CustomPix" ]然后 sudo rm -f "$Dwnload/$CustomPix"菲sudo systemctl daemon-reload}sh_credits(){回声/bin/echo -e "\e[1;36m !------------------------------------------------ ----------------------------------------!\e[0m"/bin/echo -e "\e[1;36m !安装完成...请测试您的 xRDP 配置!\e[0m"/bin/echo -e "\e[1;36m !如果选择了声音选项,请完全关闭您的机器!\e[0m"/bin/echo -e "\e[1;36m ! 再次启动它以使声音按预期工作!\e[0m"/bin/echo -e "\e[1;36m ! !\e[0m"/bin/echo -e "\e[1;36m !学分:由 Griffon 撰写 - 2021 年 10 月!\e[0m"/bin/echo -e "\e[1;36m !www.c-nergy.be -xrdp-installer-v$ScriptVer.sh !\e[0m"/bin/echo -e "\e[1;36m !ver $ScriptVer !\e[0m"/bin/echo -e "\e[1;36m !------------------------------------------------ ----------------------------------------!\e[0m"回声}#------------------------------------------------ --## 优化代码使用部分... ##------------------------------------------------ --#install_common(){#install_tweak 允许 控制台create_polkitfix_themefix_sslfix_env}安装自定义(){install_prereqs获取二进制文件编译源启用服务}#------------------------------------------------ -------------------------------------## ------------------------END 函数部分 -----------------##------------------------------------------------ -------------------------------------##------------------------------------------------ -------------------------------------##------------ 主脚本部分 -------------------##------------------------------------------------ -------------------------------------##------------------------------------------------ --## 脚本版本信息显示##------------------------------------------------ --#回声/bin/echo -e "\e[1;36m !------------------------------------------------ -----------------------------------------!\e[0m"/bin/echo -e "\e[1;36m !xrdp-installer-$ScriptVer 脚本 !\e[0m"/bin/echo -e "\e[1;36m !支持 Ubuntu 和 Debian 发行版!\e[0m"/bin/echo -e "\e[1;36m !由 Griffon 撰写 - 2021 年 10 月 - www.c-nergy.be !\e[0m"/bin/echo -e "\e[1;36m ! !\e[0m"/bin/echo -e "\e[1;36m !有关帮助和语法,请键入 ./xrdp-installer-$ScriptVer.sh -h !\e[0m"/bin/echo -e "\e[1;36m ! !\e[0m"/bin/echo -e "\e[1;36m !------------------------------------------------ -----------------------------------------!\e[0m"回声#------------------------------------------------ ---------## 步骤 0 - 检测参数是否传递给脚本 .... ##------------------------------------------------ ---------#对于“$@”中的 arg做 #Help 菜单已请求 如果 [ "$arg" == "--help" ] || [“$arg”==“-h”] 然后 echo "用法语法和示例"
回声 echo " --custom 或 -c custom xRDP install (从源代码编译)" echo " --loginscreen 或 -l 自定义 xRDP 登录屏幕" echo " --remove 或 -r 删除 xRDP 包" echo " --sound 或 -s 在 xRDP 中启用声音重定向" 回声 回声“示例” 回声 echo " ./xrdp-installer-$ScriptVer.sh -c -s 带有声音重定向的自定义安装" echo " ./xrdp-installer-$ScriptVer.sh -l 带有自定义登录屏幕的标准安装" echo " ./xrdp-installer-$ScriptVer.sh 标准安装无附加功能" 回声 出口 菲 如果 [ "$arg" == "--sound" ] || [“$arg”==“-s”] 然后 修复声音=“是” 菲 如果 [ "$arg" == "--loginscreen" ] || [“$arg”==“-l”] 然后 fixlogin="是" 菲 如果 [ "$arg" == "--custom" ] || [“$arg”==“-c”] 然后 adv="是" 菲 如果 [ "$arg" == "--remove" ] || [“$arg”==“-r”] 然后 移除=“是” 菲完毕#------------------------------------------------ -------------------------------------------##-- 步骤 0 - 检查脚本是否以普通用户而非 root 用户身份运行...。#------------------------------------------------ ------------------------------#如果 [[ $EUID -ne 0 ]]; 然后 /bin/echo -e "\e[1;36m !------------------------------------------------ -------------------------!\e[0m" /bin/echo -e "\e[1;36m ! 检测到标准用户....进行中.... !\e[0m" /bin/echo -e "\e[1;36m !------------------------------------------------ -------------------------!\e[0m"别的 回声 /bin/echo -e "\e[1;31m !------------------------------------------------ -------------------------!\e[0m" /bin/echo -e "\e[1;31m !使用 sudo 命令启动脚本。脚本不会运行...!\e[0m" /bin/echo -e "\e[1;31m !以标准用户帐户运行脚本(无 sudo)。需要时!\e[0m" /bin/echo -e "\e[1;31m !脚本在执行过程中会提示输入密码!\e[0m" /bin/echo -e "\e[1;31m ! !\e[0m" /bin/echo -e "\e[1;31m !退出脚本 - 未执行安装!!!!\e[0m" /bin/echo -e "\e[1;31m !------------------------------------------------ -------------------------!\e[0m" 回声 #sh_credits 出口菲#------------------------------------------------ --##-- 步骤 1 - 尝试检测 Ubuntu 版本.... ##------------------------------------------------ --#check_os#------------------------------------------------ --------##-- 步骤 2 - 尝试检测是否需要 HWE Stack....##------------------------------------------------ --------#check_hwe#------------------------------------------------ -------------------------------------------##-- 第 3 步 - 检查是否选择了移除选项#------------------------------------------------ -------------------------------------------#如果 [ "$removal" = "是" ];然后 remove_xrdp 回声 sh_credits 出口菲#------------------------------------------------ --------## 第 4 步 - 执行安装和配置任务 .... ##------------------------------------------------ --------##-- 检测是否使用了多次运行和安装模式.....回声/bin/echo -e "\e[1;33m |-| 检查脚本是否至少运行过一次... \e[0m"如果 [ -f /etc/xrdp/xrdp-installer-check.log ]然后 modetype=$(sed -n 1p /etc/xrdp/xrdp-installer-check.log) /bin/echo -e "\e[1;32m |-| 脚本已经运行。检测到的模式...: $modetype\e[0m"别的 /bin/echo -e "\e[1;32m |-| 首次运行或删除 xrdp-installer-check.log。检测到的模式:$modetype \e[0m"菲#------------------------------------------------ --------------------------------------#- 检测标准与自定义安装模式和其他选项...#------------------------------------------------ -------------------------------------- 如果 [ "$adv" = "是" ]; 然后 回声 /bin/echo -e "\e[1;33m |-| 检测到自定义安装模式。\e[0m" 如果 [ $modetype = "自定义" ]; 然后 /bin/echo -e "\e[1;36m |-| xrdp 已安装 - 自定义模式....跳过 xrdp 安装 \e[0m" PrepOS 别的 /bin/echo -e "\e[1;36m |-| 进行自定义 xrdp 安装包和自定义任务 \e[0m" PrepOS 安装自定义 install_common #创建文件使用的检测方法 sudo touch /etc/xrdp/xrdp-installer-check.log sudo bash -c 'echo "custom" >/etc/xrdp/xrdp-installer-check.log' 菲 别的 回声 /bin/echo -e "\e[1;33m |-| 附加检查标准与自定义模式.. \e[0m"
如果 [ $modetype = "标准" ]; 然后 /bin/echo -e "\e[1;35m |-| xrdp 已安装 - 标准模式....跳过安装 \e[0m" PrepOS elif [ $modetype = "自定义" ] 然后 /bin/echo -e "\e[1;35m |-| 检查附加参数" 别的 /bin/echo -e "\e[1;32m |-| 进行标准 xrdp 安装包和定制任务 \e[0m" PrepOS install_xrdp install_common
#创建文件 sudo touch /etc/xrdp/xrdp-installer-check.log sudo bash -c 'echo "标准" >/etc/xrdp/xrdp-installer-check.log' 菲 fi #end if Adv 选项#------------------------------------------------ --------------------------------------#- 检查选择的附加选项#------------------------------------------------ --------------------------------------如果 [ "$fixSound" = "yes" ];然后 enable_sound 菲如果 [ "$fixlogin" = "是" ];然后 回声 custom_login菲#------------------------------------------------ --------------------------------------#- 显示学分和完成脚本#------------------------------------------------ --------------------------------------sh_credits

