summaryrefslogtreecommitdiffstats
path: root/perl-install/any.pm
diff options
context:
space:
mode:
Diffstat (limited to 'perl-install/any.pm')
-rw-r--r--perl-install/any.pm11
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];