diff options
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r-- | perl-install/any.pm | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index 13229965e..b12b9785f 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -770,15 +770,9 @@ sub get_autologin() { xfce4 => 'lightdm', LXDE => 'lxdm', ); - my %dm_canonical = ( - gnome => 'gdm', - plasma => 'sddm', - ); my $dm = - lc($desktop{DISPLAYMANAGER}) || - $desktop_to_dm{$desktop} || - basename(chomp_(run_program::rooted_get_stdout($::prefix, "/etc/X11/lookupdm"))); - $dm = $dm_canonical{$dm} if exists $dm_canonical{$dm}; + basename(readlink("$::prefix/etc/systemd/system/display-manager.service")) =~ s/(.*)\.service/$1/r || + $desktop_to_dm{$desktop}; my $autologin_user; if ($dm eq "gdm") { @@ -872,6 +866,7 @@ sub set_autologin { $desktop{DESKTOP} = $autologin->{desktop}; $desktop{DISPLAYMANAGER} = $autologin->{dm}; setVarsInSh($sys_conffile, \%desktop); + symlinkf("/usr/lib/systemd/system/$autologin->{dm}.service", "$::prefix/etc/systemd/system/display-manager.service"); if ($autologin->{user}) { my $home = (getpwnam($autologin->{user}))[7]; |