Re: [g-a-devel] Questions about the gnome-mag design



Carlos

Try specifying the screen number in your call, for instance:

magnifier -mv -t myip:0.0 -s myip:0.0

However I have never tested the magnifier with source and target the same, but both remote.
You might also try

magnifier -display myip:0.0 -mv

or setting the DISPLAY env variable before starting the magnifier. One of those should work I think.

Bill

Carlos Eduardo Rodrigues Diogenes wrote:

Bill Haneman wrote:

(sorry for replying to myself - this is a clarification)
Bill Haneman wrote:...


Also, there are situations where the magnifier service may need to run on a different host from the client. For instance, if you are running a remote application, you don't really want the magnifier to run remotely as well, because of the much larger amount of X traffic and the CPU requirements of the magnification service. CORBA allows this at least in theory (although our current 'bonobo-activation' mechanism does not recognize remote servers).


The CPU requirements isn't is a big problem, because if you start the
gnome-mag in a remote machine, probably, this machine will have a better
CPU than the machine that is running the X Server. The X traffic is
really important, but I think that it's not a big problem, because we
have solutions like vino and xdmcp that works really fine, and how
gnome-mag uses the DAMAGE extension this problem is minimized. I raised
this aspect, because here in Brazil we have many places with old
machines, that will not support a good magnifier without delay, so is
more cheap buy a good server and use the old machines like dummy terminals.


By this I mean that "bonobo-activation-server" doesn't report remote magnification services to a client which is requesting an instance of gnome-mag. However, gnome-mag should work fine with remote _X servers_ as far as I know - at least, I have used this feature in the past. (Carlos, did you get this working on your system? Maybe a bug somewhere?)


no... here is the output of what I get when I call gnome-mag with this
command line in the remote machine:

#: magnifier -mv -t myip:0 -s myip:0

(magnifier:19579): Bonobo-WARNING **: Assigning a default value to a non
readable property 'source-display-screen'

(magnifier:19579): Bonobo-WARNING **: Assigning a default value to a non
readable property 'target-display-screen'

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_width: assertion
`GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_height: assertion
`GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_width: assertion
`GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_height: assertion
`GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_display_get_screen: assertion
`ScreenCount (GDK_DISPLAY_X11 (display)->xdisplay) > screen_num' failed

(magnifier:19579): Gdk-CRITICAL **: gdk_screen_get_root_window:
assertion `GDK_IS_SCREEN (screen)' failed

(magnifier:19579): Gdk-WARNING **: gdkdrawable-x11.c:904 drawable is not
a pixmap or window
The program 'magnifier' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 9 error_code 9 request_code 154 minor_code 1)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)


If we can get the bonobo-activation-server to return the CORBA object ID of a remote gnome-mag service (or hack some other mechanism for getting the object ID), then a remote client (for instance, a remote instance of gnopernicus) can talk to a local gnome-mag service through the bonobo/CORBA IPC interface.

Bill

This sort of case is probably more common in some corporate environments, but we are not sure just how important it will be in the future.










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