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
display-manager: fix argument handling of sddm #23264
Conversation
previously session type was not correctly set
@Mic92, thanks for your PR! By analyzing the history of the files in this pull request, we identified @edolstra, @rickynils and @nbp to be potential reviewers. |
Still a WIP? |
For whatever reason, the OCR code is not detecting ALICE but is BOB. OCR output from login screen (blank lines omitted): > Session none + icewm > 08:41 < > Thursday, April 6, 2017 > BOB FOOBAR > Select your user and enter password
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great & thanks for the explanation 😄
I've successfully tested this with the following:
- 'none + i3'
- 'xterm + i3'
- 'xterm'
And the patch looks fine as well. I would suggest to merge this ASAP.
@@ -32,8 +32,14 @@ let | |||
'' | |||
#! ${pkgs.bash}/bin/bash | |||
|
|||
# Handle being called by SDDM. | |||
if test "''${1:0:1}" = / ; then eval exec $1 $2 ; fi | |||
# SSDM splits "Exec" line in .desktop file by whitespace and pass script path as $1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/SSDM/SDDM/
This reverts commit 40a5498. It breaks slim: Apr 22 21:04:23 hagbard xsession[1037]: /nix/store/bw00yl4yspl3wlyiwk56bi0hljjr00di-xsession: Window manager '/nix/store/bw00yl4yspl3wlyiwk56bi0hljjr00di-xsession 'xfce'' not found. Apr 22 21:04:23 hagbard xsession[1037]: /nix/store/bw00yl4yspl3wlyiwk56bi0hljjr00di-xsession: Desktop manager '/nix/store/bw00yl4yspl3wlyiwk56bi0hljjr00di-xsession 'xfce'' not found. Issue #23264.
I reverted this on the 17.03 branch because it breaks slim: 99dfb6d. |
@edolstra That's unfortunate... Does it break slim on the master branch as well (IIRC slim doesn't get any updates anymore)? And do we know the exact xsession parameters when called from slim? Regarding my setup: For some very strange reason SDDM stopped providing any parameters (only $0 (obviously)) when calling the xsession script. I have no idea how this could happen (I don't remember changing my configuration or nixpkgs). In order to see the parameters I've inserted: >&2 echo "xsession-parameter:"
>&2 echo "$0"
while [ $# -ge 1 ]; do
>&2 echo "$1"
shift
done
>&2 echo "xsession-parameter(end)" At the following file: # file provided by services.xserver.displayManager.session.script
xsession = wm: dm: pkgs.writeScript "xsession"
''
#! ${pkgs.bash}/bin/bash Output from
But it looks like the script should've been called with parameters: |
This reverts commit 6b7c5ba. Unfortunately it seems like this broke slim, lightdm and gdm (see #25068 and #23264). This is already reverted in the 17.03 branch (99dfb6d). TODO: We need tests for slim and lightdm and fix the test for gdm (failing since 2016-10-26) to prevent such breakage in the future.
I just noticed that we're actually using the wrong quoting within our desktop entry files. #25138 should fix that (but in order to test this I need to fix my other bug first). This might fix this SDDM issue as well. |
Motivation for this change
previously session type was not correctly set.
Currently only tested with session type 'none + awesome wm' and ssdm.
Other combinations should be handled in the same way, but for
critical components like login manager, be better safe then sorry
TODO:
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/
)