1

I'm using Ubuntu 20.04 and I was thinking about trying a window manager for programming and daily use. I'm actually not a computer expert but I'm starting to learn the basics of a few programming languages (especially Python) and of some data analysis software (like R for statistics), so I like the idea of having my workspace and windows optimally organized. I thought the best choice for me would be Qtile: being programmed in Python, I can improve my programming skills while, at the same time, configuring the WM. However, it seems Qtile is still not present in the focal repository, so I had to follow the guidelines of the website (qtile.org) to install it from the source code. But, at the end of this process, I'm still not able to see the Qtile option in the log-in window and when I try to run the setup.py file present in my home folder I get plenty of errors like these:

mattia@HAL9000:~/qtile$ sudo python setup.py
Failed to find pulseaudio headers. PulseVolume widget will be unavailable
/usr/lib/python2.7/dist-packages/cffi/cparser.py:153: UserWarning: String literal found in cdef() or type source. String literals are ignored here, but you should remove them anyway because some character sequences confuse pre-parsing.
  warnings.warn("String literal found in cdef() or type source. "
/usr/lib/python2.7/dist-packages/cffi/cparser.py:164: UserWarning: Global variable 'CAIRO_TAG_DEST' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern')
  "(usually 'extern')" % (decl.name,))
/usr/lib/python2.7/dist-packages/cffi/cparser.py:164: UserWarning: Global variable 'CAIRO_TAG_LINK' in cdef(): for consistency with C it should have a storage class specifier (usually 'extern')
  "(usually 'extern')" % (decl.name,))
usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...]
   or: setup.py --help [cmd1 cmd2 ...]
   or: setup.py --help-commands
   or: setup.py cmd --help

error: no commands supplied

I don't understand a word of it and I'm not even sure whether or not I was supposed to run that file, but I thought my problems could be related to the fact that my default python version is still 2.7. The final outcome is that I'm not able to use Qtile. What do you think it could be the reason for that? And if it's truly related to the python2.7 thing, how can I update my python version without crashing half of my apps? (I'm saying this out of past experience, but I don't know if now things are changed and the apps are supposed to be fine with a different python version). I'm pretty sure I'm missing something very basic and simple...

2 Answers 2

1

Usually calling setup.py requires install argument - sudo python setup.py install. Also you may want to read official Qtile documentation.


Also you can download Qtile 0.10.7 manually from the 18.04 LTS repositories and install by:

cd ~/Downloads
wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qtile/python3-qtile_0.10.7-2ubuntu2_amd64.deb
wget http://archive.ubuntu.com/ubuntu/pool/universe/q/qtile/qtile_0.10.7-2ubuntu2_all.deb

sudo apt-get install ./qtile_0.10.7-2ubuntu2_all.deb ./python3-qtile_0.10.7-2ubuntu2_amd64.deb

and use as it was planned.

3
  • Thank you very much for your answer! Following the steps you suggested in the second part (I already tried to follow the official Qtile documentation without success) I managed to have the Qtile option in my login screen. However, the issue seems not to be 100% solved since now I'm not able to login into the Qtile session, even though I can see the qtile.desktop file in my xsessions folder. I get stucked in a loop in my login screen and the official documentation isn't helpful in this case...searching google for solution also didn't help, do you have any idea on how to solve the issue? Aug 20, 2020 at 20:03
  • Just tested 0.10.7 - I can login to the Qtile session on the Ubuntu 20.04 LTS. You have to check the error log in ~/.xsession-errors.
    – N0rbert
    Aug 20, 2020 at 21:20
  • 1
    I see, so it must be something with my system...after e brief search I wasn't able to find that file or a similar one, but it seems to be quite easy to find something about it on google, so I think I will try to solve the issue by myself. I'll check your answer as the correct one since you said it worked on your system, if I find the solution for me I will post it here. Aug 21, 2020 at 7:33
0

I was trying to run qtile on Linux Mint myself. Here's how I managed to get it working:

I installed python and pip from the current repositories (python3 is installed by default, and you will also want the python3-pip package, which depends on python3-setuptools and python3-wheel)

sudo apt install python3-setuptools python3-wheel python3-pip

Then I followed the qtile docs to install the qtile dependencies, using python3 instead of python and pip3 instead of pip. I also ran the commands as root:

sudo pip3 install xcffib

sudo pip3 install --no-cache-dir cairocffi

sudo apt install libpangocairo-1.0-0 python-dbus python-gobject

Then I installed qtile from pip to make qtile easier to update:

pip3 install qtile

Then, with the help of this post by ofefo on qtile's github page (still a bit of a noob), I created the file qtile.desktop in /usr/share/xsessions/ and added the following lines to that file:

[Desktop Entry]
Name=Qtile
Comment=Qtile Session
Exec=python3 /usr/local/bin/qtile
Type=Application
Keywords=wm;tiling

Note: Your qtile install path might not be /usr/local/bin/qtile. To find your install path, run which python3

Now you all you have to do is logout and select qtile in the session chooser!

Hope this helps :D

P.S. I can't comment yet, so in response to the log issue, my qtile error log was in ~/.xsession-errors.old

2
  • I tried to follow the steps you suggested but anytime I try to install something with pip3 I get this error: UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 2: invalid start byte in PKG-INFO file at path: /usr/lib/python3/dist-packages/pyOpenSSL-19.0.0.egg-info/PKG-INFO. By the way now I installed i3 which is doing pretty well, so I will come back to Qtile when I have a bit more time available, but thanks for helping! Aug 31, 2020 at 19:44
  • Sorry I couldn't be of help. Good luck with i3!
    – pranabekka
    Sep 1, 2020 at 12:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .