Skip to content

Commit

Permalink
Move ~/.Xauthority to ${XDG_RUNTIME_DIR} if XDG_RUNTIME_DIR is set
Browse files Browse the repository at this point in the history
Set user-authority-in-system-dir=false in config.
Tested with ConsoleKit2. Not sure that will work with logind without additional code.

Licence: BSD2CLAUSE
  • Loading branch information
rozhuk-im committed Dec 28, 2023
1 parent 1ade713 commit 7f0d2b3
Show file tree
Hide file tree
Showing 2 changed files with 8 additions and 1 deletion.
2 changes: 1 addition & 1 deletion data/lightdm.conf
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
# minimum-display-number = Minimum display number to use for X servers
# minimum-vt = First VT to run displays on
# lock-memory = True to prevent memory from being paged to disk
# user-authority-in-system-dir = True if session authority should be in the system location
# user-authority-in-system-dir = True if session authority should be in the system location, else XDG_RUNTIME_DIR or home dir will be used
# guest-account-script = Script to be run to setup guest account
# logind-check-graphical = True to on start seats that are marked as graphical by logind
# log-directory = Directory to log information to
Expand Down
7 changes: 7 additions & 0 deletions src/session-child.c
Original file line number Diff line number Diff line change
Expand Up @@ -602,6 +602,13 @@ session_child_run (int argc, char **argv)
/* Write X authority */
if (x_authority)
{
/* If XDG_RUNTIME_DIR is set and user-authority-in-system-dir=false than use
* XDG_RUNTIME_DIR to store .Xauthority file. */
const gchar *runtime_dir = pam_getenv (pam_handle, "XDG_RUNTIME_DIR");
if (runtime_dir && x_authority_filename && g_str_has_suffix (x_authority_filename, ".Xauthority")) {
x_authority_filename = g_build_filename (runtime_dir, ".Xauthority", NULL);
}

gboolean drop_privileges = geteuid () == 0;
if (drop_privileges)
privileges_drop (user_get_uid (user), user_get_gid (user));
Expand Down

0 comments on commit 7f0d2b3

Please sign in to comment.