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?
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:
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
if [ -f $sysresources ]; then
xrdb -merge $sysresources
fi
if [ -f $sysmodmap ]; then
xmodmap $sysmodmap
fi
if [ -f "$userresources" ]; then
xrdb -merge "$userresources"
fi
if [ -f "$usermodmap" ]; then
xmodmap "$usermodmap"
fi
# 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"
done
unset f
fi
exec xmonad
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.