DBus woes with Fedora in a chroot

If you try to run Fedora in a chroot you may encounter a very annoying issue of DBus simply not working at all. I was trying to install XFCE4.12 inside my Fedora 23 chroot in the GNURoot application and I was getting these errors:

(xfce4-session:32537): xfce4-session-CRITICAL **: Unable to contact D-Bus session bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.

The same error was also present in the GNURoot Debian app. Fortunately it wasn’t showing in the old, old Fedora 17 chroot, where XFCE4.8 worked like a charm.

So I thought it is a XFCE4 issue. Sadly this wasn’t the case and I lost much precious time trying to debug this. Fortunately after much trial and error I can offer a simple solution (which isn’t pretty) but it works. You will have to downgrade DBus. You will not be able to do it with dnf, since dnf itself depends on it. So we will have to it manually.

You will need the following RPMs (just find a close F21 mirror and you will be able to find them):

dbus-1.8.6-3.fc21.armv7hl.rpm
dbus-glib-0.100.2-4.fc21.armv7hl.rpm
dbus-libs-1.8.6-3.fc21.armv7hl.rpm
python3-dbus-1.2.0-7.fc21.armv7hl.rpm
dbus-x11-1.8.6-3.fc21.armv7hl.rpm

So, first install XFCE with:

dnf install @xfce

or

dnf install @xfce-desktop

if you want the full package, then you will have to download the 5 RPMs mentioned above and unpack them to /:

cd /
rpm2cpio [path to rpm] | cpio -idmvu

Do this for all 5 files and restart the chroot. Afterwards you should be able to run XFCE with a simple:

DISPLAY=:0 XARGS='-nolisten tcp' HOME=/root startxfce4

This is a pretty bad hack, and even though I haven’t noticed any weird behavior YMMV so be careful.

I haven’t tried this in GNURoot Jessie version but I’m pretty sure it will work there too, just find the appropriate packages.

 GNURoot issues

GNURoot sometimes binds /root and /etc in fedora chroot which may get in the way. If that’s the case, you can rename your chroot and support folder to wheezy or download the updated chroot I’ve built here which fixes the problem:

https://drive.google.com/file/d/0B-Bo26Xjw1ecanRDUmFPbTFXaUk/view?usp=sharing

SHA256: ccde15611b84c4b7cf2657c4984889e72850700611f645b2e1bc02a9f5af90e5
 
7
Kudos
 
7
Kudos

Now read this

Fedora @ Konteh 2017 - event report

This year we managed to get a booth on a very popular student job fair called Konteh. (Thanks to Boban Poznanovic, one of the event managers) Konteh is an annual event where local companies send their recruiters to find young, educated... Continue →