-
-
Notifications
You must be signed in to change notification settings - Fork 15.4k
lightdm: Fix regression from 29caa185a7e4aaa0d621a4f117f3e8f653261fda #19054
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
lightdm: Fix regression from 29caa185a7e4aaa0d621a4f117f3e8f653261fda #19054
Conversation
@grahamc, thanks for your PR! By analyzing the annotation information on this pull request, we identified @bennofs, @ocharles and @wkennington to be potential reviewers |
Seems reasonable to me, but would also recommand trying to understand why the code that defines |
Isn't the condition always true? (wm != "" || wm != "none") |
Heh, yeah, I probably meant && didn't I? :) |
29caa18 introduced a bug where when using i3 and no desktopmanager, it would start xterm and not i3. Example configuration: services.xserver.displayManager.lightdm.enable = true; services.xserver.windowManager.i3.enable = true; when starting up you would get i3 sort of, but xterm would be started as your user-session. This was fixable by setting: services.xserver.desktopManager.default = "none"; as well, but this was definitely a surprise which broke my system. I don't think this regression was intentional, so here we are fixing it.
ff09221
to
00d1106
Compare
@vcunat fixed. |
Another way to solve this is to set xterm to false: {
services.xserver.desktopManager.xterm.enable = false;
} is this intended behavior, and the behavior from 16.03 / 15.09 is a bug? or is there a bug in that i3 should set xterm to false? |
Upgrading to a blocker to get some eyes. Without some sort of fix, users of something like i3 and what-not are going to upgrade to 16.09 and have only xterm running. I don't mind what the decision is on how to resolve this but I don't think it is wrong to let this get released without either a release note or a code change. |
I think your change made it work just by accident due to the always-true bug: in reality the computed value of But regardless, I think we should keep the obvious thing ( |
Presumably reverting wouldn't fix other display managers, and would break what the commit originally fixed. What's wrong with having i3 disable xterm, or set itself as the default? |
I agree @dezgeg, @obadz -- I don't think this is the right solution. I'm beginning to think the right solution is to have a release note -- there are a lot of WMs to fix: https://github.com/NixOS/nixpkgs/tree/master/nixos/modules/services/x11/window-managers and I don't think this just impacts i3. |
I was thinking it'd be better to disable xterm by default, and only enable it if the |
@obadz I would rather keep the commit and add fixes for all the WMs, but it is many WMs and more than I can realistically test changes to before 16.09 is released. I'm going to revert the change now, and I think if we can come up with a fix which doesn't impact existing workflows we'll backport. |
The problem here is actually that I don't know how this used to work in the past. I couldn't find any code that automatically sets |
How it "works" is that usually your window manager comes alphabetically before xterm, as in |
@dezgeg oh, and the default for |
I think we could solve this the same way that the conflict is solved in |
Agree with @bennofs that you can fix the issue in your config by setting the default you want. However, if you revert, there is nothing you can do to set the WM you want. |
As a workaround, after the revert |
So it turns out enabling Thoughts? |
@grahamc so this was reverted in 16.09 and master? So we can close and reopen the original issue? |
@domenkozar: yes, it was reverted in both. 25be65f which I've put in master, but not release-16.09, fixes 99.9% of the issue for me. I suspect if nobody complains in the next couple of weeks, it should be safe to cherry-pick to stable, but up to you… Looking forward to meet you tomorrow! |
This reverts commit 6a12ff4. See: NixOS#19054 Closes NixOS#19054
Things done
(nix.useSandbox on NixOS,
or option
build-use-sandbox
innix.conf
on non-NixOS)
nix-shell -p nox --run "nox-review wip"
./result/bin/
)29caa18 introduced a bug where when
using i3 and no desktopmanager, it would start xterm and not i3.
Example configuration:
when starting up you would get i3 sort of, but xterm would be started
as your user-session.
This was fixable by setting:
as well, but this was definitely a surprise which broke my system. I
don't think this regression was intentional, so here we are fixing it.
Note the default value of
desktopManager.default
is empty, and the example value isnone
. Not sure how those two are substantially different, so I think that justifies the change.