Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-15-SP2:Update
xrdp
xrdp-bsc965647-allow-admin-choose-desktop.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File xrdp-bsc965647-allow-admin-choose-desktop.patch of Package xrdp
Index: xrdp-0.9.13.1/sesman/startwm.sh =================================================================== --- xrdp-0.9.13.1.orig/sesman/startwm.sh +++ xrdp-0.9.13.1/sesman/startwm.sh @@ -7,34 +7,82 @@ # exec xterm -# Execution sequence for interactive login shell - pseudocode -# -# IF /etc/profile is readable THEN -# execute ~/.bash_profile -# END IF -# IF ~/.bash_profile is readable THEN -# execute ~/.bash_profile -# ELSE -# IF ~/.bash_login is readable THEN -# execute ~/.bash_login -# ELSE -# IF ~/.profile is readable THEN -# execute ~/.profile -# END IF -# END IF -# END IF +#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 [ -r /etc/profile ]; then + if [ -f /etc/profile ] + then . /etc/profile fi - if [ -r ~/.bash_profile ]; then + if [ -f ~/.bash_profile ] + then . ~/.bash_profile else - if [ -r ~/.bash_login ]; then + if [ -f ~/.bash_login ] + then . ~/.bash_login else - if [ -r ~/.profile ]; then + if [ -f ~/.profile ] + then . ~/.profile fi fi @@ -42,56 +90,20 @@ pre_start() return 0 } -# When loging out from the interactive shell, the execution sequence is: -# -# IF ~/.bash_logout exists THEN -# execute ~/.bash_logout -# END IF +#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 [ -r ~/.bash_logout ]; then + if [ -f ~/.bash_logout ] + then . ~/.bash_logout fi return 0 } -#start the window manager -wm_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 -} - #. /etc/environment #export PATH=$PATH #export LANG=$LANG @@ -106,6 +118,8 @@ wm_start() # includes # auth required pam_env.so readenv=1 +pre_start wm_start +post_start exit 1
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor