I believe we have a viable fix in devuan.
https://git.devuan.org/devuan/slim/src/branch/suites/unstable/debian/patches/Patch-to-fix-auto_login-regression-introduced-in-1.4.patch
Comments/adjustments are welcome.
diff --git a/app.cpp b/app.cpp
index d378793..6b0d8de 100644
--- a/app.cpp
+++ b/app.cpp
@@ -454,7 +454,7 @@ void App::Run()
try {
pam.check_acct();
#endif
- Login();
+ Login(true);
#ifdef USE_PAM
}
catch(PAM::Auth_Exception& e){
@@ -648,7 +648,7 @@ int App::GetServerPID()
}
-void App::Login()
+void App::Login(bool autologin)
{
struct passwd *pw;
pid_t pid;
@@ -790,6 +790,10 @@ void App::Login()
if ( system(sessStart.c_str()) < 0 )
logStream << APPNAME << ": Failed to run
sessionstart_cmd" << endl;
}
+ if( autologin )
+ {
+ LoginPanel->ClosePanel();
+ }
Su.Login(loginCommand.c_str(), mcookie.c_str());
_exit(OK_EXIT);
}
diff --git a/app.h b/app.h
index 7453e34..529ec89 100644
--- a/app.h
+++ b/app.h
@@ -44,7 +45,7 @@ public:
bool isServerStarted();
private:
- void Login();
+ void Login(bool autologin=false);
void Reboot();
void Halt();
void Suspend();
diff --git a/app.cpp b/app.cpp
index d378793..6b0d8de 100644
--- a/app.cpp
+++ b/app.cpp
@@ -454,7 +454,7 @@ void App::Run()
try {
pam.check_acct();
#endif
- Login();
+ Login(true);
#ifdef USE_PAM
}
catch(PAM::Auth_Exception& e){
@@ -648,7 +648,7 @@ int App::GetServerPID()
}
-void App::Login()
+void App::Login(bool autologin)
{
struct passwd *pw;
pid_t pid;
@@ -790,6 +790,10 @@ void App::Login()
if ( system(sessStart.c_str()) < 0 )
logStream << APPNAME << ": Failed to run sessionstart_cmd" << endl;
}
+ if( autologin )
+ {
+ LoginPanel->ClosePanel();
+ }
Su.Login(loginCommand.c_str(), mcookie.c_str());
_exit(OK_EXIT);
}
diff --git a/app.h b/app.h
index 7453e34..529ec89 100644
--- a/app.h
+++ b/app.h
@@ -44,7 +45,7 @@ public:
bool isServerStarted();
private:
- void Login();
+ void Login(bool autologin=false);
void Reboot();
void Halt();
void Suspend();