You can install and run X11 on the Sheeva Plug so that you can use X11 applications. The Sheeva Plug does not have any video output so you obviously need to remotely access the X11 applications. There are a few of ways to do that; VNC, NX and X over ssh.
First thing is to install the X11 libraries, a few basic apps and utilities. To do that, type:
apt-get install x11-common x11-apps x11-utils
It'll take a little while to gather all the libraries for X. I would like to say that is all you need to do, but there is a bug in libXt that cause problems on some X applications. You will not see the bug right now since you have no way of running an X application just yet. I will discuss the fix at the end of this page.
X over ssh
First make sure that sshd on the Sheeva Plug allows X11 Forwarding. Edit the file /etc/ssh/sshd_config and make sure you see
if not, change it to yes and restart sshd with
You also need to install xauth in order to use X over ssh, and xauth is in the xbase-clients package. So type:
apt-get install xbase-clients
You can tell xauth is installed correctly if you type the following on another computer
ssh -X -v <SheevaPlugsIP>
and it does not say:
Remote: No xauth program; cannot forward with spoofing.
After all of that, ssh with X forwarding into the Sheeva Plug:
ssh -X <SheevaPlugsIP>
Test your X11 install by running:
You will, of course, need to do this on a computer that will accept an X connect like any Linux machine or Cygwin/X.
If you want an Xwindow desktop on the SheevaPlug, you'll need to install either VNC or NX. You could install both if you like and pick the one that suits the task at hand. VNC is easier to install but NX is generally faster.
VNC and IceWM
To install VNC, type:
apt-get install vnc-server
and to install IceWM type:
apt-get install icewm icewm-gnome icewm-themes
You may not want to install icewm-gnome depending on disk space. I installed it because firefox uses the gnome libraries. After that, simply type:
to start the vncserver. If you not familiar with VNC server in Linux, the VNC desktop starts as 1, not 0 like the windows VNC server. So you need to connect to port 5901 of the Sheeva Plug to connect to the VNC server. The command to do that is:
xtightvncviewer <SheevaPlugsIP>::5901 or xtightvncviewer <SheevaPlugsIP>:1
After that, you'll have your VNC window with a nice IceWM desktop running on the Sheeva Plug. I really only use 2 applications under X; Firefox and Pan. Both run just fine on the Sheeva Plug. To get those 2 applications, just type:
apt-get install firefox apt-get install pan
Note that the only vncserver available to the Sheeva Plug is tightvnc. So make sure when you connect to the server you are using xtightvncviewer and not xvnc4viewer. It is fantastically slow if you use mix the two.
You can also run NX on the SheevaPlug. Here are the details of how to install FreeNX server and the NX Open Source components.
Now that you have VNC and IceWM installed, you may notice that the terminal windows in VNC is a blank screen. You may also notice that the terminal is somewhat working, such that if you type a command into the window it will execute correctly. This is the libXt bug I had talked about earlier. It doesn't affect all the applications, for example firefox seems to work ok. But if does affect the terminal which is very annoying. To fix the problem would require recompiling libXt from source. If don't want to do compile your own, and you trust binary blobs from me, then you can download the library file here.
To compile your own, first add the following to your /etc/apt/sources.list.
deb-src http://ports.ubuntu.com jaunty main restricted universe multiverse
Update apt-get and install the build tools
apt-get update apt-get install build-essential xorg-dev
Get the source to libXt
apt-get source libxt
build the library
cd /root/libxt-1.0.5 ./configure make
The end result is the file ./libxt-1.0.5/src/.libs/libXt.so.6.0.0.
The correct location of this file is in /usr/lib. If you go there, you will see the following:
root$:/usr/lib# ll libXt.so* lrwxrwxrwx 1 root root 14 2009-04-20 19:53 libXt.so -> libXt.so.6.0.0 lrwxrwxrwx 1 root root 14 2009-04-20 19:53 libXt.so.6 -> libXt.so.6.0.0 -rwxr-xr-x 1 root root 1595086 2009-04-15 17:10 libXt.so.6.0.0
Most people would make a backup of the old libXt.so.6.0.0 before replacing it with the new one. That is a good practice. However, I notice a very strange behavior that if you leave the old file in the same directory, and renamed it to libXt.so.6.0.0.back for example, the softlinks libXt.so.6 will be re-pointed to the old library after a power cycle. So to eliminate the problem, I moved the backup to another directory (in my case, /root) and copy the new libXt.so.6.0.0 to /usr/lib.
Did you find this page useful?