Skip to content

[Feature request] Allow for restricted alternate shells #3624

@matt335672

Description

@matt335672

This feature request has been prompted by discussion #3621.

At the moment, alternate shells can be specified by the user, to replace /etc/xrdp/startwm.sh, provided the configuration variable AllowAlternateShell is set to true. This allows users to run any script of their choosing, but also allows them to bypass any setup configurations which the system manager may have added to /etc/xrdp/startwm.sh

The proposal is to add an additional config variable PassShellAsEnv to go with AllowAlternateShell:

; If this is set, alternate shells are not actioned directly, but passed in to the default window manager
; in the specified environment variable. 
#PassShellAsEnv=XRDP_ALTERNATE_SHELL

With that set, within /etc/xrdp/startwm.sh the system manager can configure something like the following (as an example):-

   case "$XRDP_ALTERNATE_SHELL"
        '' | gnome)
            # Perform GNOME setup
            ;;
        kde)
            # Perform KDE setup
            ;;
        *)     zenity --error --text="Unrecognised shell option '$XRDP_ALTERNATE_SHELL'"
            exit 1
    esac

The advantage of this approach is everything remains within control of the system manager.

Comments? Is this a worthwhile addition to xrdp, or are there better ways to do this?

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions