Trying to install Qtile. In the install instruction from Arch wiki:
Starting
Xorg
To run Qtile as an X11 window manager, run qtile start with xinit.
Okay - but I can’t seem to find the details of how to actually get that started. My current understanding:
I have my qtile confgs living at ~/.config/qtile/config.py. I seem to gather that for xinit, startup programs happen at ~/.xinitrc. In that file, the relevent bit (I think) tells me that I want to add stuff here:
# 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
So I want to add some bash file at /etc/X11/xinit/xinitrc.d. I can find a few files (presumably from other stuff started by xinit). gtk-canberra stuff and some systemd file.
Okay - but:
1 - Am I right in thinking that if I had the proper myQtileStartup.sh file there to startup qtile, I will startup qutile
2 - what… should that .sh file actually do? I can’t find an example anywhere?
/etc/X11/xinit/xinitrc
is the default file and the example and starting point
You modify this, after you copied it to: ~/.xinitrc
cp /etc/X11/xinit/xinitrc ~/.xinitrc
this is in the wiki
You do not want to run a display manager - make sure it is disabled
You want (if you follow the wiki) to use: startx
after having logged in at the console
to modify the ~/.xinitrc file to start your window manager
you go to the end of the file
you see: twm &
mentioned - that is another (ancient) window manager
have it start qtile instead
(and comment out the xterm and xclock lines after that - you likely are not interested in those being started)
The ~/.config/qtile/config.py is configuration for when the qtile window manager is already up
and I know nothing about that.
In my case, I already have ~/.xinitrc, guessing from some previous configuration (maybe xfce or something):
#!/bin/bash
#
# ~/.xinitrc
#
# Executed by startx (run your window manager from here)
userresources=$HOME/.Xresources
usermodmap=$HOME/.Xmodmap
sysresources=/etc/X11/xinit/.Xresources
sysmodmap=/etc/X11/xinit/.Xmodmap
SESSION=${1:-xfce}
# 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
get_session(){
local dbus_args=(--sh-syntax --exit-with-session)
case "$1" in
awesome) dbus_args+=(awesome) ;;
bspwm) dbus_args+=(bspwm-session) ;;
budgie) dbus_args+=(budgie-desktop) ;;
cinnamon) dbus_args+=(cinnamon-session) ;;
deepin) dbus_args+=(startdde) ;;
enlightenment) dbus_args+=(enlightenment_start) ;;
fluxbox) dbus_args+=(startfluxbox) ;;
gnome) dbus_args+=(gnome-session) ;;
i3|i3wm) dbus_args+=(i3 --shmlog-size 0) ;;
jwm) dbus_args+=(jwm) ;;
kde) dbus_args+=(startplasma-x11) ;;
lxde) dbus_args+=(startlxde) ;;
lxqt) dbus_args+=(lxqt-session) ;;
mate) dbus_args+=(mate-session) ;;
xfce) dbus_args+=(xfce4-session) ;;
openbox) dbus_args+=(openbox-session) ;;
*) dbus_args+=("$1") ;;
esac
echo "dbus-launch ${dbus_args[*]}"
}
exec $(get_session "$1")
So I DO NOT have the twm & command, but instead if I read this correctly:
Some system configurations readup what UI suff I want to run in my session
so now it probably finds in dbus_args “xfce4-session” (since I’m running xfce4). Maybe some other stuff in that list there.
then it builds/start a start session command (with get_session(){…}. I’m guessing that returnsa properly formatted command to start the session configure as it should.
then it execs that command.
So if I read your command correctly… Running qtile ix muatually exclusive with running another manager (like xfce4). So I guess would need to add an entry for qtile in there (e.g. something like qtile) dbus_args+=(qtile start) ;;
And then I would need to add “qtile” to dbus_args (unsure where that’s done).
OR, would it just be simpler to backup that file, replace all the get_session() stuff and simply add a exec $(qtile start) call?
Yeah I realize the role of config.py now, I don’t are about it, I just want to run qtile with the defaults & see that it works. I’ll figure out the configs later.
indeed - because the wiki starts from scratch - it uses the /etc/X11/xinit/xinitrc as a template
The file you have now can probably also be used - you just have to put the start command for qtile in there.
You should not be running that.
Disable your display manager.
Back up that file.
Follow the wiki.
From what I saw, it tells you how to start qtile without a display manager - by using startx at the console.
Or find out how to have the display manager start your desired qtile window manager - using the already existing entries in your present ~/.xinitrc as an example.