I'm getting very close to a final solution :) So now the only thing left to do is to make sure that these are executed (this is my .xprofile): if [ -x "$(which gpg-agent)" ]; then if test -f $HOME/.gpg-agent-info && \ kill -0 $(cut -d: -f 2 $HOME/.gpg-agent-info) 2>/dev/null then GPG_AGENT_INFO=$(cat $HOME/.gpg-agent-info) export GPG_AGENT_INFO else eval $(gpg-agent --daemon) echo $GPG_AGENT_INFO >$HOME/.gpg-agent-info fi fi source $HOME/.bash_profile xbindkeys -f $HOME/.xbindkeysrc & bitlbee -F -c $HOME/.bitlbee.conf Very strangely now even if the gpg-agent is not appearing to be on, the gpg key looks cached anyway. Is it the consolekit doing something maybe? So I'm not sure if I should move them to .xinitrc or to use GDM.. Probably GDM would be easier and I can configure also the auto-login, but does it starts many other things that I don't need? And when everything is done, is there an easy way to uninstall all the gnome things which I don't need anymore? (pacman -R gnome complains about many dependencies)