I installed terminator on two different systems. The first, with lots of gnome packages, worked. The second failed with this error: $ terminator ImportError: could not import bonobo.ui Traceback (most recent call last): File "/usr/bin/terminator", line 54, in <module> TERMINATOR = Terminator() File "/usr/lib/python2.6/site-packages/terminatorlib/terminator.py", line 41, in __init__ self.prepare_attributes() File "/usr/lib/python2.6/site-packages/terminatorlib/terminator.py", line 64, in prepare_attributes self.attempt_gnome_client() File "/usr/lib/python2.6/site-packages/terminatorlib/terminator.py", line 73, in attempt_gnome_client self.gnome_client.connect_to_session_manager() AttributeError: '__main__.GnomeClient' object has no attribute 'connect_to_session_manager' Reproducible: Always Steps to Reproduce: 1. emerge terminator 2. run terminator 3. fails with message above It looks like this dependency has been a problem earlier: https://bugs.launchpad.net/terminator/+bug/525509
Changing bug assignment on request of the gnome team.
The code is using deprecated python bindings of libgnomeui, and calling gnome.ui.master_client(), which apparently is returning None, even for me with an old-style GNOME session running. Maybe they should handle such a case similar to how they handle an ImportError there. There might be a real problem inside libgnome-python, but that's a binding of a deprecated library, so no-one would be thrilled to debug that. The error does not occur if the ImportError case happens first, which is gracefully handled. That is, if libgnome-python is not installed, then terminator would be running without that visible breaking exception, which might actually be the difference between the two machines.
Ah, sorry. I do actually get a master_client with both gnome-session-2.22 (pre-rewrite) and gnome-session-2.26 (after rewrite) and the code probably would work. But I think it should still gracefully handle not running under a XSM conformant session manager (in which case gnome.ui.master_client() is probably returning None), and simply not register the hooks, just like when import gnome or import gnome.ui fails.
Upstream says, that the complete gnome.-session support is barely useful in this series. So I added the suggested patch from upstream and we wait until it is fixed there.