GNU bug report logs - #73859
lightdm-service-type is almost unusable

Previous Next

Package: guix;

Reported by: Dariqq <dariqq <at> posteo.net>

Date: Fri, 18 Oct 2024 09:25:01 UTC

Severity: normal

Tags: patch

Merged with 68055

Done: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#73859: closed (lightdm-service-type is almost unusable)
Date: Mon, 16 Dec 2024 02:38:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Mon, 16 Dec 2024 11:35:57 +0900
with message-id <87y10guzg2.fsf <at> gmail.com>
and subject line Re: [PATCH 0/2] lightdm: Fix empty session list.
has caused the debbugs.gnu.org bug report #73859,
regarding lightdm-service-type is almost unusable
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs <at> gnu.org.)


-- 
73859: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73859
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Dariqq <dariqq <at> posteo.net>
To: bug-guix <at> gnu.org
Subject: lightdm-service-type is almost unusable
Date: Fri, 18 Oct 2024 09:23:32 +0000
Hi Guix,

This is to report some of the issues and workarounds when trying to 
setup lightdm-service-type.


1. Unable to choose a session (https://issues.guix.gnu.org/68055)

This appearently never worked: https://issues.guix.gnu.org/57168#0

This means one currently has to specify the default session with 
something like

(service lightdm-service-type
	 (lightdm-configuration
	  (seats
	   (list
	    (lightdm-seat-configuration
	     (name "*")
	     (user-session "xfce"))))))

2. gtkgreeter chooses the wrong default session

This is related to 1. If one already had set the default user session 
(i.e. from using default configuration => default.xsession) or one wants 
to use a different session, lightdm gtkgreeter still requests the old one.

After a lot of searching I found this 
https://github.com/Xubuntu/lightdm-gtk-greeter/issues/163 .

I.e. lightdm asks the accountsservice for the default-session rather 
than lightm which still has cashed the old/wrong one. Thus with no 
option to select a different session one is unable to login.

The workaorund here is to delete/modify /var/lib/AccountService/users to 
make sure accountsservice recreates/updates the configurration.


3. After the lightdms users .Xauthority file is created it has wrong 
permissions on subsequent boots.

this can be "fixed" by manually setting less restrictive permissions on 
/var/lib/lightdm/.Xauthority

This might be fixed by making the lightdm-activiation snippet actually 
useful: It currently searches for a file named "directory" to fix 
permissions rather than the content of the variable 'directory'.

(find-files "directory"  #:directories? #t) vs
(find-files directory  #:directories? #t)

here 
https://git.savannah.gnu.org/cgit/guix.git/tree/gnu/services/lightdm.scm#n527

4. tigervnnc

default tigervnc is (file-append tigervnc-server "bin/Xvnc") rather than 
(file-append tigervnc-server "/bin/Xvnc")




[Message part 3 (message/rfc822, inline)]
From: Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
To: Dariqq <dariqq <at> posteo.net>
Cc: 73859-done <at> debbugs.gnu.org
Subject: Re: [PATCH 0/2] lightdm: Fix empty session list.
Date: Mon, 16 Dec 2024 11:35:57 +0900
Hi Dariqq,

Dariqq <dariqq <at> posteo.net> writes:

[...]

> Dariqq (2):
>   gnu: lightdm: Use global sysconfdir.
>   gnu: lightdm-service-type: Add lightdm.conf to /etc/lightdm.

Finally pushed to master (see commits b9d7e15f9f and 3a8e19a61d), after
I had some time to properly review and test it.  I've adjusted the
commit messages a bit, and used this Scheme trick to reuse more of the
install phase arguments:

--8<---------------cut here---------------start------------->8---
               ;; matching tests.
-              (unsetenv "LC_ALL"))))))
+              (unsetenv "LC_ALL")))
+          (replace 'install
+            (lambda* (#:key make-flags #:allow-other-keys #:rest args)
+              ;; Override the sysconfdir flag only for the installation phase,
+              ;; as it attempts to write the sample config files to /etc and
+              ;; fail otherwise.
+              (define make-flags*
+                (append make-flags (list (string-append "sysconfdir="
+                                                        #$output "/etc"))))
+              (apply (assoc-ref %standard-phases 'install)
+                     (append args (list #:make-flags make-flags*))))))))
     (inputs
--8<---------------cut here---------------end--------------->8---

Closing.

-- 
Thanks,
Maxim


This bug report was last modified 249 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.