diff options
| -rw-r--r-- | perl-install/any.pm | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/perl-install/any.pm b/perl-install/any.pm index dc0d112e1..f334bf700 100644 --- a/perl-install/any.pm +++ b/perl-install/any.pm @@ -842,6 +842,21 @@ sub available_dms() { @l; } +sub desktop_to_dm { + my ($desktop) = @_; + if ($desktop =~ /gnome/i) { + 'gdm'; + } elsif ($desktop =~ /lxqt|plasma/i) { + 'sddm'; + } elsif ($desktop =~ /cinnamon|mate|xfce/i) { + 'lightdm'; + } elsif ($desktop =~ /lxde/i) { + 'lxdm'; + } else { + ''; + } +} + sub get_autologin() { my %desktop = getVarsFromSh("$::prefix/etc/sysconfig/desktop"); my $gdm_file = "$::prefix/etc/X11/gdm/custom.conf"; @@ -850,15 +865,9 @@ sub get_autologin() { my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf"; my $autologin_file = "$::prefix/etc/sysconfig/autologin"; my $desktop = $desktop{DESKTOP} || first(sessions()); - my %desktop_to_dm = ( - GNOME => 'gdm', - Plasma => 'sddm', - Xfce => 'lightdm', - LXDE => 'lxdm', - ); my $dm = basename(readlink("$::prefix/etc/systemd/system/display-manager.service")) =~ s/(.*)\.service/$1/r || - $desktop_to_dm{$desktop} || + desktop_to_dm($desktop) || basename(first(available_dms())); my $autologin_user; |
