1

I'm trying to get RabbitVCS working on Kubuntu (20.04) via Thunar (1.8.14), but try as I might, nothing seems to work. Certainly it doesn't work according to their official install directions. I feel like I'm getting very close, but hit a roadblock & after literally hours of Google, am at a loss for how to proceed. Here was my process.

First, install Thunar:

 sudo apt install thunar

And a couple of the rabbitvcs dependencies that are actually available in the repo:

 sudo apt install python-gobject python-dbus

Next, I need to install thunarx-python. It's missing in the repo, so I install thunarx-python_0.5.1-2_amd64.deb downloaded from https://ubuntu.pkgs.org/19.10/ubuntu-universe-amd64/thunarx-python_0.5.1-2_amd64.deb.html

Likewise, python-configobj is missing in the repo, so I install the deb from https://ubuntu.pkgs.org/19.10/ubuntu-universe-amd64/python-configobj_5.0.6-3_all.deb.html

Now the basic Rabbit install:

 git clone https://github.com/rabbitvcs/rabbitvcs
 cd rabbitvcs
 sudo python setup.py install --install-layout=deb
 sudo mkdir -p /usr/share/thunarx-python/extensions
 sudo cp clients/thunar/RabbitVCS.py /usr/share/thunarx-python/extensions

To see what's going on, I'll launch Thunar with thunarx-python debugging enabled:

 THUNARX_PYTHON_DEBUG=all /usr/bin/thunar

The result:

thunar_extension_initialize: entered
thunarx_python_load_dir: entered dirname=/home/metal450/.local/share/thunarx-python/extensions
thunarx_python_load_dir: entered dirname=/usr/share/thunarx-python/extensions
thunarx_python_init_python: entered
thunarx-python: Setting GI_TYPELIB_PATH to /usr/lib/x86_64-linux-gnu/girepository-1.0
thunarx-python: g_module_open /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0
thunarx-python: Py_Initialize
thunarx-python: PySys_SetArgv
thunarx-python: Sanitize the python search path
thunarx-python: init_pygobject
thunarx-python: import Thunarx
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/gi/__init__.py", line 129, in require_version
    raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace Thunarx not available
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 133, in load_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Thunarx, introspection typelib not found

(thunar:14773): thunarx-python-WARNING **: 11:50:40.747: thunarx_python_init_python failed
Traceback (most recent call last):
File "/usr/share/thunarx-python/extensions/RabbitVCS.py", line 41, in <module>
    from gi.repository import GObject, Gtk, Thunarx
File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 133, in load_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Thunarx, introspection typelib not found
thunarx_python_load_dir: entered dirname=/usr/share/plasma/thunarx-python/extensions
thunarx_python_load_dir: entered dirname=/usr/local/share/thunarx-python/extensions
thunarx_python_load_dir: entered dirname=/usr/share/thunarx-python/extensions
thunarx_python_init_python: entered
Traceback (most recent call last):
File "/usr/share/thunarx-python/extensions/RabbitVCS.py", line 41, in <module>
    from gi.repository import GObject, Gtk, Thunarx
File "/usr/lib/python2.7/dist-packages/gi/importer.py", line 133, in load_module
    'introspection typelib not found' % namespace)
ImportError: cannot import name Thunarx, introspection typelib not found
thunarx_python_load_dir: entered dirname=/var/lib/snapd/desktop/thunarx-python/extensions
thunarx_python_load_dir: entered dirname=/usr/lib/x86_64-linux-gnu/thunarx-3/python
thunar_extension_list_types: entered

It looks like it wants the Thunarx typelib in GI_TYPELIB_PATH, which is /usr/lib/x86_64-linux-gnu/girepository-1.0. Some googling makes it seem like this should be Thunarx-3.0.typelib, where that file is included with Thunar itself (i.e. see https://www.archlinux.org/packages/extra/x86_64/thunar/files/). But it isn't. And there's no such file anywhere on my system, and search as I might, I cannot figure out where it's supposed to come from.

Any help would be greatly appreciated. I've got over 4 hours into this so far, and unfortunately still can't seem to get Rabbit working.

0

As discussed with RabbitVCS's devs here: https://github.com/rabbitvcs/rabbitvcs/issues/297, it looks like there are multiple bugs in RabbitVCS, as well as multiple inaccuracies in their install instructions.

To directly answer my own question above, I was able to get the missing typelib by downloading the rpm from https://download-ib01.fedoraproject.org/pub/epel/8/Everything/x86_64/Packages/t/Thunar-1.8.11-1.el8.x86_64.rpm, manually extracting the missing typelib, and manually moving it to /usr/lib/x86_64-linux-gnu/girepository-1.0. However, as I learned that Thunar doesn't actually support RabbitVCS's overlay icons, I ended up going with Nautilus instead. To get that working in Kubuntu, I installed like:

sudo apt install nautilus python-dbus python3-nautilus python3-configobj python3-svn
git clone https://github.com/rabbitvcs/rabbitvcs
cd rabbitvcs
sudo python3 setup.py install --install-layout=deb
sudo cp clients/nautilus/RabbitVCS.py /usr/share/nautilus-python/extensions
nautilus -q

Note: their instructions suggest installing from PPA; ignore that & install from source, as the PPA version apparently doesn't work. Their instructions also list packages nautilus-python, which didn't exist (you'll have to change to python3-nautilus), python-configobj -> python3-configobj, python-svn -> python3-svn, dulwich -> python3-dulwich, python-gtk2 -> python3-tk.

That will get it installed. At this point, it still didn't work, with error message:

TypeError: Don't know which D-Bus type to use to encode type "NoneType"

I fixed it by editing /usr/lib/python3/dist-packages/rabbitvcs/services/checkerservice.py & commenting out line 270 locale.getlocale(locale.LC_MESSAGES), as well as /usr/lib/python3/dist-packages/rabbitvcs/vcs/git/.init.py line 824. Explanation for the fix is at the github link above, but if you haven't messed with your system locale, it should work fine.

I believe they've since committed their own fix (so you may not need this last step), but this is what got it working for me, and after spending the better part of a day on this I'm just sticking with what I've got.

That leaves the only remaining broken thing: the icons in the pop-up menus are missing. Everything else seems to work: overlay icons, menu action, dialogs, etc - meaning, it's functionally up and running.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.