The confined-shell
snap explores what is possible for a fully confined graphical shell.
In order to run as a login shell it needs login-session-control
and in order to launch applications it needs desktop-launch
. These should be uncontroversial for a graphical shell.