Remote X11 desktop on OS X
April 25, 2008 9:35 AM   Subscribe

Using X11 forwarding to bring my Ubuntu server desktop to my MacBook Pro. Everything works fine if I run a specific program (e.g., Firefox) but goes to hell if I try 'startx' - I keep getting an AIGLX display error message. Any help appreciated.

Mac is running Leopard, using the February Xquartz release rather than the standard Apple X11. (Latest Xquartz release is downloaded but not installed yet.) Server is a headless box running Gutsy + XFCE. Connecting using ssh -X with blowfish + compression (although ssh -Y without compression gives me the same error). While I managed to troubleshoot most of my problems, and have nearly everything working, I can't get the XFCE desktop to start. Error I'm getting is:

(EE) AIGLX: Screen 0 is not DRI capable

All my searches on this error message seem to make me think this is driver-related, but solutions I've found are all geared towards local X sessions rather than remote. Any ideas?
posted by caution live frogs to Computers & Internet (11 answers total) 1 user marked this as a favorite
Do I understand correctly, you have an x-server running on the macbook, and you want to start a second one on the remote machine? Sounds like maybe you want x2x, not x11 forwarding. X forwarding is at an application level, not a window manager level.
posted by nomisxid at 9:49 AM on April 25, 2008

Best answer: nomisxid is right. startx starts the xserver on that specific machine. It simply executes the binary "X". If you want to have xfce running, have a look at the .xinitrc in your $HOME or the system wide configuration. It will contain the correct script or binary to start the xfce DE.
posted by donut at 9:58 AM on April 25, 2008

Response by poster: No, I'm trying to use my Mac's X11 display client instead of the server's X11. Server has no monitor, and I usually do things command-line, but occasionally graphics would be nice. As I understand it, the X-server and X-desktop are not tied to the same machine, and starting X remotely is essentially the same as starting it locally: Desktop client connects to server, server issues command, desktop client X session draws the screen - except in this case the server isn't localhost. Programs are running on the server, but displayed on the Mac.
posted by caution live frogs at 10:03 AM on April 25, 2008

Response by poster: donut - I'll have a look... Hadn't considered that; I've only started X locally before, so it didn't occur to me to use something besides the startx wrapper.
posted by caution live frogs at 10:05 AM on April 25, 2008

Best answer: Agree with donut. However, the X server on OS X is 'rootless' and you will have the elements of the desktop environment overlapping those from OS X and everything will be kind of weird. If you don't want to embrace the rootlessness and run individual apps (which is what I prefer), you'll have to find away to run XFCE fullscreen. You'll either have to find a way to run OS X's X server not as rootless, or just run a VNC server on the Ubuntu box, which would probably be easier.
posted by zsazsa at 10:09 AM on April 25, 2008

You have two problems.

Yeah, you're mixing up the X server and X clients. The server is your display (&c). You already have one of those running, on your Mac. The 'startx' advice above is spot on. You don't want that.

The next problem is that you can have only one program managing "the root window". Another way to say this is that you can have only one "window manager" -- the program that handles decorating windows with drag-bars, titles, min/max/close buttons, placement of new windows, &c. "rootless" displays fake that part in ways I don't understand, but it's incredibly unlikely that you can use the XFCE window manager. Now, you could set to run in "full-screen" mode, where there is a root window that is (IIRC) unmanaged, which should provide a mechanism for running your own WM from another machine.
posted by cmiller at 10:51 AM on April 25, 2008

Best answer: Oh, I didn't mention it, but I should: XFCE is (probably) two distinct parts, and just because you can't run the window-manager part, doesn't mean you can't run the other menu-and-stuff facility.
posted by cmiller at 10:55 AM on April 25, 2008

I believe you're thinking about "X server" versus "X client" in the wrong way. IIRC, the X server is the program that is responsible for taking commands from the client and processing them into a graphical display. i.e. the machine where you want the graphics to appear on is the machine that is hosting the X server, which in your case would be your Mac. Conversely, programs that use the X libraries to communicate with an X server (e.g. xterm, Firefox, etc.) are referred to as the X clients, and they are confusingly those programs which you launch from your Ubuntu server.

So basically you don't want to start X remotely on the Ubuntu machine, that's running an X server on that machine which you don't want since the machine has no display. If what you want is to have the full Ubuntu GUI (i.e. the window manager and the Gnome desktop) appear in a window on your Mac, then the vnc server is probably the best way forward. Which btw, is actually an X server, just that instead of outputing to a display device it forwards the display through the network.

On preview, what cmiller said. My guess is that what you want is what you can get by using the vnc X server.
posted by destrius at 10:58 AM on April 25, 2008

Response by poster: Thanks all. After a bit of mucking around I found several processes still running that were causing issues with startup. After killing those, using 'xfce4-session' XFCE loads up just fine, except that the rootlessness gives me a desktop but no way to interact with it. Guess I'll either have to set up VNC or stick to running programs rather than the windowing system...
posted by caution live frogs at 11:36 AM on April 25, 2008

Best answer: I think you want Xnest. That will let you open a full session in a window. Launch like this:

Xnest :1 &
xfce4-session --display=:1

And you should get everything in a nice window.
posted by roue at 12:05 PM on April 25, 2008

Response by poster: cmiller - loading the XFCE panel worked like a charm - that's really all I needed. Thanks.

roue - Xnest works fairly well, thanks - I get fewer error messages just loading the Panel, so may stick with that unless I need the desktop for any reason.
posted by caution live frogs at 12:18 PM on April 25, 2008

« Older What should I do between the summer and delayed...   |   Paint or Install Siding? Newer »
This thread is closed to new comments.