Mageia Bugzilla – Attachment 7406 Details for
Bug 17616
autologin cannot be disabled with LXDM
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
[patch]
Real improved version
drakxtools-17.16-lxdm-improved.patch (text/plain), 2.80 KB, created by
Nicolas Salguero
on 2016-02-04 14:28:37 CET
(
hide
)
Description:
Real improved version
Filename:
MIME Type:
Creator:
Nicolas Salguero
Created:
2016-02-04 14:28:37 CET
Size:
2.80 KB
patch
obsolete
>diff -ruN drakxtools-17.16.orig/perl-install/any.pm drakxtools-17.16/perl-install/any.pm >--- drakxtools-17.16.orig/perl-install/any.pm 2016-01-25 01:41:41.000000000 +0100 >+++ drakxtools-17.16/perl-install/any.pm 2016-02-04 14:24:41.147965392 +0100 >@@ -653,6 +653,7 @@ > my $gdm_file = "$::prefix/etc/X11/gdm/custom.conf"; > 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 $autologin_file = "$::prefix/etc/sysconfig/autologin"; > my $desktop = $desktop{DESKTOP} || first(sessions()); > my %desktop_to_dm = ( >@@ -681,6 +682,10 @@ > } elsif ($dm eq "lightdm") { > my %conf = read_gnomekderc($lightdm_conffile, 'Seat:*'); > $autologin_user = text2bool($conf{'#dummy-autologin'}) && $conf{"autologin-user"}; >+ } elsif ($dm eq "lxdm") { >+ my %conf = read_gnomekderc($lxdm_conffile, 'base'); >+ $autologin_user = $conf{"autologin"}; >+ $autologin_user =~ s/^.//; > } else { > my %conf = getVarsFromSh($autologin_file); > $autologin_user = text2bool($conf{AUTOLOGIN}) && $conf{USER}; >@@ -691,7 +696,7 @@ > > sub is_standalone_autologin_needed { > my ($dm) = @_; >- return member($dm, qw(lxdm slim xdm)); >+ return member($dm, qw(slim xdm)); > } > > sub set_autologin { >@@ -728,8 +733,33 @@ > 'autologin-user' => $autologin->{user} > )) } if -e $lightdm_conffile; > >+ #- Configure LXDM >+ my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf"; >+ eval { update_gnomekderc($lxdm_conffile, 'base' => ( >+ 'autologin' => $autologin->{user} ? '@' . $autologin->{user} : $autologin->{user} >+ )); >+ 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; >+ $xsession_file =~ s{\.[^.]+$}{}; >+ last; >+ } >+ } >+ closedir(DIR); >+ } >+ update_gnomekderc($lxdm_conffile, $autologin->{user} => ( >+ 'user' => $autologin->{user}, >+ 'session' => $xsession_file, >+ 'lang' => '' >+ )) } } if -e $lxdm_conffile; >+ > my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin"; >- # TODO: configure lxdm in /etx/lxdm/lxdm.conf > if (is_standalone_autologin_needed($autologin->{dm})) { > setVarsInShMode($xdm_autologin_cfg, 0644, > { USER => $autologin->{user}, AUTOLOGIN => bool2yesno($autologin->{user}), EXEC => '/usr/bin/startx.autologin' });
diff -ruN drakxtools-17.16.orig/perl-install/any.pm drakxtools-17.16/perl-install/any.pm --- drakxtools-17.16.orig/perl-install/any.pm 2016-01-25 01:41:41.000000000 +0100 +++ drakxtools-17.16/perl-install/any.pm 2016-02-04 14:24:41.147965392 +0100 @@ -653,6 +653,7 @@ my $gdm_file = "$::prefix/etc/X11/gdm/custom.conf"; 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 $autologin_file = "$::prefix/etc/sysconfig/autologin"; my $desktop = $desktop{DESKTOP} || first(sessions()); my %desktop_to_dm = ( @@ -681,6 +682,10 @@ } elsif ($dm eq "lightdm") { my %conf = read_gnomekderc($lightdm_conffile, 'Seat:*'); $autologin_user = text2bool($conf{'#dummy-autologin'}) && $conf{"autologin-user"}; + } elsif ($dm eq "lxdm") { + my %conf = read_gnomekderc($lxdm_conffile, 'base'); + $autologin_user = $conf{"autologin"}; + $autologin_user =~ s/^.//; } else { my %conf = getVarsFromSh($autologin_file); $autologin_user = text2bool($conf{AUTOLOGIN}) && $conf{USER}; @@ -691,7 +696,7 @@ sub is_standalone_autologin_needed { my ($dm) = @_; - return member($dm, qw(lxdm slim xdm)); + return member($dm, qw(slim xdm)); } sub set_autologin { @@ -728,8 +733,33 @@ 'autologin-user' => $autologin->{user} )) } if -e $lightdm_conffile; + #- Configure LXDM + my $lxdm_conffile = "$::prefix/etc/lxdm/lxdm.conf"; + eval { update_gnomekderc($lxdm_conffile, 'base' => ( + 'autologin' => $autologin->{user} ? '@' . $autologin->{user} : $autologin->{user} + )); + 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; + $xsession_file =~ s{\.[^.]+$}{}; + last; + } + } + closedir(DIR); + } + update_gnomekderc($lxdm_conffile, $autologin->{user} => ( + 'user' => $autologin->{user}, + 'session' => $xsession_file, + 'lang' => '' + )) } } if -e $lxdm_conffile; + my $xdm_autologin_cfg = "$::prefix/etc/sysconfig/autologin"; - # TODO: configure lxdm in /etx/lxdm/lxdm.conf if (is_standalone_autologin_needed($autologin->{dm})) { setVarsInShMode($xdm_autologin_cfg, 0644, { USER => $autologin->{user}, AUTOLOGIN => bool2yesno($autologin->{user}), EXEC => '/usr/bin/startx.autologin' });
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 17616
:
7399
|
7405
|
7406
|
8342
|
8343
|
8632