diff --git a/kiosktool/kioskrun.cpp b/kiosktool/kioskrun.cpp index bc6acfe..e4eede9 100644 --- a/kiosktool/kioskrun.cpp +++ b/kiosktool/kioskrun.cpp @@ -749,9 +749,22 @@ KioskRun::setupRuntimeEnv() TDEStandardDirs::makeDir(cacheDir); deleteDir(m_homeDir+"/.qt"); ::unlink(TQFile::encodeName(m_homeDir+".tderc")); - - TQString iceAuth = TQString("%1/.ICEauthority").arg(TQDir::homeDirPath()); + TQString iceFileBase = "ICEauthority"; + TQString iceAuth; + if (getenv("XDG_RUNTIME_DIR")) + { + iceAuth = TQString("%1/%2").arg(getenv("XDG_RUNTIME_DIR")).arg(iceFileBase); + TQFileInfo fi(iceAuth); + if (!fi.exists()) + { + iceAuth = TQString::null; + } + } + if (iceAuth.isEmpty()) + { + iceAuth = TQString("%1/.%2").arg(TQDir::homeDirPath()).arg(iceFileBase); + } setenv("ICEAUTHORITY", TQFile::encodeName(iceAuth), 0); // Don't overwrite existing setting TQString xAuth = TQString("%1/.Xauthority").arg(TQDir::homeDirPath());