Installing Qtile

Hey viewers.
I've been trying to piece together the steps to properly install Qtile on v15.x.
Searching youtube, reddit, even qtile.org for good documentation has proved of little help.
Qtile's install guide is quite literally a one liner, and does not work.
The most help I have found has been on this very forum, here, and here.
I personally want to be able to install it with just Xorg and without the need for a display manager or additional desktop environment.

The final issue to this install for me has been to be able to gracefully exit it back to the terminal.

The install steps I've compiled, based on past troubleshootings performed by other users (including lv426 r2com bsduck covacat chrbr T-Daemon )
are as follows:

01.Search and Install Qtile via pkg:
$ sudo pkg search qtile
Note the package name and install it:
$ sudo pkg install py311-qtile-0.nn.n
Replace nn.n with the qtile version number FreeBSD currently lists in its packages.

02.Install a dependency file (graphic library for GTK):
Search for gdk-pixbuf2:
$ sudo pkg search gdk-pixbuf2
Install the current version number listed:
$ sudo pkg install gdk-pixbuf2-n.nn.n
Replace n.nn.n with the current version number listed.

03.Create config folder, copy the default config file, rename it:
$ sudo mkdir ~/.config/qtile
Copy it:
$ sudo cp /usr/local/lib/python3.11/site-packages/libqtile/resources/default_config.py ~/.config/qtile
Rename it:
$ sudo mv ~/.config/qtile/default_config.py config.py

04.Create (or edit) the .xinitrc file to automatically launch qtile:
$ sudo vi ~/.xinitrc
Add the following lines to it:

#!bin/sh
qtile start &
sleep 10000000

Save and exit.

05.Issue the startx command to start qtile:
$ startx

The only piece to this puzzle I haven't discovered yet is how to exit qtile gracefully to a command prompt.
Using the keybinding Super+Ctrl+r just removes the bar, but doesn't take me all the way out of qtile.
The mouse pointer is still active, and the background image still visible.
I had to break out with Ctrl+Alt+F4 or F5.
The qtile.log file also doesn't report anything related to it.

Any and all suggestions are welcome.
 
Replace nn.n with the qtile version number FreeBSD currently lists in its packages.
Don't add the version number to the package you want to install. There's no need, pkg-install(8) will automatically install the version that's available. And there are never any older versions of the packages in the repositories.
 
SirDice thank you. That is good to know. i'll remember that for my next install.
bda65 thank you for checking this. Yep, I tried that combination, and it doesn't work for me.
I'm using qtile's default config.py, and Super+Ctrl+q for the exit gives me the same outcome: The status bar goes away, and I no longer have control of the window, other than to break out to the terminal.
I get the feeling if I install a desktop like XFCE with a login display manager it will probably work, but I won't know why. I just don't need a DE or login display manager. I also don't need to auto login.
 
Why do you add this:
sleep 10000000
At the end of your .xinitrc? That's the problem. Your .xinitrc do not end before 10000000 seconds!!!
Remove this line.
 
Because if I don't add a sleep parameter, qtile won't even launch (not for me anyway).
See also here.
In the meantime I installed XFCE and LightDM, and sure enough, I am now able to exit qtile back to a login window.
Since it works correctly when a display manager is installed, I don't believe this is a qtile issue per-se, but some configuration issue.
 
Update:
I uninstalled the Qtile package, then installed it from the ports collection.
It took a couple of hours, but it completed without errors.

I ran startx, and it launched qtile just fine.
I then keyed [Super+Ctrl+q] and it took me back to the terminal... and that is just what I wanted it to do.

my ~/.xinitrc file now looks like this:
Code:
#!bin/sh
qtile start

So no sleep setting needed this time to launch it.
Even the qtile.log file finally populated with data.
~/.local/share/qtile/qtile.log

I am guessing bda65 when you used it on your system you performed a port install.

So all in all, my observations were:
Installing qtile as a package works correctly if used in conjunction with an X Window (xorg), a desktop and some supported login display manager.
Installing qtile as a port works correctly if using just an X Window.
 
Tried with pkg, work well. My .xinitrc:
Code:
#!/bin/sh
setxkbmap fr1 oss
xrdb ~/.Xresources
xset s on
xset +dpms s 180 120
xset -b
xss-lock -n dim-beforelock.sh -- slock &
mixer vol=0.2
exec ~/.fehbg &
exec redshift &
dbus-launch --exit-with-session qtile start
When you add something after your WM or DE in .xinitrc script file, that part is executed when you quit the WM/DE.
But do not add & at the end because it make your WM run in background and the next line is executed. In that case, qtile run only for 10000000 seconds and quit automatically (end of sleep). But if you quit it manually, the sleep is not finished and your computer do nothing.
If you look my .xinitrc script, i use & only for software that run continuously in the background like xss-lock (activate the screensaver when idle). Same with redshift (control the red light of the screen) and my wallpaper (with feh) need to keep in background or it disappear.
 
Everything after the first exec will never be reached.

Code:
     exec [command [arg ...]]
             Unless command is omitted, the shell process is replaced with the
             specified program (which must be a real program, not a shell
             built-in command or function).  Any redirections on the exec
             command are marked as permanent, so that they are not undone when
             the exec command finishes.
 
Never used qtile but your ~/.xinitrc should probably look something like this:
Code:
exec ck-launch-session qtile start
Not sure if that ck-launch-session is needed but a lot of desktops nowadays leverage Dbus/ConsoleKit/Policykit for a form of authorization (being able to shutdown/restart, mount, etc) and ck-launch-session will make sure it's actually started within a proper ConsoleKit session.
 
Thanks bda65 and SirDice you've both given me some new things to try out.
Since reacquainting myself with FreeBSD my aim has been to just create a minimal setup, using xorg (or else xlibre) and a window manager. Perhaps I'll add Ly or similar login manager
in future, but I think I have all I need now. Thank you both for your help.
 
Hey viewers.
I've been trying to piece together the steps to properly install Qtile on v15.x.
Searching youtube, reddit, even qtile.org for good documentation has proved of little help.
Qtile's install guide is quite literally a one liner, and does not work.
The most help I have found has been on this very forum, here, and here.
I personally want to be able to install it with just Xorg and without the need for a display manager or additional desktop environment.

The final issue to this install for me has been to be able to gracefully exit it back to the terminal.

The install steps I've compiled, based on past troubleshootings performed by other users (including lv426 r2com bsduck covacat chrbr T-Daemon )
are as follows:

01.Search and Install Qtile via pkg:
$ sudo pkg search qtile
Note the package name and install it:
$ sudo pkg install py311-qtile-0.nn.n
Replace nn.n with the qtile version number FreeBSD currently lists in its packages.

02.Install a dependency file (graphic library for GTK):
Search for gdk-pixbuf2:
$ sudo pkg search gdk-pixbuf2
Install the current version number listed:
$ sudo pkg install gdk-pixbuf2-n.nn.n
Replace n.nn.n with the current version number listed.

03.Create config folder, copy the default config file, rename it:
$ sudo mkdir ~/.config/qtile
Copy it:
$ sudo cp /usr/local/lib/python3.11/site-packages/libqtile/resources/default_config.py ~/.config/qtile
Rename it:
$ sudo mv ~/.config/qtile/default_config.py config.py

04.Create (or edit) the .xinitrc file to automatically launch qtile:
$ sudo vi ~/.xinitrc
Add the following lines to it:

#!bin/sh
qtile start &
sleep 10000000

Save and exit.

05.Issue the startx command to start qtile:
$ startx

The only piece to this puzzle I haven't discovered yet is how to exit qtile gracefully to a command prompt.
Using the keybinding Super+Ctrl+r just removes the bar, but doesn't take me all the way out of qtile.
The mouse pointer is still active, and the background image still visible.
I had to break out with Ctrl+Alt+F4 or F5.
The qtile.log file also doesn't report anything related to it.

Any and all suggestions are welcome.
Im using Qtile for many moons now, exclusively on FreeBSD ( laptop + pc )
You have way to many steps.
In the past i used to install from github and now we need python 3.12 which is no go for FreeBSD and ive noted that in ports/packages guys updated to version 0.33 which is awesome.
pkg install py311-qtile
pkg install py311-pip
( if you use it )
02.Install a dependency file (graphic library for GTK):
Search for gdk-pixbuf2:
This one is not always needed but also there other package which sometimes is needed ( sorry i cant remember ) and last time i installed i needed xorg xf86 evdev as well. Sometimes i need no packages sometimes i need few extra packages to install ( dont know why ) but mainly for Xorg and libraries.

03.Create config folder, copy the default config file, rename it:
$ sudo mkdir ~/.config/qtile
Copy it:
$ sudo cp /usr/local/lib/python3.11/site-packages/libqtile/resources/default_config.py ~/.config/qtile
Rename it:
$ sudo mv ~/.config/qtile/default_config.py config.py
You can skip this one, not needed as qtile creates config there once you start it. You can copy your config to .config/qtile if you have one and you want to use before you start it.

04.Create (or edit) the .xinitrc file to automatically launch qtile:
$ sudo vi ~/.xinitrc
Add the following lines to it:
Code:
#!bin/sh
qtile start &
sleep 10000000

Save and exit.
Never needed to use this , only qtile start in .xinitrc.
Also if you use with login manager - you need to create few extra files ot make sure Qtile works as intended.
If you use Qtile - use qtile-extras, creator of qtile-extras is maintainer of Qtile as well and really helpful if you need to implement something ( i asked for vertical bar with icons implementation and he did it ) hence 0.33 and higher version you need if you want to have vertical bar with icons ( Launchbar )
install qtile-extras version 0.33 like your qtile. i usually do pip install --user qtile-extras==0.33.0
 
Back
Top