Running Xfce from a display manager ----------------------------------- If use you a login manager like GDM or LightDM, you may have two ways to start Xfce : - “Xfce Session” will run a complete xfce session, using Xfce-provided scripts (/usr/bin/startxfce4 which will then run /etc/xdg/xfce4/xinitrc or $HOME/.config/xfce4/xinitrc). - “Default session” will run whatever is the default session manager on your system. This is the /usr/bin/x-session-manager alternatives, meaning you can tune it with update-alternatives (8). If you only have Xfce installed on your system, it will default to startxfce4, which will run the complete Xfce desktop environment. GDM and LightDM will initialize ConsoleKit so you should be able to manage your computer (mount removable devices, suspend, shutdown or hibernate etc.). Running Xfce from the console ----------------------------- If you don't use a login manager but start Xfce from console, you need to take care of few stuff in order to get a complete Xfce session with full permission (mount, suspend/shutdown/hibernate etc.) This is because Debian now uses PolicyKit/ConsoleKit to manage policies for things like device and power management. If you run Xfce from a compatible display manager (like gdm or lightdm), they'll talk to consolekit so your X session will have the authentication tokens, but if you use startx, it won't. Important stuff: * only use startx, without any argument * don't use a .xinitrc, use .xsession This is because ConsoleKit ships an init script (/etc/X11/Xsession.d/90consolekit), but the /etc/X11/Xsession.d/ scripts are only executed if you don't use any .xinitrc. See startx (1) for more information. Then you need to fine-tune your pam installation so ConsoleKit can be sure that your user is correctly authenticated. For that, you need to: * install libpam-ck-connector * put: ---- session optional pam_loginuid.so ---- *before* pam_ck_connector.so in /etc/pam.d/common-session.