Remote display

From OLPC
Revision as of 02:55, 24 February 2007 by Wad (talk | contribs) (Separated changes made once from steps required repeatedly)
Jump to navigation Jump to search

If you are trying to project the XO's user interface, this page describes how to do it using another computer running X11.

There may be additional refinements, these are just quick notes detailing one way of doing this.

Changes to the XO (the forwarding or source computer)

There are some changes to the XO which only need to be done once. You will need to assign a password to the olpc user on the XO. As root, run:

passwd olpc

Now change to the /home/olpc directory, and create the script which will start sugar:

cd /home/olpc
cp .xinitrc remotedisplay
chmod a+x remotedisplay
vi remotedisplay

You need to add the following to the beginning of the remotedisplay file:

#!/bin/sh

Stopping Sugar on the XO

Due to current limitations of Sugar, there can only be copy of Sugar running on any given XO. This will mean that you need to shut down Sugar and X on the XO from which you want to forward the user interface. There are several ways you can do this, but the simplest (and temporary) way is to first change to the console, by typing control + alt + F1 (Eye). Log in as root, then change the runlevel of the XO to runlevel 3 by typing:

init 3

After doing this, the XO should still be associated with any wireless network it already found, but it will have forgotten about its IP address. You need to manually request an address using:

dhclient eth0

If this doesn't work because you aren't associated with a wireless network, you can manually bring up the network using:

iwconfig eth0 essid "some local wifi SSID"
dhclient eth0

You can get a list of the local WiFi networks using iwlist. Remember the network address assigned to the XO by DHCP, you will need it for the next steps.

Bringing up the display remotely

At this point, you will need a version of X which is running bare (no display manager). The easiest way seems to be to create a new user, and give them an .xinitrc (or .xsession file under Debian) which consists simply of:

exec xterm

Log in as the new user, and from that single xterm, you should be able to bring up the display remotely using:

ssh olpc@xo-ip-address -C -X /home/olpc/remotedisplay

Caveats

Whatever you do, don't click on the WiFi signal strength when using the remote display. Even if you select the network you are already using, you will freeze the display.