-
-
Save ikr4-m/67023682f949c2c22b0e51d0acb68b05 to your computer and use it in GitHub Desktop.
| #!/bin/sh | |
| # This script based on linux-vm-tools for Ubuntu 22.02. | |
| # Thanks to https://github.com/Hinara/linux-vm-tools/ to script | |
| # This script is for Ubuntu 22.04 Jammy Jellyfish to download and install XRDP+XORGXRDP via | |
| # source. | |
| # | |
| # Major thanks to: http://c-nergy.be/blog/?p=11336 for the tips. | |
| # | |
| ############################################################################### | |
| # Update our machine to the latest code if we need to. | |
| # | |
| if [ "$(id -u)" -ne 0 ]; then | |
| echo 'This script must be run with root privileges' >&2 | |
| exit 1 | |
| fi | |
| apt update && apt upgrade -y | |
| if [ -f /var/run/reboot-required ]; then | |
| echo "A reboot is required in order to proceed with the install." >&2 | |
| echo "Please reboot and re-run this script to finish the install." >&2 | |
| exit 1 | |
| fi | |
| ############################################################################### | |
| # XRDP | |
| # | |
| # Install the xrdp service so we have the auto start behavior | |
| apt install -y xrdp | |
| systemctl stop xrdp | |
| systemctl stop xrdp-sesman | |
| # Configure the installed XRDP ini files. | |
| # use vsock transport. | |
| sed -i_orig -e 's/port=3389/port=vsock:\/\/-1:3389/g' /etc/xrdp/xrdp.ini | |
| # use rdp security. | |
| sed -i_orig -e 's/security_layer=negotiate/security_layer=rdp/g' /etc/xrdp/xrdp.ini | |
| # remove encryption validation. | |
| sed -i_orig -e 's/crypt_level=high/crypt_level=none/g' /etc/xrdp/xrdp.ini | |
| # disable bitmap compression since its local its much faster | |
| sed -i_orig -e 's/bitmap_compression=true/bitmap_compression=false/g' /etc/xrdp/xrdp.ini | |
| # Add script to setup the ubuntu session properly | |
| if [ ! -e /etc/xrdp/startdebian.sh ]; then | |
| cat >> /etc/xrdp/startdebian.sh << EOF | |
| #!/bin/sh | |
| # If you not using GNOME, remove GNOME_SHELL_SESSION_MODE. | |
| export GNOME_SHELL_SESSION_MODE=debian | |
| # Change the XDG_CURRENT_DESKTOP with your default DE/WM | |
| export XDG_CURRENT_DESKTOP=debian:GNOME | |
| exec /etc/xrdp/startwm.sh | |
| EOF | |
| chmod a+x /etc/xrdp/startdebian.sh | |
| fi | |
| # use the script to setup the ubuntu session | |
| sed -i_orig -e 's/startwm/startdebian/g' /etc/xrdp/sesman.ini | |
| # rename the redirected drives to 'shared-drives' | |
| sed -i -e 's/FuseMountName=thinclient_drives/FuseMountName=shared-drives/g' /etc/xrdp/sesman.ini | |
| # Changed the allowed_users | |
| sed -i_orig -e 's/allowed_users=console/allowed_users=anybody/g' /etc/X11/Xwrapper.config | |
| # Blacklist the vmw module | |
| if [ ! -e /etc/modprobe.d/blacklist-vmw_vsock_vmci_transport.conf ]; then | |
| echo "blacklist vmw_vsock_vmci_transport" > /etc/modprobe.d/blacklist-vmw_vsock_vmci_transport.conf | |
| fi | |
| #Ensure hv_sock gets loaded | |
| if [ ! -e /etc/modules-load.d/hv_sock.conf ]; then | |
| echo "hv_sock" > /etc/modules-load.d/hv_sock.conf | |
| fi | |
| # Configure the policy xrdp session | |
| cat > /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla <<EOF | |
| [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 | |
| EOF | |
| # reconfigure the service | |
| systemctl daemon-reload | |
| systemctl start xrdp | |
| # | |
| # End XRDP | |
| ############################################################################### | |
| echo "Install is complete." | |
| echo "Please turn off your VM Machine and execute 'Set-VM \"Debian\" -EnhancedSessionTransportType HvSocket' in PowerShell Admin and turn on again your VM Machine" |
Works on Debian 12, many thanks :)
Works on my vm Debian 12 too
thanks a lot master
Still works !! (Win11 - Debian 12)
Debian Trixie:
`
saving to /etc/xrdp/rsakeys.ini
Created symlink '/etc/systemd/system/multi-user.target.wants/xrdp-sesman.service' → '/usr/lib/systemd/system/xrdp-sesman.service'.
Created symlink '/etc/systemd/system/multi-user.target.wants/xrdp.service' → '/usr/lib/systemd/system/xrdp.service'.
Setting up xorg (1:7.7+24) ...
Processing triggers for libc-bin (2.41-12) ...
Processing triggers for man-db (2.13.1-1) ...
Processing triggers for fontconfig (2.15.0-2.3) ...
./installEnhancedSession.sh: 83: cannot create /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla: Directory nonexistent
Install is complete.
Please turn off your VM Machine and execute 'Set-VM "Debian" -EnhancedSessionTransportType HvSocket' in PowerShell Admin and turn on again your VM Machine
`
There's no /etc/polkit-1/localauthority. There is a /etc/polkit/rules.d, but I had to su to be able to access it, sudo wouldn't work. The rules.d directory is empty.
However, that said, according to: https://manpages.debian.org/trixie/polkitd/polkit.8.en.html it should be in the rules.d directory.
rules.d is owned by root, group polkitd with the permissions 750.
I manually created 45-allow-colord.pkla. I'll let you know if it doesn't work.
FYI - running LXQt, which also affect things.
Tested in Kali and Parrot. It works. Thank you.