GNOME, Wayland, and environment variables
The problematic change is simple enough to understand. While X sessions are started by way of a login shell in Fedora (even though the user never sees that shell directly), Wayland sessions do not involve a shell at all. As a result, the user's .bash_profile and .bashrc files (or whichever initialization files their shell uses) are not read. The place where this omission is most readily noticed is in the definition of environment variables. Many applications will change their behavior based on configuration stored in the environment; all of that configuration vanishes under Wayland. It also seems that some users (xterm holdouts, for example) still run applications that use the old X resources configuration mechanism. Resources are normally set by running xrdb at login time; once again, that doesn't happen if no login shell is run.
In your editor's case, this issue manifested itself in commands that should have been in $PATH not being found, and other programs misbehaving because the necessary environment variable definitions were not present. Commands run from a terminal emulator window work well enough (assuming the necessary definitions are in .bashrc rather than .bash_profile), but anything run directly from the session manager does not. Irritation ensues.
This particular problem, it seems, is not a surprise to anybody except those of us who update Fedora without reading the "common bugs" list first. It was first reported to the GNOME developers in 2014. Since then, discussion of the issue has gone back and forth, but no fix has been applied.
There's no end of possible ways to work around or fix this particular issue. One can, for example, make a simple tweak to the gnome-session script to cause it to run the user's shell of choice as part of starting up the session. This fix has not been applied, though, and it is not clear what solution the GNOME project will choose, if any, in the end.
The problem, it seems, is that shells and environment variables (not to mention xrdb) are seen as how our grandparents ran their computers. If one deals only with graphical applications, there is almost no scope for a shell to make an appearance at all, so it seems strange, to some, to involve the shell at login time. Environment variable definitions in shell startup files have been a common Unix customization method since the earliest days but, evidently, there is no easy place for that method in 2016.
So what should replace it? The conversation in the bug report covers a
number of possibilities. Environment variables can be defined in a file
added to /usr/share/gdm/env.d, but that, of course, requires
privilege and sets those variables globally for all users. The
pam_env authentication module can read variables from
~/.pam_environment, but only if the module is given the
user_readenv=1 option — which is not the case on Fedora.
The syntax
of that file is also charmingly described as "a bit icky
"
in the discussion. One can run commands at startup by putting together a
"desktop
file"; that would be useful for commands like xrdb but not for
the setting of environment variables, and even xrdb is tricky
because it may not set the relevant resources before the applications using
those resources are started.
Yet another approach is, naturally enough, to solve the problem in systemd. Red Hat's Ray Strode has put forward patches that do this by creating a new ~/.config/environment.d directory to hold user-specific environment-variable definitions. That takes the shell out of the picture, reducing flexibility, but it does solve the problem that (probably) affects the most users. The discussion on that patch set is long, and it touches on some legitimate security concerns. There may be an eventual solution in this direction, but no such thing has been merged into systemd as of this writing.
That leaves an increasing number of Fedora users, many of whom, it might be
guessed, will not peruse the bug list before upgrading, who will run into
this problem. Strode, for all that he wants to move on to a "modern"
solution for environment variables, is clearly feeling the pressure that
comes from wider exposure of a broken system. Thus, his most recent
comment on the bug, as of this writing, reads: "Yea, I'm
considering caving on this.
" So Fedora 25 is likely to see an
update that restores the login shell to the login process; a "proper fix"
will wait for later.
It is easy to write this episode off as another example of the GNOME developers happily breaking setups that have worked for years in the pursuit of some vision of a better way of doing things. And there is some truth to that. But there may also be truth to the idea that the mechanism used to customize the environment decades ago may no longer be ideal. Evolving the system toward a current understanding of the best and most secure approach makes a lot of sense. But it would be nice if we could get there without breaking large numbers of desktop setups.
That said, it's worth pointing out that the move to Wayland is a huge
transition; we are moving away from a display manager that has been in
place since before Linus Torvalds got his first computer. If that move brings
about a seemingly unnecessary bit of breakage, we are surely entitled to
grumble about it. But if that is all that goes wrong (and it seems that
little else has gone wrong) then, once we've gotten the grumbling out of
our system, we should recognize that such an easy change doesn't happen by
chance. A lot of effort has gone into layers like XWayland and at the
distribution level to keep
applications working; that effort should be recognized and
appreciated. A few glitches notwithstanding, this would appear to be a job
well done.
Posted Dec 22, 2016 3:42 UTC (Thu)
by neilbrown (subscriber, #359)
[Link] (8 responses)
Posted Dec 22, 2016 12:55 UTC (Thu)
by em (subscriber, #91304)
[Link]
Posted Dec 23, 2016 10:08 UTC (Fri)
by liam (guest, #84133)
[Link] (6 responses)
Posted Dec 23, 2016 22:23 UTC (Fri)
by jani (subscriber, #74547)
[Link]
Posted Dec 23, 2016 23:58 UTC (Fri)
by neilbrown (subscriber, #359)
[Link] (4 responses)
The kernel is a user-facing product too, though it has a different set of users.
> Especially one where you can choose how you wish to define regression ("that's not a bug, it's part of the designers vision").
It's a bug if I notice a reduction in functionality before I'm told about it. I certainly agree that forward progress is important, and that sometimes means breaking things that used to work. We do that in the kernel too, but we make sure people don't notice or don't care. We provide an alternate solution, encourage people to use the alternate solution, fix any bugs or other issues that arise for people using the alternate solution. Then, after the alternate solution has been in use for a while, in all major distros, and people are happy with it, we remove the old legacy support. And nobody notices (or if they notice, they don't care).
In this case, assuming the article is accurate (which I don't doubt), there wasn't just a lack of a transition period, there was no alternate solution *at* *all*.
Posted Dec 27, 2016 10:16 UTC (Tue)
by ovitters (guest, #27950)
[Link] (3 responses)
Wayland sessions aren't started via a shell. As such, there wasn't a reduction in functionality. Moreover, a shell is still used for X11 so there's no reduction in functionality in that. If you compare an X11 session with a Wayland session, things work differently; but then that already gives away that there's a clear alternative.
Posted Dec 27, 2016 23:15 UTC (Tue)
by roc (subscriber, #30627)
[Link] (2 responses)
Posted Dec 28, 2016 16:38 UTC (Wed)
by ovitters (guest, #27950)
[Link] (1 responses)
I do find the whole discussion of environment variables limited; not every distribution starts/started GNOME in this way. I wouldn't call this a breakage. There are various bugs which need to be fixed. E.g. "hanging" control and letters. There's an actual breakage in not being able to start something as root.
Posted Dec 29, 2016 17:29 UTC (Thu)
by johannbg (guest, #65743)
[Link]
Well ain't the fundamental flaw here that you have to or need to be starting something as root in the first place.
What is your usecase having to start something as root in the first place?
Posted Dec 22, 2016 5:45 UTC (Thu)
by grawity (subscriber, #80596)
[Link] (1 responses)
But, for that matter, my own reasons for preferring a PAM module date a good decade before systemd. One of my *biggest* gripes regarding Lunix has always been the lack of truly account-wide environment setting – the exact same problem has existed in sshd and cron for many years before systemd even existed. Want your cronjobs to see your $PATH? Manually source .profile in every damn one of them. Want "ssh myhost myapp" to pick up the same? Now you have to use "ssh myhost '. ~/.profile && myapp'". Isn't that the most convenient thing ever.
(Before you rush to compose a reply saying that "ssh myhost env" has always worked fine for you – well, yes, that's true as long as your default shell is bash *and* it has the right compile-time options set. So as I've found out the hard way, it's not only dependent on the shell on the server, it even depends on which distro it runs on!)
Posted Dec 22, 2016 7:57 UTC (Thu)
by ibukanov (subscriber, #3942)
[Link]
Posted Dec 22, 2016 6:27 UTC (Thu)
by eru (subscriber, #2753)
[Link] (5 responses)
Posted Dec 22, 2016 6:58 UTC (Thu)
by shruggy (guest, #94695)
[Link] (4 responses)
Posted Dec 22, 2016 7:28 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link] (3 responses)
Posted Dec 22, 2016 11:59 UTC (Thu)
by peter-b (subscriber, #66996)
[Link]
> [Environment]::SetEnvironmentVariable("TestVariable", "Test value.", "User")
See also https://technet.microsoft.com/en-us/library/ff730964.aspx
Posted Dec 22, 2016 17:50 UTC (Thu)
by zlynx (guest, #2285)
[Link] (1 responses)
Running limited user accounts requires a _lot_ of detailed Windows administrator knowledge.
Posted Dec 22, 2016 22:03 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
Posted Dec 22, 2016 7:10 UTC (Thu)
by quotemstr (subscriber, #45331)
[Link] (4 responses)
I'm a fan of Turing-complete configuration languages generally. The shell gives users unlimited power. I'd prefer not reducing this power for the sake of elegance.
Posted Dec 22, 2016 12:12 UTC (Thu)
by ovitters (guest, #27950)
[Link] (1 responses)
It seems you can tweak things to get the session started via a shell. The next GNOME will allow the desktop icons setting to work again. Hopefully a solution for the environment variables can be found as well. This all together with mpv window size sometimes being super tiny (my biggest annoyance!)
Posted Dec 23, 2016 13:55 UTC (Fri)
by Felix (subscriber, #36445)
[Link]
Assuming you mean "desktop icons on Wayland" then it is already available in GNOME 3.22 (e.g. Fedora 25) as the workaround was backported (it's just a one-liner).
Posted Dec 22, 2016 17:37 UTC (Thu)
by k3ninho (subscriber, #50375)
[Link] (1 responses)
The alternative is domain-specific languages with clear workflows for their use, tied to the problem that they're trying to solve . These have advantages in terms of complexity which has you trading a lower exposed attack surface and lower maintenance costs for (intentionally) limited ability to express yourself and a higher-than-usual need for good documentation/training.
K3n.
Posted Dec 29, 2016 13:35 UTC (Thu)
by phred14 (guest, #60633)
[Link]
Posted Dec 22, 2016 8:06 UTC (Thu)
by ibukanov (subscriber, #3942)
[Link]
#!/bin/bash -l
Posted Dec 22, 2016 10:40 UTC (Thu)
by SLi (subscriber, #53131)
[Link]
Posted Dec 22, 2016 10:57 UTC (Thu)
by Seegras (guest, #20463)
[Link] (15 responses)
- Primary Selection. (cut & paste via mouse alone): This seems to be nonexistent, but apparently has been reimplemented on the compositor/window manager level within mutter. No idea whether this works in non-gnome applications, and from/to applications running under Wayland and XWayland. And no idea whether this work under any other compositor/window manager other than mutter.
- Sloppy focus and autoraise. This might be a problem on the compositor/window manager level alone. It's clear that this won't work with "Unity" or other global-menu-style desktop environments, but depending on which supports what, you might end up with only half the features you need.
- Accelerated 3D graphics not working with proprietary drivers.
- Preferred window manager (or even window managing paradigm) not available.
Of course, they're probably not exactly problems of Wayland itself, but of other components. Still, for people to work with it, these have to be fixed.
Posted Dec 22, 2016 12:02 UTC (Thu)
by ovitters (guest, #27950)
[Link] (8 responses)
Within Mageia they keep trying to ensure that everything works in the 10+ window manager / desktop environments they package. Thereby often adding hacks, hacks upon hacks, hacks relying on poor workarounds. etc. Any problem in any of the display manager and a desktop treated as a blocker. It's just loads of bugs, hacks and no progress.
http://svnweb.mageia.org/packages/cauldron/pulseaudio/cur...
The "startgnome_classic" was a hack because some DM couldn't start GNOME classic. Instead of either fixing that DM a hack is added. Then this pulseaudio has some kind of hack, whereby that now relies on the GNOME classic hack. I'm calling this all hacks because stuff has broken before due to all of these messy things and it's pretty apparent that things will break.
The various things you list as problematic with Wayland seem not really caused by GNOME on Wayland. E.g. proprietary nvidia driver does work (unfortunately IMO), window manager already couldn't be changed, etc. Saying 'these have to be fixed', why? Window manager cannot be chosen already, nvidia does work, etc. Your list is a bit strange.
Posted Dec 22, 2016 18:49 UTC (Thu)
by mgraesslin (guest, #78959)
[Link] (1 responses)
This is a custom Wayland protocol used between GTK and GNOME-Shell. It's not yet part of wayland-protocols and thus the chances that Qt implements it are pretty low. I just looked at it this week as I got a bug report for KWin about it ;-)
If it gets added to wayland-protocols I could implement it. But custom protocols of other toolkits - that could result in a mess, so better not.
It shows that we are still in the time where things need to be standardized.
Posted Dec 23, 2016 11:02 UTC (Fri)
by ovitters (guest, #27950)
[Link]
hmm, thanks for educating me. I didn't know this was a custom bit. Assume the custom protocol was done because it's way easier to test things out and use that experience to propose a good standard. Wayland is a bit opaque to me; I'm not following those mailing lists. This obviously should be a standard.
Posted Dec 22, 2016 23:23 UTC (Thu)
by gutschke (subscriber, #27910)
[Link] (5 responses)
I heavily rely on having a tiling window manager. I have been using "awesome" for many years now. It's customized to only offer a very limited stream lined window layout. And while I keep the old-school GNOME menu and taskbar (combined into a single bar at the top of the screen), I eliminated almost all other decoration.
Half the time, it looks as if my apps are running fullscreen without any windows at all.
This turns out to be super productive for me. I see exactly what I need to see. Nothing more and nothing less. And I can control navigation without moving my mouse from the keyboard.
This is great for a power user, but I would never expect it to become mainstream. Most users are better served by less powerful but more intuitive, verbose and self descriptive user interfaces.
Allowing a choice of window managers makes it easier to accommodate both groups of users
Posted Dec 23, 2016 0:16 UTC (Fri)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
I don't think a choice of arbitrary window managers is necessary there. You can have a base that is extensible
https://extensions.gnome.org/extension/657/shelltile/
Posted Dec 23, 2016 0:31 UTC (Fri)
by gutschke (subscriber, #27910)
[Link] (1 responses)
In practice though, I tried various different options a while ago -- including the one that you linked to. And none of them even came close to doing what I needed. The GNOME Shell extension always felt very much like an afterthought, and at all times you could tell GNOME Shell was fighting any attempt to make such a drastic change to the windowing paradigm.
So, unless you can convince the developers to a) make tiling a first class citizen, and b) embed a rich scripting language that allows heavy modification, you'll never really replace the need for alternative window managers. I don't know enough about GNOME Shell to tell whether #b is already solved by its extension mechanism. But #a doesn't seem to be there, as far as I can see.
Posted Dec 23, 2016 0:51 UTC (Fri)
by rahulsundaram (subscriber, #21946)
[Link]
#b might be solved in terms of the framework even if the extension I pointed to isn't suitable for your needs. I don't know that anyone has really tried.
Posted Dec 23, 2016 10:58 UTC (Fri)
by ovitters (guest, #27950)
[Link] (1 responses)
Technically not really a window manager, but practically it could be.
Posted Dec 28, 2016 12:59 UTC (Wed)
by daniels (subscriber, #16193)
[Link]
Correct. The idea is to let people write window managers and desktop environments without having to worry about the details of DRM/KMS/GBM, EGL, dmabuf, the Wayland protocol itself, and whatever other plumbing. It's not there yet, but hopefully in the next year or so it'll become a really solid viable alternative.
Posted Dec 22, 2016 19:25 UTC (Thu)
by niner (subscriber, #26151)
[Link] (5 responses)
Posted Dec 24, 2016 23:17 UTC (Sat)
by flussence (guest, #85566)
[Link] (4 responses)
It's not a problem for the first two, but Intel GPUs aren't cheap to replace when the rest of the system is soldered to them.
Posted Dec 25, 2016 8:54 UTC (Sun)
by mjg59 (subscriber, #23239)
[Link] (3 responses)
Posted Dec 25, 2016 22:29 UTC (Sun)
by flussence (guest, #85566)
[Link] (2 responses)
Posted Dec 28, 2016 21:12 UTC (Wed)
by tao (subscriber, #17563)
[Link] (1 responses)
Posted Dec 29, 2016 0:45 UTC (Thu)
by flussence (guest, #85566)
[Link]
The only thing keeping them from becoming landfill right now is "AccelMethod SNA", and I'm unable to find anything to suggest that it has (or will have) an equivalent in Wayland.
Posted Dec 22, 2016 12:33 UTC (Thu)
by yaap (subscriber, #71398)
[Link]
Posted Dec 22, 2016 22:37 UTC (Thu)
by ksandstr (guest, #60862)
[Link] (1 responses)
Perhaps the GNOME of 2016 is implemented without understanding what environment variables are and how they work. The expected outcome would be fingers crammed into ears and very loud humming on one end, and on the other, many hacks that're all worse than simply doing as before: global root-only settings, alternate NIH-tastic syntaxes, layering violations, architecture by afterthought.
If such a great big feat of ignorance is what actually happened (and not just the most consistent hypothesis), there'll certainly be other surprises undiscovered beyond the well-trodden path. However, getting one's hopes up wrt a desktop that's constantly rewriting and discarding anything that came before (including its own prior achievements) seems like a wish that, contrary to a 15 years' experience, the technological underdog will one day quit sucking ass deliberately.
Posted Dec 23, 2016 2:03 UTC (Fri)
by robclark (subscriber, #74945)
[Link]
well, I mean you *could* actually read the comments in the bz linked by parent article, rather than inventing bogus theories. But what fun would that be.
Posted Dec 23, 2016 13:39 UTC (Fri)
by jmclnx (guest, #72456)
[Link] (2 responses)
Posted Dec 23, 2016 18:42 UTC (Fri)
by ovitters (guest, #27950)
[Link]
Posted Dec 24, 2016 12:07 UTC (Sat)
by Jandar (subscriber, #85683)
[Link]
The reason why we need to create yet another way to specify environment variables eludes me. The config file parser doesn't have to be a big and slow bash (<0.01 seconds for bash -l /dev/null) it could be a leaner and quicker kind of shell. If you don't want to use the shell directly to start something the shell could dump the resulting environment variables like gcc -dM dumps defines. Even better, you can do this now: dash -l -c 'exec /usr/bin/env --null'.
This ~/.config/environment.d seems to be a solution in search of a problem. But what the heck, it could simply create a problem: inconsistent environment between GUI-login and ssh-login. In the future I have a new line in my .profile: eval `read_new_and_shiny_config --shell`.
Hopefully the Christmas presents are nicer surprises ;-)
A merry Christmas to all.
Posted Dec 24, 2016 16:48 UTC (Sat)
by anton (subscriber, #25547)
[Link] (7 responses)
I see it as a major benefit of Linux/GNU/X that I can still use the setup that I have used for 25 years, with minor changes now and then (e.g., I finally switched from using plain .Xdefaults to using xrdb a few months ago).
If they don't have a technical reason for avoiding established setup mechanisms, they should support these mechanisms. And not providing a replacement mechanism adds insult to injury.
Wikipedia tells me that Wayland does not support network transparency. Any news on that? Without network transparency it's definitely no competition to X for my uses.
Posted Dec 25, 2016 15:40 UTC (Sun)
by micka (subscriber, #38720)
[Link] (6 responses)
These systems won't provide the property of "being linux", though.
> If they don't have a technical reason for avoiding established setup mechanisms [...]
Well apparently the article specifies that there _are_ technical reasons.
> Wikipedia tells me that Wayland does not support network transparency. Any news on that?
I think it just waits for someone (anyone) to scratch their own itch and write this support. The way to do it is documented for anyone to do it and AFAIK it was prototyped.
Posted Dec 25, 2016 16:37 UTC (Sun)
by Jandar (subscriber, #85683)
[Link] (4 responses)
It may appear to you there are technical reasons given, to me it doesn't. The main reason given was:
> The problem, it seems, is that shells and environment variables (not to mention xrdb) are seen as how our grandparents ran their computers. If one deals only with graphical applications, there is almost no scope for a shell to make an appearance at all, so it seems strange, to some, to involve the shell at login time.
The "technical" reason boils down to: there are some young, dynamic and disruptive people who want something new and shiny not the old grandfatherly.
The people who have carelessly ripped out the current working system to set the environment have put no thought into a replacement. Only after bug reports are coming in they are constructing some incompatible solution.
Why?
$ time dash -l -c 'exec /usr/bin/env --null' >/tmp/env
The time to load and extract the old and working environment is negligible, even on my 9 year old desktop pc.
Posted Dec 25, 2016 22:27 UTC (Sun)
by Cyberax (✭ supporter ✭, #52523)
[Link] (3 responses)
Rolling stuff back to the X11 status quo is not a problem, but it's nice to be able to experiment and see what can be done without resorting to login shells.
Posted Dec 25, 2016 23:24 UTC (Sun)
by Jandar (subscriber, #85683)
[Link]
If /etc/shells is empty, no effort to load an old shell environment is necessary. Your setup without any shell wouldn't be disturbed by loading the environment for any user whose command interpreter from /etc/passwd is found in /etc/shells.
Posted Dec 26, 2016 13:13 UTC (Mon)
by anton (subscriber, #25547)
[Link] (1 responses)
Concerning the reduced attack surface: You are running a complicated init system like systemd and a number of components (including Wayland) that make up the graphical part, and on top of that graphical applications, each with it's own configuration and scripting language (or several of them, e.g., HTML, CSS, and JavaScript for the web browser), and you think you have reduced the attack surface?
Posted Dec 26, 2016 16:31 UTC (Mon)
by Cyberax (✭ supporter ✭, #52523)
[Link]
Anyway, removing user-controlled shell from the boot sequence would allow to secure it a little bit more. It's one less place for persistent malware to hide or for bugs to hang the boot.
Posted Dec 30, 2016 9:24 UTC (Fri)
by sourcejedi (guest, #45153)
[Link]
Posted Jan 5, 2017 12:57 UTC (Thu)
by callegar (guest, #16148)
[Link] (3 responses)
Posted Jan 5, 2017 17:06 UTC (Thu)
by zlynx (guest, #2285)
[Link] (2 responses)
Posted Jan 6, 2017 8:39 UTC (Fri)
by muep (subscriber, #86754)
[Link] (1 responses)
Works with many GNU/Linux distributions. At the very least, these:
Works with at least all of these sessions:
Works with many ways of launching applications:
The traditional way of using ${HOME}/.profile allows me to have a single file that I can reuse on various kinds of hosts. Currently it fills all of the above, except (unless my impression is outdated) Wayland sessions. If I am to switch mechanisms, it sounds like a bad deal to lose any of those other use cases just to get the Wayland use case that currently behaves almost identically to the X11 one.
But if someone can suggest a workaround that gets me all of the above with a single place to maintain common environment variables for multiple hosts I use, I'd be happy to try out the Wayland session again.
Posted Jan 6, 2017 21:51 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link]
Personally, I have units for different environment variables that get pulled in by the relevant services and then I dump the systemd --user environment to a shell script which I then source after logging in over SSH to get access to my session's environment. It'd be possible to also just have .bashrc or whatever do that work as well for SSH.
But that's assuming that Wayland is triggered through a systemd unit and not a direct startx analogue (I've converted by setup to a systemd --user session, but login managers don't use it properly, so I log in on a TTY).
Posted Jan 20, 2017 12:08 UTC (Fri)
by ssokolow (guest, #94568)
[Link] (5 responses)
Posted Jan 20, 2017 13:30 UTC (Fri)
by mathstuf (subscriber, #69389)
[Link] (4 responses)
Posted Jan 21, 2017 1:16 UTC (Sat)
by ssokolow (guest, #94568)
[Link] (3 responses)
I'm just worried that their official solution will be embarassingly over-engineered and ill-fitted to purpose.
Posted Jan 21, 2017 2:33 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link] (2 responses)
Posted Jan 21, 2017 10:20 UTC (Sat)
by ssokolow (guest, #94568)
[Link] (1 responses)
I commented on my hopes for that "something else".
Posted Jan 21, 2017 12:45 UTC (Sat)
by rahulsundaram (subscriber, #21946)
[Link]
Posted Nov 7, 2017 23:13 UTC (Tue)
by oconnor663 (guest, #119484)
[Link] (2 responses)
Posted Nov 9, 2017 16:45 UTC (Thu)
by nix (subscriber, #2304)
[Link]
Posted Nov 9, 2017 18:24 UTC (Thu)
by mathstuf (subscriber, #69389)
[Link]
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Wayland breakage
Environment variables = global variables
Now this won't solve all problems, but for desktop launched GUI apps it should work fine (at least it does for me).
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
The problem, it seems, is that shells and environment variables (not to mention xrdb) are seen as how our grandparents ran their computers.
That is the problem? These people should switch to MacOS or Windows where you get a shiny new user experience along with a need to relearn much of what you knew and which worked well (or as well as expected in this kind of setup) every few years.
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
real 0m0.009s
user 0m0.000s
sys 0m0.000s
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
A system without shell is an interesting experiment, and maybe something will come out of it that somebody wants to use, like Android. It just will not be anything I (and I expect many others) will consider as continuation or replacement of our current Unix/Linux user experience, just like Android.
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
I expect that the sole effect of this and other breakage of behavior/expectations is that it will slow significantly the Wayland adoption, by making it much harder to try Wayland and alternate its usage with X11, without providing any tangible benefit capable of compensating the cost of delayed adoption. Add that to the fact that X11 is still "good enough" to many users and usage scenarios, and that one major distro has a competing approach (btw, is there a login shell in it?) and be prepared to huge huge fragmentation ahead.
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
- CentOS
- Debian
- Fedora
- Ubuntu
- Local virtual terminal
- Local X11 session
- Local Wayland session
- Remote SSH session
- From terminal emulator
- From desktop environment launchers
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables
It looks like systemd 233 (March 2017) did standardize on GNOME, Wayland, and environment variables
~/.config/environment.d/*.conf
. See the environment.d
man page and the discussion that led to the feature on the preliminary PR linked in the article and the followup PR that ultimately landed.
GNOME, Wayland, and environment variables
GNOME, Wayland, and environment variables