mirror of
https://github.com/microsoft/linux-vm-tools
synced 2025-09-04 16:35:36 +00:00
Compare commits
2 Commits
Author | SHA1 | Date | |
---|---|---|---|
94a8fcd02c | |||
b68432dbd7 |
111
debian/12/install.sh
vendored
Normal file
111
debian/12/install.sh
vendored
Normal file
@@ -0,0 +1,111 @@
|
||||
#!/bin/bash
|
||||
|
||||
#
|
||||
# This script is for Debian 12 Bookworm to download and install XRDP.
|
||||
#
|
||||
# Major thanks to: http://c-nergy.be/blog/?p=11336 for the tips.
|
||||
#
|
||||
|
||||
###############################################################################
|
||||
# Use HWE kernel packages
|
||||
#
|
||||
HWE=""
|
||||
#HWE="-hwe-18.04"
|
||||
|
||||
###############################################################################
|
||||
# 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 hv_kvp utils
|
||||
# Not available on Debian 12.
|
||||
#apt install -y linux-tools-virtual${HWE}
|
||||
#apt install -y linux-cloud-tools-virtual${HWE}
|
||||
|
||||
# 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/use_vsock=false/use_vsock=true/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 Debian session properly
|
||||
# Tested on Debian 12, should work for at least GNOME and KDE now (probably more).
|
||||
# See https://wiki.archlinux.org/title/Environment_variables#Examples
|
||||
source /etc/os-release
|
||||
if [ ! -e /etc/xrdp/startdebian.sh ]; then
|
||||
cat >> /etc/xrdp/startdebian.sh << EOF
|
||||
#!/bin/sh
|
||||
export GNOME_SHELL_SESSION_MODE=$ID
|
||||
export XDG_CURRENT_DESKTOP=$ID:$XDG_CURRENT_DESKTOP
|
||||
exec /etc/xrdp/startwm.sh
|
||||
EOF
|
||||
chmod a+x /etc/xrdp/startdebian.sh
|
||||
fi
|
||||
|
||||
# use the script to setup the Debian 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
|
||||
cat >> /etc/modprobe.d/blacklist_vmw_vsock_vmci_transport.conf <<EOF
|
||||
blacklist vmw_vsock_vmci_transport
|
||||
EOF
|
||||
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 "Reboot your machine to begin using XRDP."
|
Reference in New Issue
Block a user