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
 
15
Kudos
 
15
Kudos

Now read this

Crouton with Fedora (chroot)

Update 28th January 2016 # A new much improved version is now available: http://nmilosev.svbtle.com/crouton-with-fedora-chroot-2-0 Crouton is a chroot utility for ChromeOS devices which allows you to run a Linux distro alongside... Continue →