[sabayon] Editing Profiles with a non-local X Connection



I would like to edit Sabayon profiles on a machine (LTSP server) which
has no monitor/keyboard connected directly to it, I do most of my work
from an ssh session with X forwarding or a booted thin client.

Running an unmodified Sabayon 0.18, trying to edit a profile gives me:

Traceback (most recent call last):
  File "/usr/local/libexec/sabayon-session", line 48, in ?
    session.start ()
  File "/usr/local/lib/python2.4/site-packages/sabayon/protosession.py",
line 520, in start
    self.__start_xnest ()
  File "/usr/local/lib/python2.4/site-packages/sabayon/protosession.py",
line 320, in __start_xnest
    self.xnest_xauth_file = self.__write_temp_xauth_file (True)
  File "/usr/local/lib/python2.4/site-packages/sabayon/protosession.py",
line 254, in __write_temp_xauth_file
    (xauth_display, xauth_name, xauth_data) = self.__get_xauth_record ()
  File "/usr/local/lib/python2.4/site-packages/sabayon/protosession.py",
line 235, in __get_xauth_record
    raise XauthParseError, _("'xauth list' returned no records or
records in unknown format")
sabayon.protosession.XauthParseError: 'xauth list' returned no records
or records in unknown format

This is because in protosession.py, we have the code:
            # we want the local addr
            if fields[0].find ("/unix") == -1:
                continue

I tried changing this so it would ignore the unix socket requirement,
and changed:
            display_addr = xauth_display[:xauth_display.find ("/unix")]
So it would find correct addresses.

Trying to run sabayon with those modifications (after linking gnome to
gnome-session since it was giving an Xsession error from that) yields
an Xnest window popping up for a short time and the following on the
console:

Could not init font path element /usr/X11R6/lib/X11/fonts/TTF/,
removing from list!
Could not init font path element /usr/X11R6/lib/X11/fonts/CID/,
removing from list!
AUDIT: Fri Jun 24 11:42:06 2005: 24095 Xnest: client 1 rejected from local host
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified

Traceback (most recent call last):
  File "<string>", line 1, in ?
  File "/usr/lib/python2.4/site-packages/gtk-2.0/gtk/__init__.py", line 37, in ?
    from _gtk import *
RuntimeError: could not open display
/etc/gdm/Xsession: Beginning session setup...
AUDIT: Fri Jun 24 11:42:06 2005: 24095 Xnest: client 1 rejected from local host
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified

xrdb: Can't open display ':1'
AUDIT: Fri Jun 24 11:42:06 2005: 24095 Xnest: client 1 rejected from local host
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified

xrdb: Can't open display ':1'
AUDIT: Fri Jun 24 11:42:06 2005: 24095 Xnest: client 1 rejected from local host
AUDIT: Fri Jun 24 11:42:06 2005: 24095 Xnest: client 1 rejected from local host
Xlib: connection to ":1.0" refused by server
Xlib: No protocol specified


(gnome:24100): Gtk-WARNING **: cannot open display:


Just for reference running xauth -in list $DISPLAY on an ssh session
gives me something like:
127.0.0.1:11  MIT-MAGIC-COOKIE-1 <key here>
On a thin client:
ip.of.the.client:0  MIT-MAGIC-COOKIE-1 <key here>

Other X applications work fine. It is *possible* to get sabayon
running on a remote host, but it requires all sorts of X chicanery
with the way it is now. For example, I can do the following to get a
working Sabayon over ssh:
Xnest :1 -ac &
xterm -display :1 &
then switch to the Xnest'ed xterm and run a stock install of sabayon,
and it will have a usable unix socket for the X display. But that's
kind of a hassle. Anyone know why sabayon has to have a unix socket?

-Ryan Baumann



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]