/xfce4-session

Primary LanguageCGNU General Public License v2.0GPL-2.0

Session manager for the Xfce desktop environment.

Shutting down your computer using the session manager:
------------------------------------------------------
Since 4.1.5, the session manager supports only sudo(8)-based shutdown, other
method can be added by packagers if desired, just replace XfsmShutdownHelper
with your code. To be able to shutdown the computer, you must be listed
in the systems sudoers file, in particular, you must be allowed to execute
$HELPER_PATH_PREFIX/xfce4/session/xfsm-shutdown-helper as user root (where
$HELPER_PATH_PREFIX is the directory passed to configure with the
--with-helper-path-prefix option or /usr/local/lib by default). 

For example, you built xfce4-session with the default options, your hostname
is myhost and your user account is named myuser, then you'd have to add
the following line to your sudoers file (remember to use visudo to edit
that file):

  myuser	myhost=/usr/local/lib/xfce4/session/xfsm-shutdown-helper

Starting with xfce4-session 4.3.99.2 xfce4-session will first try to use
HAL (if built with D-Bus support) and fallback to the sudo method described
above. So if you have HAL installed on your system, and your account is
allowed to shutdown/reboot the computer using HAL, you don't need to setup
sudo at all.


Legacy session management:
--------------------------
As of version 4.1.7, the session manager includes native support for
applications that don't support the X11R6 session management protocol,
but support legacy (X11R5) session management. If you don't need legacy
session management support, you can disable it at compile time, giving
--disable-legacy-sm to ./configure.

The legacy sm code is ment as a replacement for smproxy (the X11 session
management proxy), which caused all kinds of trouble. That says, do NOT
EVER run smproxy in session that is managed by xfce4-session, or weird
things will happen. The included legacy session management does everything
that smproxy would do, and besides that, it also support multiscreen
display and it is less error prone compared to smproxy (atleast once
the various bugs I introduced are fixed :-).