Mageia Bugzilla – Attachment 7540 Details for
Bug 17913
Autologin configuration in MCC does not work (with SDDM and XDM at least)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
A patch to add support for configuring /etc/sddm.conf
drakxtools-17.19-sddm-improved.patch (text/plain), 2.23 KB, created by
Nicolas Salguero
on 2016-03-10 10:36:59 CET
(
hide
)
Description:
A patch to add support for configuring /etc/sddm.conf
Filename:
MIME Type:
Creator:
Nicolas Salguero
Created:
2016-03-10 10:36:59 CET
Size:
2.23 KB
patch
obsolete
>diff -ruN drakxtools-17.19.orig/perl-install/any.pm drakxtools-17.19/perl-install/any.pm >--- drakxtools-17.19.orig/perl-install/any.pm 2016-03-10 10:32:47.220687937 +0100 >+++ drakxtools-17.19/perl-install/any.pm 2016-03-10 10:34:19.700661202 +0100 >@@ -654,6 +654,7 @@ > my $kdm_file = common::read_alternative('kdm4-config'); > my $lightdm_conffile = "$::prefix/etc/lightdm/lightdm.conf.d/50-mageia-autologin.conf"; > my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf"; >+ my $sddm_conffile = "$::prefix/etc/sddm.conf"; > my $autologin_file = "$::prefix/etc/sysconfig/autologin"; > my $desktop = $desktop{DESKTOP} || first(sessions()); > my %desktop_to_dm = ( >@@ -686,6 +687,9 @@ > my %conf = read_gnomekderc($lxdm_conffile, 'base'); > $autologin_user = $conf{"autologin"}; > $autologin_user =~ s/^.//; >+ } elsif ($dm eq "sddm") { >+ my %conf = read_gnomekderc($sddm_conffile, 'Autologin'); >+ $autologin_user = $conf{"User"}; > } else { > my %conf = getVarsFromSh($autologin_file); > $autologin_user = text2bool($conf{AUTOLOGIN}) && $conf{USER}; >@@ -759,6 +763,32 @@ > 'lang' => '' > )) } } if -e $lxdm_conffile; > >+ #- Configure SDDM >+ my $sddm_conffile = "$::prefix/etc/sddm.conf"; >+ eval { if ($autologin->{user}) { >+ my $xsessions_dir = "$::prefix/usr/share/xsessions"; >+ my $xsession_file = $autologin->{desktop}; >+ if ($xsession_file && $xsession_file ne 'default' && $xsession_file ne 'failsafe' && opendir (DIR, $xsessions_dir)) { >+ while (my $xsessions_file = readdir(DIR)) { >+ next if ($xsessions_file =~ m/^\./); >+ my %xsession = read_gnomekderc($xsessions_dir . '/' . $xsessions_file, 'Desktop Entry'); >+ if ($xsession{"Name"} eq $autologin->{desktop}) { >+ $xsession_file = $xsessions_file; >+ last; >+ } >+ } >+ closedir(DIR); >+ } >+ update_gnomekderc($sddm_conffile, 'Autologin' => ( >+ 'User' => $autologin->{user}, >+ 'Session' => $xsession_file >+ )) >+ } else { >+ update_gnomekderc($sddm_conffile, 'Autologin' => ( >+ 'User' => '', >+ 'Session' => '' >+ )) } } if -e $sddm_conffile; >+ > my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin"; > if (is_standalone_autologin_needed($autologin->{dm})) { > setVarsInShMode($xdm_autologin_cfg, 0644,
diff -ruN drakxtools-17.19.orig/perl-install/any.pm drakxtools-17.19/perl-install/any.pm --- drakxtools-17.19.orig/perl-install/any.pm 2016-03-10 10:32:47.220687937 +0100 +++ drakxtools-17.19/perl-install/any.pm 2016-03-10 10:34:19.700661202 +0100 @@ -654,6 +654,7 @@ my $kdm_file = common::read_alternative('kdm4-config'); my $lightdm_conffile = "$::prefix/etc/lightdm/lightdm.conf.d/50-mageia-autologin.conf"; my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf"; + my $sddm_conffile = "$::prefix/etc/sddm.conf"; my $autologin_file = "$::prefix/etc/sysconfig/autologin"; my $desktop = $desktop{DESKTOP} || first(sessions()); my %desktop_to_dm = ( @@ -686,6 +687,9 @@ my %conf = read_gnomekderc($lxdm_conffile, 'base'); $autologin_user = $conf{"autologin"}; $autologin_user =~ s/^.//; + } elsif ($dm eq "sddm") { + my %conf = read_gnomekderc($sddm_conffile, 'Autologin'); + $autologin_user = $conf{"User"}; } else { my %conf = getVarsFromSh($autologin_file); $autologin_user = text2bool($conf{AUTOLOGIN}) && $conf{USER}; @@ -759,6 +763,32 @@ 'lang' => '' )) } } if -e $lxdm_conffile; + #- Configure SDDM + my $sddm_conffile = "$::prefix/etc/sddm.conf"; + eval { if ($autologin->{user}) { + my $xsessions_dir = "$::prefix/usr/share/xsessions"; + my $xsession_file = $autologin->{desktop}; + if ($xsession_file && $xsession_file ne 'default' && $xsession_file ne 'failsafe' && opendir (DIR, $xsessions_dir)) { + while (my $xsessions_file = readdir(DIR)) { + next if ($xsessions_file =~ m/^\./); + my %xsession = read_gnomekderc($xsessions_dir . '/' . $xsessions_file, 'Desktop Entry'); + if ($xsession{"Name"} eq $autologin->{desktop}) { + $xsession_file = $xsessions_file; + last; + } + } + closedir(DIR); + } + update_gnomekderc($sddm_conffile, 'Autologin' => ( + 'User' => $autologin->{user}, + 'Session' => $xsession_file + )) + } else { + update_gnomekderc($sddm_conffile, 'Autologin' => ( + 'User' => '', + 'Session' => '' + )) } } if -e $sddm_conffile; + my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin"; if (is_standalone_autologin_needed($autologin->{dm})) { setVarsInShMode($xdm_autologin_cfg, 0644,
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 17913
:
7531
| 7540 |
7543