xenodm does not use Xsetup if autoLogin is set

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

xenodm does not use Xsetup if autoLogin is set

chohag
The lack of Xsetup might be desired functionality but that's contrary
to xenodm(1):

     After resetting the X server, xenodm runs the Xsetup script
     to assist in setting up the screen the user sees along with
     the xlogin widget.

     The xlogin widget, which xenodm presents, offers the familiar
     login and password prompts, unless autoLogin is set.

     After the user logs in, xenodm runs the Xstartup script as
     root.

The patch below makes this happen as per the documentation. Note
that for anybody using autoLogin this will have a material change
to their desktop environment as the default Xsetup script runs
xconsole (and xsetroot).

Incidentally the reason for 'if (!d->grabServer)' is explained in
GreetUser() that's used when autoLogin is NOT set but I felt it
wasn't necessary to duplicate the comment.

Matthew


Index: greeter/greet.c
===================================================================
RCS file: /src/datum/openbsd/cvs/xenocara/app/xenodm/greeter/greet.c,v
retrieving revision 1.9
diff -u -p -r1.9 greet.c
--- greeter/greet.c 11 Jul 2018 16:20:20 -0000 1.9
+++ greeter/greet.c 20 Feb 2021 20:17:26 -0000
@@ -359,6 +359,9 @@ greet_user_rtn AutoLogin(
     struct greet_info       *greet)
 {
 
+    if (!d->grabServer)
+ SetupDisplay (d);
+
     if (!autoLoginEnv(d, verify, greet)) {
         LogError("Autologin %s failed\n", d->autoLogin);
         SessionExit(d, UNMANAGE_DISPLAY, true);