Bash file required to startup qtile with Xinit on manjaro-xfce


Trying to install Qtile. In the install instruction from Arch wiki:



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/ 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"
    unset f

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 file there to startup qtile, I will startup qutile
2 - what… should that .sh file actually do? I can’t find an example anywhere?

is the default file and the example and starting point

You modify this, after you copied it to:

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:

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/ is configuration for when the qtile window manager is already up
and I know nothing about that.

Okay -

In my case, I already have ~/.xinitrc, guessing from some previous configuration (maybe xfce or something):

# ~/.xinitrc
# Executed by startx (run your window manager from here)



# 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

	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") ;;

	echo "dbus-launch ${dbus_args[*]}"
exec $(get_session "$1")

So I DO NOT have the twm & command, but instead if I read this correctly:

  1. Some system configurations readup what UI suff I want to run in my session
  2. so now it probably finds in dbus_args “xfce4-session” (since I’m running xfce4). Maybe some other stuff in that list there.
  3. 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.
  4. 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 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.

This topic was automatically closed 2 days after the last reply. New replies are no longer allowed.