Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 316155 - x11-terms/terminator needs to depend upon gnome session manager
Summary: x11-terms/terminator needs to depend upon gnome session manager
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Justin Lecher (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-04-19 18:52 UTC by Steve Herber
Modified: 2010-04-25 11:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Steve Herber 2010-04-19 18:52:19 UTC
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
Comment 1 Justin Lecher (RETIRED) gentoo-dev 2010-04-20 06:49:37 UTC
Changing bug assignment on request of the gnome team.
Comment 2 Mart Raudsepp gentoo-dev 2010-04-20 07:03:36 UTC
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.
Comment 3 Mart Raudsepp gentoo-dev 2010-04-20 07:10:29 UTC
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.
Comment 4 Justin Lecher (RETIRED) gentoo-dev 2010-04-25 11:06:51 UTC
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.