1. 09 Jun, 2020 1 commit
    • Benjamin Berg's avatar
      util, main: Reset all failed states on startup · 3b37bd27
      Benjamin Berg authored
      In the event that the user logs back in after a session failure, it is
      likely that some failed units cannot start. Reset all failed states to
      ensure that systemd at least tries to start all previously failed units
      on every login.
      3b37bd27
  2. 21 Mar, 2020 1 commit
    • Benjamin Berg's avatar
      util: Unset GNOME_SETUP_DISPLAY at login time · 7c928fcd
      Benjamin Berg authored
      This variable was introduced to allow Xwayland auto-startup.
      Unfortunately, it will prevent g-s-d process startup if it leaks from a
      wayland session to an Xorg session.
      
      As such, add it to the list of variables that are unset at login time.
      7c928fcd
  3. 08 Oct, 2019 1 commit
  4. 24 Sep, 2019 1 commit
    • Benjamin Berg's avatar
      util: Unset some environment variables on systemd · b7b24627
      Benjamin Berg authored
      Variables like GNOME_SHELL_SESSION_MODE may not always be set at login,
      causing them to survive between session. Add a list of variables that
      need to be unset, and explicitly unset them on the systemd side.
      
      The list is taken from GDMs list of variables.
      b7b24627
  5. 19 Sep, 2019 1 commit
  6. 28 Aug, 2019 1 commit
    • Iain Lane's avatar
      util: Blacklist some session-specific variables · 646b9bc0
      Iain Lane authored
      Things like XDG_SESSION_ID should not be uploaded to the environment.
      For example this is broken currently:
      
        1. SSH to your machine
        2. Log in to GNOME Shell
        3. Log out
        4. Log in again
        5. Lock the screen
        6. Try to unlock
      
      You can't, and this is because the XDG_SESSION_ID from the first session
      (step 2) has leaked through to the second one (step 4), and so GNOME
      Shell is listening to the `logind` `UnlockSession` signal for the wrong
      session. The SSH session established in step 1 serves to keep the
      `systemd --user` instance alive, so that the state is not torn down
      between logins.
      646b9bc0
  7. 13 Aug, 2019 1 commit
    • Marco Trevisan's avatar
      util: Add session env variables to child env · ff9e91f8
      Marco Trevisan authored
      GNOME Session does not replicate all the environment variables to its children
      while it sets them as activation environment for both DBUs and Systemd.
      
      This is causing the g-s child not to use pre-set variables such as XDG_RUNTIME_DIR
      for launching its children such as the whale dialog.
      
      Fixes #15
      ff9e91f8
  8. 01 Aug, 2019 1 commit
  9. 06 Apr, 2018 1 commit
  10. 13 Jan, 2017 2 commits
  11. 07 Mar, 2016 2 commits
  12. 07 Nov, 2015 1 commit
  13. 14 Oct, 2015 1 commit
  14. 21 Sep, 2015 1 commit
  15. 17 Sep, 2015 1 commit
    • Ray Strode's avatar
      gsm-util: save environment to $XDG_RUNTIME_DIR/gnome/environment · db7ce81e
      Ray Strode authored
      Environment variables are problematic because they require a parent
      child inheritance model, but they're often used in a per-session scope.
      
      gnome-session provides a mechanism for children to affect the
      environment of future siblings via the SetEnv dbus method call.
      Unfortunately that change does not affect existing siblings, or their
      offspring.
      
      This commit centralizes gnome-session's environment into a file,
      
           $XDG_RUNTIME_DIR/gnome/environment
      
      so other components in the session can ensure their children get the
      most up to date environment possible.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=738205
      db7ce81e
  16. 12 Dec, 2014 2 commits
  17. 06 May, 2014 1 commit
  18. 23 Jan, 2014 1 commit
  19. 23 Oct, 2013 1 commit
  20. 31 Jan, 2013 1 commit
  21. 23 Nov, 2012 2 commits
  22. 07 Nov, 2012 1 commit
  23. 28 Oct, 2012 1 commit
  24. 24 Sep, 2012 1 commit
    • Matthias Clasen's avatar
      Make autostart overriding more flexible · 17b0b119
      Matthias Clasen authored
      This patch changes the interpretation of --autostart.
      
      Previously, when specified on the commandline, no session file was
      loaded at all. With this patch, we make it just override the locations
      that we look for autostart files in, from the default
      /etc/xdg/autostart
      /usr/share/autostart
      /usr/share/gnome/autostart
      
      (we still consult those directories for fulfilling .session file
       requirements)
      
      The goal of this is to enable gdm to use autostart in the login
      session, so orca can be activated.
      
      https://bugzilla.gnome.org/show_bug.cgi?id=663721
      17b0b119
  25. 12 Aug, 2011 1 commit
  26. 22 Mar, 2011 4 commits
  27. 24 Mar, 2009 3 commits
    • Vincent Untz's avatar
      Rework deeply the code that writes the saved session to desktop files: we · 3e346957
      Vincent Untz authored
      2009-03-24  Vincent Untz  <vuntz@gnome.org>
      
      	Rework deeply the code that writes the saved session to desktop files:
      	we now properly discard a client when removing it; we also make sure we
      	save the current session before we completely remove the previously
      	saved session (to be on the safe side).
      	Note that we only discard a client when the new saved session doesn't
      	use the same discard command: for example, when metacity saves its
      	state, it will reuse the same discard command and so we can't discard
      	the old metacity client (it would discard the new client).
      
      	* gnome-session/gsm-util.[ch]: (gsm_util_get_empty_tmp_session_dir):
      	new function to get a temporary directory where to save the new
      	session, while we still keep the previously saved session. It also
      	makes sure the directory is empty.
      	* gnome-session/gsm-session-save.[ch]: (save_one_client): update to
      	make sure we remember the discard command from the client.
      	(gsm_session_save): rework to first save the session in the temporary
      	directory (and remember the discard commands from the saved clients),
      	and then clear the old session. We finish by renaming the temporary
      	directory to its final name.
      	(gsm_session_clear_one_client): new, to properly clear one client from
      	a saved session. We unlink the desktop file, but also run the discard
      	command if it's not used by any other client from the newly saved
      	session.
      	(gsm_session_clear_saved_session): change to clear a saved session in a
      	specified directory, and use gsm_session_clear_one_client() instead of
      	just unlinking the desktop file. Also add missing g_dir_close().
      
      svn path=/trunk/; revision=5355
      3e346957
    • Vincent Untz's avatar
      create the dir with permission 0755. (gsm_util_get_saved_session_dir): use · ac66a43d
      Vincent Untz authored
      2009-03-24  Vincent Untz  <vuntz@gnome.org>
      
      	* gnome-session/gsm-util.c: (ensure_dir_exists): create the dir with
      	permission 0755.
      	(gsm_util_get_saved_session_dir): use ~/.config instead of ~/.gnome2.
      	It's a good time to start using the xdg folders before we actually
      	start putting data.
      
      svn path=/trunk/; revision=5351
      ac66a43d
    • Vincent Untz's avatar
      use gsm_util_get_desktop_dirs() instead of just gsm_util_get_app_dirs(). · 34592e9f
      Vincent Untz authored
      2009-03-24  Vincent Untz  <vuntz@gnome.org>
      
      	* gnome-session/gsm-inhibit-dialog.c: (add_inhibitor): use
      	gsm_util_get_desktop_dirs() instead of just gsm_util_get_app_dirs().
      	Also try to handle desktop filenames that are an absolute path the best
      	way possible (this happens with OpenOffice.org).
      	* gnome-session/gsm-util.[ch]: (gsm_util_get_desktop_dirs): new
      	function, to return all the directories where we look up for the
      	desktop files.
      
      svn path=/trunk/; revision=5349
      34592e9f
  28. 24 Feb, 2009 1 commit
  29. 08 Jan, 2009 1 commit
    • Lucas Rocha's avatar
      Bug 552218 – typo: "unable connect" · 5e28952a
      Lucas Rocha authored
      2009-01-08  Lucas Rocha  <lucasr@gnome.org>
      
      	Bug 552218 – typo: "unable connect"
      
      	* gnome-session/gsm-util.c: fix typo.
      
      svn path=/trunk/; revision=5181
      5e28952a
  30. 06 Jan, 2009 1 commit
  31. 26 Nov, 2008 1 commit