-
-
Save patrickceg/e4b9b645ce14a3b16ff4989be2caad86 to your computer and use it in GitHub Desktop.
Enhanced Session for Kali Linux.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Original : https://raw.githubusercontent.com/Microsoft/linux-vm-tools/master/arch/install-config.sh | |
############################################################################### | |
# 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 | |
############################################################################### | |
# Install XRDP | |
# | |
apt install -y xrdp | |
############################################################################### | |
# Configure XRDP | |
# | |
systemctl enable xrdp | |
systemctl enable 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 | |
sed -n -e 's/max_bpp=32/max_bpp=24/g' /etc/xrdp/xrdp.ini | |
sed -i_orig -e 's/X11DisplayOffset=10/X11DisplayOffset=0/g' /etc/xrdp/sesman.ini | |
# Use vsock listener | |
sed -i_orig -e 's,port=3389,port=vsock://-1:3389,g' /etc/xrdp/xrdp.ini | |
# rename the redirected drives to 'shared-drives' | |
sed -i_orig -e 's/FuseMountName=thinclient_drives/FuseMountName=shared-drives/g' /etc/xrdp/sesman.ini | |
# Change the allowed_users | |
echo "allowed_users=anybody" > /etc/X11/Xwrapper.config | |
#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 | |
############################################################################### | |
# .xinitrc has to be modified manually. | |
# | |
#echo "exec gnome-session" > ~/.xinitrc | |
echo "exec startxfce4" > ~/.xinitrc # thanks @rasschaert and @patrickceg. | |
echo "You will have to configure .xinitrc to start your windows manager, see https://wiki.archlinux.org/index.php/Xinit" | |
echo "Reboot your machine to begin using XRDP." |
I found a solution editing xrdp.ini and changing the port value to this:
port=vsock://-1:3389
That makes it work in Kali with Xfce
Im using the gnome display and after i made the change in /etc/xrdp/xrdp.ini
suggested by @nathanVader. I was able to get the slider to connect from HyperV and get the xrdp connect screen but after i input my username and password i get this message.
The enhanced session button is now active but i am unable to use it due to ^. Any Ideas?
does sessman.ini
and xrdp.ini
listen on the same port?
In Kali with Xfce works well. It seems a different problem with Gnome environment... I'm looking for a solution...
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hmm I noticed there's updates to xrdp with updates to both .ini files, so I wonder if the newest Kali broke something.
EDIT: Confirmed after updates mine's broken in the same way. ...yay it's debugging time... The first thing I noticed is the update overwrote both /etc/xrdp/xrdp.ini and /etc/xrdp/sesman.ini so it would be useful to see what's changed in those.
EDIT 2: Also the error "address already in use" is not referring to IP address / port because there is nothing listening on port 3389 on my system. Therefore it's more likely referring to a "address" for a graphical system (like how VNC sessions have IDs :1, :2, etc). That's just speculation though; essentially it's just that xrdp is now crashing on startup.