File sddm-relaxed-auth.diff of Package sddm
Index: sddm-0.17.0/src/daemon/XorgDisplayServer.cpp
===================================================================
--- sddm-0.17.0.orig/src/daemon/XorgDisplayServer.cpp
+++ sddm-0.17.0/src/daemon/XorgDisplayServer.cpp
@@ -288,6 +288,7 @@ namespace SDDM {
// set process environment
QProcessEnvironment env;
env.insert(QStringLiteral("DISPLAY"), m_display);
+ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), daemonApp->hostName());
env.insert(QStringLiteral("HOME"), QStringLiteral("/"));
env.insert(QStringLiteral("PATH"), mainConfig.Users.DefaultPath.get());
env.insert(QStringLiteral("XAUTHORITY"), m_authPath);
Index: sddm-0.17.0/src/helper/Backend.cpp
===================================================================
--- sddm-0.17.0.orig/src/helper/Backend.cpp
+++ sddm-0.17.0/src/helper/Backend.cpp
@@ -27,6 +27,7 @@
#include "UserSession.h"
#include <QtCore/QProcessEnvironment>
+#include <QtNetwork/QHostInfo>
#include <pwd.h>
@@ -69,6 +70,7 @@ namespace SDDM {
.arg(QString::fromLocal8Bit(pw->pw_dir))
.arg(mainConfig.X11.UserAuthFile.get());
env.insert(QStringLiteral("XAUTHORITY"), value);
+ env.insert(QStringLiteral("XAUTHLOCALHOSTNAME"), QHostInfo::localHostName());
}
// TODO: I'm fairly sure this shouldn't be done for PAM sessions, investigate!
m_app->session()->setProcessEnvironment(env);