Just install the current version of Leap Build 38.1 on a Hyper-V VM and using Windows RDP to successfully connect and log in, but It’s the xterm desktop and I was expecting the KDE desktop like before with Build 24.5. How do I make the changes to this?
I’m not sure what you mean by “Xterm desktop”. Is that your own name for the Icewm desktop?
You probably made a mistaken selection during install, and perhaps went with what the installer calls “Generic Desktop”.
Fire up Yast Software Management. Select the “Patterns View” and install the KDE patterns. And then you might have to select that when you next login.
Hi,
The desktop that get’s started with XRDP is not determined in the same way as a console session. It is started using the script in /etc/xrdp/startwm.sh.
There are multiple versions about depending on where it comes from and I run a heavily customised version.
if you look at the function wm_start() in that file (assumes it is there!) you will see what’s happening. It tries to work out the right desktop session to start depending on the OS on several versions I have come across. If none of the tests are met it drops into a simple xterm window which is what I suspect you are getting.
If you can’t figure it out just post the contents of that file and I’ll see what your current version is doing.
Thanks for your help, I don’t know exactly what I did to get it to work but,
- I turned on the xrdp-sesman,
- added me to serveral groups (audio, cdrom, disk, ftp, flatpak, gdm, lightdm, mysql, nm-openconnect, nm-openvpn, ntadmin, pulse, pulse-access, render, sddm, sshd, system-(coredump, journal, network, resolve), tape, video, vnc).
would you verify any of these settings that actually worked so I may know next time I do an install? Also I installed gnome (Basic, X11), Cinnamon and MATE, but it defaulted to gnome but I want KDE.
One moment while I get that output of that file…
Here is the file contents:
#!/usr/bin/env bash
#
# This script is an example. You might need to edit this script
# depending on your distro if it doesn't work for you.
#
# Uncomment the following line for debug:
# exec xterm
#start the window manager
wm_start()
{
#To customize system-wise session, edit this file.
#To customize user specific session, copy this file to $HOME and edit it.
#Please refer to DefaultWindowManager and UserWindowManager in /etc/xrdp/sesman.ini for more details.
#The default session is gnome (GNOME Session)
#sle means SLE-Classic Session
SESSION="gnome"
case $SESSION in
sle)
if -r /usr/bin/gnome-session ]; then
export XDG_SESSION_TYPE=x11
export GNOME_SHELL_SESSION_MODE=sle-classic
/usr/bin/gnome-session --session gnome-classic
elif -r /usr/bin/icewm-session ]; then
/usr/bin/icewm-session
fi
;;
gnome)
if -r /usr/bin/gnome-session ]; then
export XDG_SESSION_TYPE=x11
/usr/bin/gnome-session
elif -r /usr/bin/icewm-session ]; then
/usr/bin/icewm-session
fi
;;
plasma)
if -r /usr/bin/startplasma-x11 ]; then
export XDG_SESSION_TYPE=x11
/usr/bin/startplasma-x11
elif -r /usr/bin/icewm-session ]; then
/usr/bin/icewm-session
fi
;;
icewm)
if -r /usr/bin/icewm-session ]; then
/usr/bin/icewm-session
fi
;;
esac
}
#Execution sequence for interactive login shell
#Following pseudo code explains the sequence of execution of these files.
#execute /etc/profile
#IF ~/.bash_profile exists THEN
# execute ~/.bash_profile
#ELSE
# IF ~/.bash_login exist THEN
# execute ~/.bash_login
# ELSE
# IF ~/.profile exist THEN
# execute ~/.profile
# END IF
# END IF
#END IF
pre_start()
{
if -f /etc/profile ]
then
. /etc/profile
fi
if -f ~/.bash_profile ]
then
. ~/.bash_profile
else
if -f ~/.bash_login ]
then
. ~/.bash_login
else
if -f ~/.profile ]
then
. ~/.profile
fi
fi
fi
return 0
}
#When you logout of the interactive shell, following is the
#sequence of execution:
#IF ~/.bash_logout exists THEN
# execute ~/.bash_logout
#END IF
post_start()
{
if -f ~/.bash_logout ]
then
. ~/.bash_logout
fi
return 0
}
#. /etc/environment
#export PATH=$PATH
#export LANG=$LANG
# change PATH to be what your environment needs usually what is in
# /etc/environment
#PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
#export PATH=$PATH
# for PATH and LANG from /etc/environment
# pam will auto process the environment file if /etc/pam.d/xrdp-sesman
# includes
# auth required pam_env.so readenv=1
pre_start
wm_start
post_start
exit 1
It looks the first condition being met before checking the others, so I need to put KDE first right?
I did not study the syntax very well, its the variable SESSION=“gnome” I had to change to plasma. Ok, now I have to get the default theme of KDE’s fonts and icons working, how is that done?
UPDATE: I just re-applied the theme by switch on / off setting/ selecting another theme and back, but the changes do not remain in affect after logging out. How do you fix this?
I did a fresh install and just change the xdrp SESSION=“plasma” variable and everything is Nice!..
Thanks for your help!..
OK, glad you worked it all out and it’s all working now.
There are many versions of /etc/xrdp/startwm.sh and I am not sure which ones come from which repositories.
For reference my Leap 15.3 looks like this:
#start the window managerwm_start()
{
if -r /etc/default/locale ]; then
. /etc/default/locale
export LANG LANGUAGE
fi
# debian
if -r /etc/X11/Xsession ]; then
pre_start
. /etc/X11/Xsession
post_start
exit 0
fi
# el
if -r /etc/X11/xinit/Xsession ]; then
pre_start
. /etc/X11/xinit/Xsession
post_start
exit 0
fi
# suse
if -r /etc/X11/xdm/Xsession ]; then
# since the following script run a user login shell,
# do not execute the pseudo login shell scripts
. /etc/X11/xdm/Xsession
exit 0
fi
pre_start
xterm
post_start