Subject: bug#73859: closed (Re: [PATCH 0/2] lightdm: Fix empty session list.)

From: [email-masked] (GNU bug Tracking System)
Date: Mon, 16 Dec 2024 02:38:02 +0000

Your bug report

#73859: lightdm-service-type is almost unusable

which was filed against the guix package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
73859: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=73859
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [PATCH 0/2] lightdm: Fix empty session list.
From: Maxim Cournoyer <[email-masked]>
To: Dariqq <[email-masked]>
Cc: [email-masked]
Date: Mon, 16 Dec 2024 11:35:57 +0900
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Dariqq,

Dariqq <[email-masked]> 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

Subject: lightdm-service-type is almost unusable
From: Dariqq <[email-masked]>
To: [email-masked]
Date: Fri, 18 Oct 2024 09:23:32 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

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")