Off Topic Xmonad Question

Greetings: I could not find a sub-category for my question so I am asking it here.

I am trying to install / run xmonad on my daily driver system. I have a lot of it sorted out, but O cannot seem to get it and lightdm to play together. Before you advise me to use “xmonad —recompile”. Know that I have tried that with no success.

I had issues with the repository version 0.15, for both the main xmonad and contrib packages, so I obtained the source and compiled version 0.17 from GitHub.

It runs fine started from command line via startx. I enable lightdm and checked lightdm.conf and cannot see why when I type my password in at the greeter it tries to load xmonad but dumps me right back at login for lightdm. The xmonad executable is in /home/username/.local/bin and .xprofile and .xinitrc know this. Just seems lightdm can’t launch my xmonad. What am I not doing?

Thanks in advance.

Michael, Kansas City, MO

1 Like

Some window managers do not play nice with lightdm. Give ly a try:

AUR (en) - ly (

1 Like

Since it works with startx, xinitrc is working as designed.
xprofile is what LightDM sources. AFAIK, xprofile is not for executing commands, only modifying environment.
You have probably something wrong in the file.
If you want (potential) help, post these two files. Exclude personal or security info.

I truly appreciate the suggestions so far. I have determined that my .xprofile was not the problem, so I deleted it since I made it. my .xinitrc is standard (as shipped with EOS) but has exec xmonad only in the bottom of the file instead of the three base X apps.

Like I stated, startx starts my very minimal installation of xmonad, that until I can get a login manager working, I am not going to “rice” it the rest of the way, so it is just a black screen which responds to keyboard commands. And runs my programs from dmenu, so dmenu and a very base (only modkey and terminal definitions at this time) works. I can launch all installed programs on my computer through dmenu. As I was jacking around with my xmonad config about 5 minutes ago, was about to burn an iso to a thumb drive and may have found the “real” issue, but alas don’t know how to fix it so here’s part deux of the question at hand. The error I got was to the effect of “No polkit application defined” and it quits out. I have a feeling that it needs lxsession of whatever handles PAM Authenication in any DM including LightDM or SDDM (which is what I tried last to see if was lightdm, but same result). So how do it enable lxsession for xmonad is what the question becomes.

Thanks Again. Below is my .xinitrc:


# merge in defaults and keymaps

if [ -f $sysresources ]; then

    xrdb -merge $sysresources


if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap

if [ -f "$userresources" ]; then

    xrdb -merge "$userresources"


if [ -f "$usermodmap" ]; then
    xmodmap "$usermodmap"

# start some nice programs

if [ -d /etc/X11/xinit/xinitrc.d ] ; then
 for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
  [ -x "$f" ] && . "$f"
 unset f

exec xmonad

Thanks Again all!


in your ~/.xinitrc, you would write

exec $HOME/.cache/xmonad/xmonad-x86_64-linux

Would you mind adding an explanation on this?

By default, xmonad always recompiles itself when a build script is used (because the build script could contain arbitrary code, so a simple check whether the xmonad.hs file changed is not enough). If you find that too annoying, then you can use the xmonad-ARCH executable that xmonad --recompile generates instead of xmonad in your startup. For example, instead of writing

exec xmonad

in your ~/.xinitrc, you would write

exec $HOME/.cache/xmonad/xmonad-x86_64-linux

The ~/.cache prefix is the $XDG_CACHE_HOME directory. Note that if your xmonad configuration resides within ~/.xmonad, then the executable will also be within that directory and not in $XDG_CACHE_HOME.

you can look here for more information:

1 Like