From 8c761122300d9d3aad5de891b08ec17138df4da5 Mon Sep 17 00:00:00 2001 From: henk Date: Thu, 2 Jan 2025 21:07:23 +0100 Subject: [PATCH] 2025-01-02 21:07:23 --- xrdp-linuxdesktop/RDP-Install.sh | 8 + xrdp-linuxdesktop/RDP-aanzetten | 35 + xrdp-linuxdesktop/xrdp-installer-1.4.7.sh | 1306 --------------------- xrdp-linuxdesktop/xrdp.txt | 12 - 4 files changed, 43 insertions(+), 1318 deletions(-) create mode 100755 xrdp-linuxdesktop/RDP-Install.sh create mode 100644 xrdp-linuxdesktop/RDP-aanzetten delete mode 100755 xrdp-linuxdesktop/xrdp-installer-1.4.7.sh delete mode 100644 xrdp-linuxdesktop/xrdp.txt diff --git a/xrdp-linuxdesktop/RDP-Install.sh b/xrdp-linuxdesktop/RDP-Install.sh new file mode 100755 index 0000000..337ee42 --- /dev/null +++ b/xrdp-linuxdesktop/RDP-Install.sh @@ -0,0 +1,8 @@ +#!/bin/bash + +#Bookworm +# Ubuntu +apt -y install xrdp tigervnc-standalone-server +systemctl enable xrdp + + diff --git a/xrdp-linuxdesktop/RDP-aanzetten b/xrdp-linuxdesktop/RDP-aanzetten new file mode 100644 index 0000000..5fba93e --- /dev/null +++ b/xrdp-linuxdesktop/RDP-aanzetten @@ -0,0 +1,35 @@ +Bookworm +apt -y install xrdp tigervnc-standalone-server +systemctl enable xrdp + +ubuntu +apt -y install xrdp tigervnc-standalone-server +systemctl enable xrdp + + create new +~startwm.sh + +#!/bin/sh + +# GNOME +dbus-launch --exit-with-session /usr/bin/gnome-session +# GNOME Classic +# dbus-launch --exit-with-session /usr/bin/gnome-session-classic +# KDE +# dbus-launch --exit-with-session /usr/bin/startplasma-x11 +# Cinnamon +# dbus-launch --exit-with-session /usr/bin/cinnamon-session +# MATE +# dbus-launch --exit-with-session /usr/bin/mate-session +# Xfce +# dbus-launch --exit-with-session /usr/bin/startxfce4 +# LXDE +# dbus-launch --exit-with-session /usr/bin/startlxde +# LXQt +# dbus-launch --exit-with-session /usr/bin/startlxqt +# Budgie +# env GNOME_SHELL_SESSION_MODE=Budgie:GNOME dbus-launch --exit-with-session /usr/bin/budgie-desktop + +chmod 755 ~/startwm.sh + + diff --git a/xrdp-linuxdesktop/xrdp-installer-1.4.7.sh b/xrdp-linuxdesktop/xrdp-installer-1.4.7.sh deleted file mode 100755 index 3624e2b..0000000 --- a/xrdp-linuxdesktop/xrdp-installer-1.4.7.sh +++ /dev/null @@ -1,1306 +0,0 @@ -#!/bin/bash -##################################################################################################### -# Script_Name : xrdp-installer-1.4.7.sh -# Description : Perform xRDP installation on Ubuntu 18.04,20.04,22.10,22.04 and perform -# additional post configuration to improve end user experience -# Date : May 2023 -# written by : Griffon -# WebSite :http://www.c-nergy.be - http://www.c-nergy.be/blog -# Version : 1.4.7 -# History : 1.4.7 - adding ubuntu 23.04 support -# - adding enable-vsock support -# 1.4.6 - Fixing Issues about fuse and fuse3 package conflicts (Thanks to Hiero that detected the issue) -# - Add MP3 Codec support for Audio redirection -# - Using the latest stable Release packages of xrdp and xorgxrdp from Github in custom install mode(instead of Dev Branch) -# : 1.4.5 - Fixing Sound redirection issue for Linux Mint Users -# : 1.4.4 - Adding Support to Ubuntu 22.10 -# : 1.4.3 - Install by default meson,tdb-tools,libtdb-dev,doxygen,check(to support kubuntu and others) -# - Adding basic error handling sound redirection function -# - Adding Warning message if user already logged on locally and trying to rdp into the system (Thanks to Hiero) -# - Minor bug fixing -# : 1.4.2 - Improving SSH Detection Process... -# - checking PipeWire vs PulseAudio. If PipeWire, no sound redirection -# - fixing bug in code for Sound redirection (thank to Hiero for his findings !!!) -# - adding support Linux Mint (Software rendering only) -# - adding support Pop!OS 22.04 -# - Removing support Pop!OS 21.04 & 21.10 -# - Additional Checks on add xrdp to ssl-cert function -# - Small Change code Structure -# 1.4.1 - adding --recursive to git downloads -# - xrdp login screen background color set to grey -# 1.4 - Re-write sound section (since meson is used) -# - Added Pop!Os 21.10 as Detected system (Best Effort !!!) -# - Detect when install from ssh session - (Experimental) -# - Adding Support Ubuntu 22.04 -# - Removing Support for Ubuntu 21.04 (End Standard Support) -# - Improved Debian detection and warning about std vs custom install -# : 1.3 - Adding support for Ubuntu 21.10 (STR) -# - Code modification sound redirection using meson technology (ubuntu 21.10 only so far) -# - Adding support for Debian (10 and 11) (Best Effort) -# - Added Rules to Detect Budgie-Desktop and postConfig settings -# - Added support for Pop!_0S (Best Effort !!!) -# - Code Changes to detect Desktop Interface in use -# - Reworked code for xrdp removal option -# - Improved Std vs Custom installation detection process -# - Added support for Different Desktop Interfaces (More testing needed) -# - General Code structure re-worked to add more OS version and Desktop interface support -# - Fixed Minor Bug(s) -# : 1.2.3 - Adding support for Ubuntu 21.04 -# - Removing Support for Ubuntu 16.04.x (End Standard Support) -# - Delete xrdp and xorgxrdp folder when remove option selected -# - Review remove function to detect hwe package U18.04 -# - Review, Optimize, Cleanup Code -# : 1.2.2 - Changing Ubuntu repository from be.archive.ubuntu.com to archive.ubuntu.com -# - Bug Fixing - /etc/xrdp/xrdp-installer-check.log not deleted when remove option -# selected in the script - Force Deletion (Thanks to Hiero for this input) -# - Bug Fixing - Grab automatically xrdp/xorgxrdp package version to avoid -# issues when upgrade operation performed (Thanks to Hiero for this input) -# : 1.2.1 - Adding Support to Ubuntu 20.10 + Removed support for Ubuntu 19.10 -# 1.2 - Adding Support to Ubuntu 20.04 + Removed support for Ubuntu 19.04 -# - Stricter Check for HWE Package (thanks to Andrej Gantvorg) -# - Changed code in checking where to copy image for login screen customization -# - Fixed Bug checking SSL group membership -# - Updating background color xrdp login screen -# - Updating pkgversion to x.13 for checkinstall process -# : 1.1 - Tackling multiple run of the script -# - Improved checkinstall method/check ssl group memberhsip -# - Replaced ~/Downloads by a variable -# : 1.0 - Added remove option + Final optimization -# : 0.9 - updated compile section to use checkinstall -# : 0.8 - Updated the fix_theme function to add support for Ubuntu 16.04 -# : 0.7 - Updated prereqs function to add support for Ubuntu 16.04 -# : 0.6 - Adding logic to detect Ubuntu version for U16.04 -# : 0.5 - Adding env variable Fix -# : 0.4 - Adding SSL Fix -# : 0.3 - Adding custom login screen option -# : 0.2 - Adding new code for passing parameters -# : 0.1 - Initial Script (merging custom & Std) -# Disclaimer : Script provided AS IS. Use it at your own risk.... -# You can use this script and distribute it as long as credits are kept -# in place and unchanged -#################################################################################################### - -#---------------------------------------------------# -# Set Script Version # -#---------------------------------------------------# - -#--Automating Script versioning -ScriptVer="1.4.7" - -#---------------------------------------------------# -# Script Version information Displayed # -#---------------------------------------------------# - -echo -/bin/echo -e "\e[1;36m !-----------------------------------------------------------------!\e[0m" -/bin/echo -e "\e[1;36m ! xrdp-installer-$ScriptVer Script !\e[0m" -/bin/echo -e "\e[1;36m ! Support Ubuntu and Debian Distribution !\e[0m" -/bin/echo -e "\e[1;36m ! Written by Griffon - January 2023 - www.c-nergy.be !\e[0m" -/bin/echo -e "\e[1;36m ! !\e[0m" -/bin/echo -e "\e[1;36m ! For Help and Syntax, type ./xrdp-installer-$ScriptVer.sh -h !\e[0m" -/bin/echo -e "\e[1;36m ! !\e[0m" -/bin/echo -e "\e[1;36m !-----------------------------------------------------------------!\e[0m" -echo -/bin/echo -e "\e[1;38m !----------------------------------------------------------------!\e[0m" -/bin/echo -e "\e[1;38m ! Disclaimer !\e[0m" -/bin/echo -e "\e[1;38m ! !! Script provided AS IS. Use it at your own risk.!! !\e[0m" -/bin/echo -e "\e[1;38m !----------------------------------------------------------------!\e[0m" - -#---------------------------------------------------# -# Variables and Constants # -#---------------------------------------------------# - -#--Detecting OS Version -version=$(lsb_release -sd) -codename=$(lsb_release -sc) -Release=$(lsb_release -sr) - -#--Additional Code for Linux Mint -ucodename=$(cat /etc/os-release | grep UBUNTU_CODENAME | awk -F"=" '{print $2}') - -#Define Dwnload variable to point to ~/Downloads folder of user running the script -Dwnload=$(xdg-user-dir DOWNLOAD) - -#Initialzing other variables -modetype="unknown" - -#---------------------------------------------------------# -# Initial checks and Validation Process .... # -#---------------------------------------------------------# - -#-- Detect if multiple runs and install mode used..... -echo -/bin/echo -e "\e[1;33m |-| Checking if script has run at least once... \e[0m" -if [ -f /etc/xrdp/xrdp-installer-check.log ] -then - modetype=$(sed -n 1p /etc/xrdp/xrdp-installer-check.log) - /bin/echo -e "\e[1;32m |-| Script has already run. Detected mode...: $modetype\e[0m" - echo -else - /bin/echo -e "\e[1;32m |-| First run or xrdp-installer-check.log deleted. Detected mode : $modetype \e[0m" - echo -fi - -#--Detecting variable related to Desktop interface and Directory path (Experimental) -if [[ *"$XDG_SESSION_TYPE"* = *"tty"* ]] -then - ##-- Detect if installation done via ssh connections - /bin/echo -e "\e[1;32m |-| Detected Installation via ssh.... \e[0m" - echo - # Need new code to display DE Option available - /bin/echo -e "\e[1;33m !--------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;33m ! Your are using the xrdp-installer script via ssh connection !\e[0m" - /bin/echo -e "\e[1;33m ! You might need to create your ~/.xsessionrc file manually !\e[0m" - /bin/echo -e "\e[1;33m ! !\e[0m" - /bin/echo -e "\e[1;33m ! The script will proceed....but might not work !! !\e[0m" - /bin/echo -e "\e[1;33m !--------------------------------------------------------------!\e[0m" - echo - - cnt=$(ls /usr/share/xsessions | wc -l) - echo $cnt - - # Try to Detect automatically Desktop Interface. If multiple options present, create a menu - if [ "$cnt" -gt "1" ] - then - PS3='Please specify which DE you are using...: ' - desk=($(ls /usr/share/xsessions | cut -d "." -f 1)) - - select menu in "${desk[@]}"; - do - echo -e "\nyou picked $menu ($REPLY)" - break; - - done - else - desk=($(ls /usr/share/xsessions | cut -d "." -f 1)) - menu=$desk - echo "Desktop seems to be based on....: " $menu - fi - - # Display Menu and set variable to be used - - case $menu in - - "ubuntu") - DesktopVer="ubuntu:GNOME" - SessionVer="ubuntu" - #might needed not to loose FireFox Snap version - ConfDir="/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "gnome") - #Untouched gnome Desktop will work out of the box with xRDP - #DesktopVer="" - #SessionVer="" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "budgie-desktop") - DesktopVer="Budgie:GNOME" - #SessionVer="" - ConfDir="/usr/share/budgie-desktop:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "plasma") - DesktopVer="KDE" - SessionVer="" - ConfDir="/usr/share/plasma:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "pop") - DesktopVer="pop:GNOME" - SessionVer="pop" - ConfDir="/usr/share/pop:/usr/share/gnome:/\${PWD}/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "mate") - DesktopVer="MATE" - SessionVer="" - ConfDir="/usr/share/mate:/\${PWD}/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "cinnamon2d") - DesktopVer="X-Cinnamon" - SessionVer="" - ConfDir="/usr/share/gnome:/usr/share/cinnamon:/\${PWD}/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:" - GDMSess="cinnamon" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "cinnamon2") - DesktopVer="X-Cinnamon" - SessionVer="" - ConfDir="/usr/share/gnome:/usr/share/cinnamon:/\${PWD}/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share:/usr/share:" - GDMSess="cinnamon" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "xfce") - DesktopVer="XFCE" - SessionVer="" - GDMSess="xubuntu" - ConfDir="/usr/share/xfce4:/usr/share/xubuntu:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "xubuntu") - DesktopVer="XFCE" - SessionVer="" - GDMSess="xubuntu" - ConfDir="/usr/share/xfce4:/usr/share/xubuntu:/usr/share/gnome:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "lxqt") - DesktopVer="LXQt" - SessionVer="" - ConfDir="/usr/share/Lubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - "LXDE") - DesktopVer="LXDE" - SessionVer="" - /bin/echo -e "\e[1;32m |-| Session : $SessionVer\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - /bin/echo -e "\e[1;32m |-| Conf. Directory : $ConfDir\e[0m" - ;; - - *) - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;31m ! Unable to detect a supported OS Version & Desktop interface !\e[0m" - /bin/echo -e "\e[1;31m ! The script has been tested only on specific versions !\e[0m" - /bin/echo -e "\e[1;31m ! !\e[0m" - /bin/echo -e "\e[1;31m ! The script is exiting... !\e[0m" - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - echo - exit - ;; - esac - -else - ##-- Installation is performed via an existing Desktop Interface...Trying to detect it.... - DesktopVer="$XDG_CURRENT_DESKTOP" - SessionVer="$GNOME_SHELL_SESSION_MODE" - ConfDir="$XDG_DATA_DIRS" - GDMSess="$GDMSESSION" -fi - -#--------------------------------------------------------------------------# -# -----------------------Function Section - DO NOT MODIFY -----------------# -#--------------------------------------------------------------------------# - -#---------------------------------------------------# -# Function 0 - check for supported OS version ....# -#---------------------------------------------------# - -check_os() -{ -echo -/bin/echo -e "\e[1;33m |-| Detecting OS version \e[0m" - -case $version in - - *"Ubuntu 18.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Ubuntu 20.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Ubuntu 22.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Ubuntu 22.10"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Ubuntu 23.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - - *"Pop!_OS 20.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Pop!_OS 22.04"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Mint"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - ;; - - *"Debian"*) - /bin/echo -e "\e[1;32m |-| OS Version : $version\e[0m" - /bin/echo -e "\e[1;32m |-| Desktop Version : $DesktopVer\e[0m" - - if [[ $Release = "11" ]] && [[ -z "$adv" ]] - then - #Check if Custom Install already performed...if yes, enable sound - if [[ $modetype = "custom" ]] && [[ $fixSound = "yes" ]] - then - /bin/echo -e "\e[1;32m |-| Install Mode (Debian) : Custom...Proceeding\e[0m" - /bin/echo -e "\e[1;32m |-| Enabling Sound (Debian) : .........Proceeding\e[0m" - else - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;31m ! You are running Debian 11 ! Please note that standard Mode !\e[0m" - /bin/echo -e "\e[1;31m ! will not allow you to perform remote connection against !\e[0m" - /bin/echo -e "\e[1;31m ! Gnome Desktop. This is a known Debian/xRDP issue !\e[0m" - /bin/echo -e "\e[1;31m ! Use custom install mode !\e[0m" - /bin/echo -e "\e[1;31m ! !\e[0m" - /bin/echo -e "\e[1;31m ! The script is exiting... !\e[0m" - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - echo - exit - fi - else - /bin/echo -e "\e[1;32m |-| Install Mode (Debian) : Check Done...Proceeding\e[0m" - fi - ;; - - *) - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;31m ! Your system is not running a supported version ! !\e[0m" - /bin/echo -e "\e[1;31m ! The script has been tested only on the following versions !\e[0m" - /bin/echo -e "\e[1;31m ! Ubuntu 18.04.x/20.04.x/22.04/21.10/Debian 10/11 !\e[0m" - /bin/echo -e "\e[1;31m ! The script is exiting... !\e[0m" - /bin/echo -e "\e[1;31m !--------------------------------------------------------------!\e[0m" - echo - exit - ;; -esac -echo -} - -#---------------------------------------------------# -# Function 1 - check xserver-xorg-core package.... -#---------------------------------------------------# - -check_hwe() -{ -#Release=$(lsb_release -sr) -echo -/bin/echo -e "\e[1;33m |-| Detecting xserver-xorg-core package installed \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-$Release 2>/dev/null) - -if [[ "$xorg_hwe_install_status" =~ \ installed$ ]] -then -# – hwe version is installed on the system -/bin/echo -e "\e[1;32m |-| xorg package version: xserver-xorg-core-hwe \e[0m" -HWE="yes" -elif [[ "$xorg_no_hwe_install_status" =~ \ installed$ ]] -then -/bin/echo -e "\e[1;32m |-| xorg package version: xserver-xorg-core \e[0m" -HWE="no" -else -/bin/echo -e "\e[1;31m |-| Error checking xserver-xorg-core flavour \e[0m" -exit 1 -fi -} - -#---------------------------------------------------# -# Function 2 - Version specific actions needed.... -#---------------------------------------------------# - -PrepOS() -{ -echo -/bin/echo -e "\e[1;33m |-| Custom actions based on OS Version.... \e[0m" - -#Debian Specific - add in source backport package to download necessary packages - Debian Specific -if [[ *"$version"* = *"Debian"* ]] -then -sudo sed -i 's/deb cdrom:/#deb cdrom:/' /etc/apt/sources.list -sudo apt-get update -sudo apt-get install -y software-properties-common -sudo apt-add-repository -s -y 'deb http://deb.debian.org/debian '$codename'-backports main' -sudo apt-get update - -#--Needed to be created manually or compilation fails -sudo mkdir /usr/local/lib/xrdp/ -fi -#--End Debian Specific --# - -#installing paclt tool because will be used to detect which sound server running....-Ubuntu 22.10 -if [[ *"$version"* = *"Ubuntu 22.10"* ]] -then -/bin/echo -e "\e[1;32m |-| Installing pulseaudio-utils...Proceeding... \e[0m" - sudo apt-get -y install pulseaudio-utils -fi - -## POP!OS Color #363533 -if [[ *"$version"* = *"Debian"* ]] -then - CustomPix="griffon_logo_xrdpd.bmp" - #CustomColor="27354D" - CustomColor="333333" -else - CustomPix="griffon_logo_xrdp.bmp" - #CustomColor="4F194C" - CustomColor="333333" -fi - -} - -############################################################################ -# INSTALLATION MODE : STANDARD -############################################################################ - -#---------------------------------------------------# -# Function 3 - Install xRDP Software.... -#---------------------------------------------------# - -install_xrdp() -{ -echo -/bin/echo -e "\e[1;33m |-| Installing xRDP packages \e[0m" -echo -if [[ $HWE = "yes" ]] && [[ "$version" = *"Ubuntu 18.04"* ]]; -then - sudo apt-get install xrdp -y - sudo apt-get install xorgxrdp-hwe-18.04 -else - sudo apt-get install xrdp -y - #sudo apt install gnome-shell-extension-manager -fi -} - -############################################################################ -# ADVANCED INSTALLATION MODE : CUSTOM INSTALLATION -############################################################################ - -#---------------------------------------------------# -# Function 4 - Install Prereqs... -#---------------------------------------------------# - -install_prereqs() { - -echo -/bin/echo -e "\e[1;33m |-| Installing prerequisites packages \e[0m" -echo - -#Install packages -sudo apt-get -y install git jq -sudo apt-get -y install libmp3lame-dev curl libfuse-dev libx11-dev libxfixes-dev libssl-dev libpam0g-dev libtool libjpeg-dev flex bison gettext autoconf libxml-parser-perl xsltproc libxrandr-dev python3-libxml2 nasm pkg-config git intltool checkinstall -echo - -#-- check if no error during Installation of missing packages -if [ $? -eq 0 ] -then -/bin/echo -e "\e[1;33m |-| Preprequesites installation successfully \e[0m" -else -echo -echo -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -/bin/echo -e "\e[1;31m ! Error while installing prereqs !\e[0m" -/bin/echo -e "\e[1;31m ! The Script is exiting.... !\e[0m" -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -exit -fi - -#-- check if hwe stack needed or not -if [ $HWE = "yes" ]; -then - # - xorg-hwe-* to be installed - /bin/echo -e "\e[1;32m |-| xorg package version: xserver-xorg-core-hwe-$Release \e[0m" - sudo apt-get install -y xserver-xorg-dev-hwe-$Release xserver-xorg-core-hwe-$Release -else - #-no-hwe - /bin/echo -e "\e[1;32m |-| xorg package version: xserver-xorg-core \e[0m" - echo - sudo apt-get install -y xserver-xorg-dev xserver-xorg-core -fi -} - -#---------------------------------------------------# -# Function 5 - Download XRDP Binaries... -#---------------------------------------------------# -get_binaries() { -echo -/bin/echo -e "\e[1;33m |-| Downloading xRDP Binaries...Proceeding \e[0m" -echo - -#cd ~/Downloads -Dwnload=$(xdg-user-dir DOWNLOAD) -cd $Dwnload - -#Check if xrdp folder already exists. if yes; delete it and download again in order to get latest version -if [ -d "$Dwnload/xrdp" ] -then - sudo rm -rf xrdp -fi - -#Check if xorgxrdp folder already exists. if yes; delete it and download again in order to get latest version -if [ -d "$Dwnload/xorgxrdp" ] -then - sudo rm -rf xorgxrdp -fi - -## -- Download the xrdp latest files -echo -/bin/echo -e "\e[1;32m |-| Downloading xRDP Binaries..... \e[0m" -echo -LastReleaseXrdp=$(curl --silent "https://api.github.com/repos/neutrinolabs/xrdp/releases/latest" | jq -r .tag_name) -git clone -b $LastReleaseXrdp https://github.com/neutrinolabs/xrdp.git --recursive - -echo -/bin/echo -e "\e[1;32m |-| Downloading xorgxrdp Binaries... \e[0m" -echo -LastReleaseXorgxrdp=$(curl --silent "https://api.github.com/repos/neutrinolabs/xorgxrdp/releases/latest" | jq -r .tag_name) -git clone -b $LastReleaseXorgxrdp https://github.com/neutrinolabs/xorgxrdp.git --recursive - -} - -#---------------------------------------------------# -# Function 6 - compiling xrdp... -#---------------------------------------------------# -compile_source() { -echo -/bin/echo -e "\e[1;33m |-| Compiling xRDP Binaries...Proceeding \e[0m" -echo - -#cd ~/Downloads/xrdp -cd $Dwnload/xrdp - -#Get the release version automatically -pkgver=$(git describe --abbrev=0 --tags | cut -dv -f2) - -sudo ./bootstrap -sudo ./configure --enable-fuse --enable-jpeg --enable-rfxcodec --enable-mp3lame --enable-vsock -sudo make - -#-- check if no error during compilation -if [ $? -eq 0 ] -then -echo -/bin/echo -e "\e[1;32m |-| Make Operation Completed successfully....xRDP \e[0m" -echo -else -echo -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -/bin/echo -e "\e[1;31m ! Error while Executing make !\e[0m" -/bin/echo -e "\e[1;31m ! The Script is exiting.... !\e[0m" -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -exit -fi -sudo checkinstall --pkgname=xrdp --pkgversion=$pkgver --pkgrelease=1 --default - -#xorgxrdp package compilation -echo -/bin/echo -e "\e[1;32m |-| Make Operation Completed successfully....xorgxrdp \e[0m" -echo - -#cd ~/Downloads/xorgxrdp -cd $Dwnload/xorgxrdp - -#Get the release version automatically -pkgver=$(git describe --abbrev=0 --tags | cut -dv -f2) - -sudo ./bootstrap -sudo ./configure -sudo make - -# check if no error during compilation -if [ $? -eq 0 ] -then -echo -/bin/echo -e "\e[1;33m |-| Compilation Completed successfully...Proceeding \e[0m" -echo -else -echo -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -/bin/echo -e "\e[1;31m ! Error while Executing make !\e[0m" -/bin/echo -e "\e[1;31m ! The Script is exiting.... !\e[0m" -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -exit -fi -sudo checkinstall --pkgname=xorgxrdp --pkgversion=1:$pkgver --pkgrelease=1 --default -} - -#---------------------------------------------------# -# Function 7 - create services .... -#---------------------------------------------------# -enable_service() { -echo -/bin/echo -e "\e[1;33m |-| Creating and configuring xRDP services \e[0m" -echo -sudo systemctl daemon-reload -sudo systemctl enable xrdp.service -sudo systemctl enable xrdp-sesman.service -sudo systemctl start xrdp - -} - -############################################################################ -# COMMON FUNCTIONS - WHATEVER INSTALLATION MODE - Version Specific !!! -############################################################################ - -#--------------------------------------------------------------------------# -# Function 8 - Install Tweaks Utilty if Gnome desktop used (Optional) .... # -#--------------------------------------------------------------------------# -install_tweak() -{ -echo -/bin/echo -e "\e[1;33m |-| Checking if Tweaks needs to be installed.... \e[0m" -if [[ "$DesktopVer" != *"GNOME"* ]] -then -/bin/echo -e "\e[1;32m |-| Gnome Tweaks not needed...Proceeding... \e[0m" -echo -else -/bin/echo -e "\e[1;32m |-| Installing Gnome Tweaks Utility...Proceeding... \e[0m" -echo - #sudo apt-get install gnome-tweak-tool -y (old name) - sudo apt-get install gnome-tweaks -y -fi -} - -#--------------------------------------------------------------------# -# Fucntion 9 - Allow console Access ....(seems optional in u18.04) -#--------------------------------------------------------------------# - -allow_console() -{ -echo -/bin/echo -e "\e[1;33m |-| Configuring Allow Console Access... \e[0m" -echo -# Checking if Xwrapper file exists -if [ -f /etc/X11/Xwrapper.config ] -then -sudo sed -i 's/allowed_users=console/allowed_users=anybody/' /etc/X11/Xwrapper.config -else - sudo bash -c "cat >/etc/X11/Xwrapper.config" </etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla" </etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla" </etc/polkit-1/localauthority/50-local.d/47-allow-networkd.pkla" < ~/.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 -elif [[ "$DesktopVer" == *"XFCE"* ]] || [[ "$DesktopVer" == *"cinnamon"* ]] -then -sudo sed -i "4 a #Improved Look n Feel Method\ncat < ~/.xsessionrc\nexport GDMSESSION=$GDMSess\nexport XDG_CURRENT_DESKTOP=$DesktopVer\nexport XDG_DATA_DIRS=$ConfDir\nEOF\n" /etc/xrdp/startwm.sh -else -sudo sed -i "4 a #Improved Look n Feel Method\ncat < ~/.xsessionrc\nexport GNOME_SHELL_SESSION_MODE=$SessionVer\nexport XDG_CURRENT_DESKTOP=$DesktopVer\nexport XDG_DATA_DIRS=$ConfDir\nEOF\n" /etc/xrdp/startwm.sh -fi -echo - -#---------------------------------------------------# -# Hiero Contribution !! Code & Idea ! Thank you Hiero -#---------------------------------------------------# -echo -/bin/echo -e "\e[1;33m |-| Enable Warning Msg multi-connections.... \e[0m" -echo - -# Warning Message if locally logged user tries to perform a remote desktop connection -sudo sed -i "11 a #Check if user already logged in.\nif [ -n \"""$\(loginctl session-status $\(loginctl show-user $\USER | sed -n -e \"""s/Sessions=//p\""") | grep Leader: | grep -E \"""\gdm|sddm|lightdm\""")\""" ];\nthen\nprintf \"""You are locally logged on.\\\nTo Remote Connect, logout from local session first.\""" | xmessage -title Warning -buttons Exit -default Exit:1 -center -fg gold -bg black -fn \"""-*-*-*-r-*--0-250-0-0-p-*-iso8859-1\""" -file - \nexit 1 \nfi\n" /etc/xrdp/startwm.sh - -} - -#---------------------------------------------------# -# Function 12 - Enable Sound Redirection .... -#---------------------------------------------------# -enable_sound() -{ -echo -/bin/echo -e "\e[1;33m |-| Enabling Sound Redirection.... \e[0m" -echo - -pulsever=$(pulseaudio --version | awk '{print $2}') - -/bin/echo -e "\e[1;32m |-| Install additional packages.. \e[0m" - -# Version Specific - adding source and correct pulseaudio version for Debian !!! -if [[ *"$version"* = *"Debian"* ]] -then -# Step 0 - Install Some PreReqs -/bin/echo -e "\e[1;32m |-| Install dev tools used to compile sound modules.. \e[0m" -echo -sudo apt-get install libconfig-dev -y -sudo apt-get install git libpulse-dev autoconf m4 intltool build-essential dpkg-dev libtool libsndfile-dev libcap-dev libjson-c-dev -y -sudo apt build-dep pulseaudio -y -elif [[ *"$version"* = *"Mint"* ]]; then -# Step 0 - Install Some PreReqs -echo -/bin/echo -e "\e[1;32m |-| Enabling Sources Repository for Linux Mint.. \e[0m" -echo -sudo bash -c "cat >/etc/apt/sources.list.d/official-source-repositories.list" <15.0, then meson tools will be used (new) - sudo meson --prefix=$PulsePath build - # sudo ninja -C build install - not needed and break sound redirection - Thanks to Hiero for spotting it :) - fi - -# step 5 - Create xrdp sound modules -cd /tmp -/bin/echo -e "\e[1;32m |-| Compiling and building xRDP Sound modules... \e[0m" -git clone https://github.com/neutrinolabs/pulseaudio-module-xrdp.git -cd pulseaudio-module-xrdp -./bootstrap -./configure PULSE_DIR=$PulsePath -make -#this will install modules in /usr/lib/pulse* directory -sudo make install - -#-- check if no error during compilation -if [ $? -eq 0 ] -then -echo -/bin/echo -e "\e[1;32m |-| Make Operation Completed successfully....xRDP Sound \e[0m" -echo -else -echo -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -/bin/echo -e "\e[1;31m ! Error while Executing compilation !\e[0m" -/bin/echo -e "\e[1;31m ! Sound Redirection failed... !\e[0m" -/bin/echo -e "\e[1;31m ! The Script is exiting.... !\e[0m" -/bin/echo -e "\e[1;31m !---------------------------------------------!\e[0m" -exit -fi - - -} - -#---------------------------------------------------# -# Function 13 - Custom xRDP Login Screen .... -#---------------------------------------------------# -custom_login() -{ - -echo -/bin/echo -e "\e[1;33m |-| Customizing xRDP login screen \e[0m" -Dwnload=$(xdg-user-dir DOWNLOAD) -cd $Dwnload - -#Check if script has run once... -if [ -f /etc/xrdp/xrdp.ini.griffon ] -then -sudo rm /etc/xrdp/xrdp.ini -sudo mv /etc/xrdp/xrdp.ini.griffon /etc/xrdp/xrdp.ini -fi - -#Backup file -sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.griffon - -#chek if file exists if not - download it.... -if [ -f "$CustomPix" ] -then - /bin/echo -e "\e[1;32m |-| necessary file already available...skipping \e[0m" -else - /bin/echo -e "\e[1;32m |-| Downloading additional file...: logo_xrdp image \e[0m" - wget https://www.c-nergy.be/downloads/"$CustomPix" -fi - -#Check where to copy the logo file -if [ -d "/usr/local/share/xrdp" ] -then - echo - 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 -else - 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 -fi - - -sudo sed -i 's/blue=009cb5/blue=dedede/' /etc/xrdp/xrdp.ini -sudo sed -i 's/#white=ffffff/white=dedede/' /etc/xrdp/xrdp.ini -sudo sed -i 's/#ls_title=My Login Title/ls_title=Remote Desktop for Linux/' /etc/xrdp/xrdp.ini -sudo sed -i "s/ls_top_window_bg_color=009cb5/ls_top_window_bg_color=$CustomColor/" /etc/xrdp/xrdp.ini -sudo sed -i 's/ls_bg_color=dedede/ls_bg_color=ffffff/' /etc/xrdp/xrdp.ini -sudo sed -i 's/ls_logo_x_pos=55/ls_logo_x_pos=0/' /etc/xrdp/xrdp.ini -sudo sed -i 's/ls_logo_y_pos=50/ls_logo_y_pos=5/' /etc/xrdp/xrdp.ini -} - -#---------------------------------------------------# -# Function 14 - Fix SSL Minor Issue .... -#---------------------------------------------------# -fix_ssl() -{ -echo -/bin/echo -e "\e[1;33m |-| Fixing SSL Permissions settings... \e[0m" -echo -if ! id -u xrdp > /dev/null 2>&1; then - echo "The user does not exist; Do Nothing:" -else - if id -Gn xrdp | grep ssl-cert - then - /bin/echo -e "\e[1;32m !--xrdp already member ssl-cert...Skipping ---!\e[0m" - else - sudo adduser xrdp ssl-cert - fi -fi - - -} - -#---------------------------------------------------# -# Function 15 - Fixing env variables in XRDP .... -#---------------------------------------------------# -fix_env() -{ -echo -/bin/echo -e "\e[1;33m |-| Fixing xRDP env Variables... \e[0m" -echo -#Add this line to /etc/pam.d/xrdp-sesman if not present -if grep -Fxq "session required pam_env.so readenv=1 user_readenv=0" /etc/pam.d/xrdp-sesman - then - echo "Env settings already set" - else - sudo sed -i '1 a session required pam_env.so readenv=1 user_readenv=0' /etc/pam.d/xrdp-sesman - fi -} - -#---------------------------------------------------# -# Function 17 - Removing XRDP Packages .... -#---------------------------------------------------# -remove_xrdp() -{ -echo -/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m" -/bin/echo -e "\e[1;33m ! Removing xRDP Packages... !\e[0m" -/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m" -echo - -#remove the xrdplog file created by the script -sudo rm /etc/xrdp/xrdp-installer-check.log - -#----remove xrdp package -sudo systemctl stop xrdp -sudo systemctl disable xrdp -sudo apt-get autoremove xrdp -y -sudo apt-get purge xrdp -y - -#---remove xorgxrdp -sudo systemctl stop xorgxrdp -sudo systemctl disable xorgxrdp - -if [[ $HWE = "yes" ]] && [[ "$version" = *"Ubuntu 18.04"* ]]; -then - sudo apt-get autoremove xorgxrdp-hwe-18.04 -y - sudo apt-get purge xorgxrdp-hwe-18.04 -y -else - sudo apt-get autoremove xorgxrdp -y - sudo apt-get purge xorgxrdp -y -fi - -#---Cleanup files - -#Remove xrdp folder -if [ -d "$Dwnload/xrdp" ] -then - sudo rm -rf xrdp -fi - -#Remove xorgxrdp folder -if [ -d "$Dwnload/xorgxrdp" ] -then - sudo rm -rf xorgxrdp -fi - -#Remove custom xrdp logo file -if [ -f "$Dwnload/$CustomPix" ] -then - sudo rm -f "$Dwnload/$CustomPix" -fi - -sudo systemctl daemon-reload - -} - -sh_credits() -{ -echo -/bin/echo -e "\e[1;36m !----------------------------------------------------------------!\e[0m" -/bin/echo -e "\e[1;36m ! Installation Completed...Please test your xRDP configuration !\e[0m" -/bin/echo -e "\e[1;36m ! If Sound option selected, shutdown your machine completely !\e[0m" -/bin/echo -e "\e[1;36m ! start it again to have sound working as expected !\e[0m" -/bin/echo -e "\e[1;36m ! !\e[0m" -/bin/echo -e "\e[1;36m ! Credits : Written by Griffon - Jan 2023 !\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" -echo -} - - -#---------------------------------------------------# -# SECTION FOR OPTIMIZING CODE USAGE... # -#---------------------------------------------------# - -install_common() -{ -install_tweak -allow_console -create_polkit -fix_theme -fix_ssl -fix_env -} - -install_custom() -{ -install_prereqs -get_binaries -compile_source -enable_service - -} - -#--------------------------------------------------------------------------# -# -----------------------END Function Section -----------------# -#--------------------------------------------------------------------------# - -#--------------------------------------------------------------------------# -#------------ MAIN SCRIPT SECTION -------------------# -#--------------------------------------------------------------------------# - - -#----------------------------------------------------------# -# Step 0 -Detecting if Parameters passed to script .... # -#----------------------------------------------------------# -for arg in "$@" -do - #Help Menu Requested - if [ "$arg" == "--help" ] || [ "$arg" == "-h" ] - then - echo "Usage Syntax and Examples" - echo - echo " --custom or -c custom xRDP install (compilation from sources)" - echo " --loginscreen or -l customize xRDP login screen" - echo " --remove or -r removing xRDP packages" - echo " --sound or -s enable sound redirection in xRDP" - echo - echo "example " - echo - echo " ./xrdp-installer-$ScriptVer.sh -c -s custom install with sound redirection" - echo " ./xrdp-installer-$ScriptVer.sh -l standard install with custom login screen" - echo " ./xrdp-installer-$ScriptVer.sh standard install no additional features" - echo - exit - fi - - if [ "$arg" == "--sound" ] || [ "$arg" == "-s" ] - then - fixSound="yes" - fi - - if [ "$arg" == "--loginscreen" ] || [ "$arg" == "-l" ] - then - fixlogin="yes" - fi - - if [ "$arg" == "--custom" ] || [ "$arg" == "-c" ] - then - adv="yes" - fi - - if [ "$arg" == "--remove" ] || [ "$arg" == "-r" ] - then - removal="yes" - fi -done - -#--------------------------------------------------------------------------------# -#-- Step 0 - Check that the script is run as normal user and not as root.... -#-------------------------------------------------------------------------------# - -if [[ $EUID -ne 0 ]]; then - /bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;36m ! Standard user detected....Proceeding.... !\e[0m" - /bin/echo -e "\e[1;36m !-------------------------------------------------------------!\e[0m" -else - echo - /bin/echo -e "\e[1;31m !-------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;31m ! Script launched with sudo command. Script will not run... !\e[0m" - /bin/echo -e "\e[1;31m ! Run script a standard user account (no sudo). When needed !\e[0m" - /bin/echo -e "\e[1;31m ! script will be prompted for password during execution !\e[0m" - /bin/echo -e "\e[1;31m ! !\e[0m" - /bin/echo -e "\e[1;31m ! Exiting Script - No Install Performed !!! !\e[0m" - /bin/echo -e "\e[1;31m !-------------------------------------------------------------!\e[0m" - echo - #sh_credits - exit -fi - -#---------------------------------------------------# -#-- Step 1 - Try to Detect Ubuntu Version.... # -#---------------------------------------------------# - -check_os - -#--------------------------------------------------------# -#-- Step 2 - Try to detect if HWE Stack needed or not....# -#--------------------------------------------------------# - -check_hwe - -#--------------------------------------------------------------------------------# -#-- Step 3 - Check if Removal Option Selected -#--------------------------------------------------------------------------------# - -if [ "$removal" = "yes" ]; -then - remove_xrdp - echo - sh_credits - exit -fi - -#--------------------------------------------------------------------------------------- -#- Detect Standard vs custom install mode and additional options... -#---------------------------------------------------------------------------------------- - - if [ "$adv" = "yes" ]; - then - echo - /bin/echo -e "\e[1;33m |-| custom installation mode detected. \e[0m" - /bin/echo -e "\e[1;32m |-| Previous Install Mode... : $modetype \e[0m" - - if [ $modetype = "custom" ]; - then - /bin/echo -e "\e[1;36m |-| xrdp already installed - custom mode....skipping xrdp install \e[0m" - PrepOS - elif [ $modetype = "standard" ]; - then - /bin/echo -e "\e[1;31m |-| Cannot Mix Std vs Custom Install Mode....skipping xrdp install \e[0m" - - else - /bin/echo -e "\e[1;36m |-| Proceed custom xrdp installation packages and customization tasks \e[0m" - PrepOS - install_custom - install_common - - #create the file used a detection method - sudo touch /etc/xrdp/xrdp-installer-check.log - sudo bash -c 'echo "custom" >/etc/xrdp/xrdp-installer-check.log' - fi - - else - echo - /bin/echo -e "\e[1;33m |-| Additional checks Std vs Custom Mode.. \e[0m" - /bin/echo -e "\e[1;32m |-| Previous Install Mode... : $modetype \e[0m" - if [ $modetype = "standard" ]; - then - /bin/echo -e "\e[1;35m |-| xrdp already installed - standard mode....skipping install \e[0m" - PrepOS - elif [ $modetype = "custom" ] - then - /bin/echo -e "\e[1;31m |-| Cannot Mix Std vs Custom Install Mode....skipping xrdp install " - else - /bin/echo -e "\e[1;32m |-| Proceed standard xrdp installation packages and customization tasks \e[0m" - PrepOS - install_xrdp - install_common - - #create the file - sudo touch /etc/xrdp/xrdp-installer-check.log - sudo bash -c 'echo "standard" >/etc/xrdp/xrdp-installer-check.log' - fi - fi #end if Adv option - -#--------------------------------------------------------------------------------------- -#- Check for Additional Options selected -#---------------------------------------------------------------------------------------- - -if [ "$fixlogin" = "yes" ]; -then - echo - custom_login -fi - - -if [ "$fixSound" = "yes" ]; -then -#Code to check if pipewire or PulseAudio...if Pipewire...Exit -SndServer=$(pactl info | grep "Server Name" | cut -d: -f2) - if [[ "$SndServer" = *"PipeWire"* ]]; - then - echo - /bin/echo -e "\e[1;31m !----------------------------------------------------------------!\e[0m" - /bin/echo -e "\e[1;31m ! WARNING - WARNING - WARNING - WARNING !\e[0m" - /bin/echo -e "\e[1;31m ! !\e[0m" - /bin/echo -e "\e[1;31m ! Pipewire is not supported with xRDP Sound Redirection... !\e[0m" - /bin/echo -e "\e[1;31m ! !! Sound Redirection will not be configured Configured.!! !\e[0m" - /bin/echo -e "\e[1;31m ! !\e[0m" - /bin/echo -e "\e[1;31m !----------------------------------------------------------------!\e[0m" - echo - else - - enable_sound - fi -fi - - - - -#--------------------------------------------------------------------------------------- -#- show Credits and finishing script -#--------------------------------------------------------------------------------------- - -sh_credits - - - - - - - diff --git a/xrdp-linuxdesktop/xrdp.txt b/xrdp-linuxdesktop/xrdp.txt deleted file mode 100644 index 73c47ce..0000000 --- a/xrdp-linuxdesktop/xrdp.txt +++ /dev/null @@ -1,12 +0,0 @@ -https://c-nergy.be/blog/?p=18918 - -https://www.c-nergy.be/products.html -wget https://www.c-nergy.be/downloads/xRDP/xrdp-installer-1.4.7.zip -unzip xrdp-installer-1.4.7.zip -chmod +x ~/Downloads/xrdp-installer-1.4.7.sh ---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) -