> On Sat, 3 Dec 2016 15:48:06 +0200
> Ahmad Samir wrote:
> > Which sounds to me like their highest priority is
> inventing an excuse to do it anyway, but they
> are desperately searching for an excuse that
> isn't lame :-).
Exactly. Reading the upstream bug report, I get exactly this impression: They
want to throw away the whole idea of a ~/.profile or the eqivalent of your
shell (be it bash, zsh, tcsh, or what you choose) and replace it by things they
claim are more "modern" like systemd configuration files. They don't care that
the result will be less powerful, less useful - and most importantly - will
confuse anyone who in the last few decades (!) learned to set environment
variables in ~/.profile (et al.) and now don't understand why those stopped
working.
The really sad - and I would say even embarassing for the GNOME and Fedora
people - is that it's extremely easy to fix things so they work exactly like
they did before. In fact, X Windows needed exactly the same fix some 25 years
ago, when xdm replaced xinit. The simple fix is to run the parent of all the
windows (the window manager, session manager, or whatever) through a "login
shell" ($SHELL -l), so it will load the ~/.profile.
More concretely, in /usr/bin/gnome-session we currently have the following:
exec /usr/libexec/gnome-session-binary "$@"
Instead, we could run it through a login shell, something like this:
$SHELL -c "exec /usr/bin/true" && exec -l $SHELL -c "exec
/usr/libexec/gnome-session-binary $*" || exec /usr/libexec/gnome-session-binary
"$@"
(the funky &&, ||, is so that if $SHELL is so weird that it doesn't support the
"-c" option to run a command, we revert to running gnome-session-binary without
the login shell).
Alternative, we could avoid fixing "gnome-session" and instead fix the place
where Wayland calls it, and do that through a login shell.
_______________________________________________
users mailing list -- [email protected]
To unsubscribe send an email to [email protected]