Search Tillamook Rage
Google Custom Search

6.16.2008

Wireless/Dialup Computer Labs - Part 1

You might be interested in this post if you want to use an LTSP server with clients that are connecting over low bandwidth connections such as wireless or dial-up. Also, this post has the side-effect of enabling the use of LTSP with clients that can't do network boots (i.e. with PXE) which is really useful since almost no wireless cards support any type of network boot functionality. If you get a chance to work through these instructions, please let us know what you find and what you have problems with so that we can improve this post in future revisions.

In Part 1 we'll take a look at how to set up the server, and in Part 2 we'll do the client computer(s).

This procedure was originally developed using the Xubuntu 7.04 Alternate Install CD, and updated using the Xubuntu 9.10 Alternate Install CD. You should be able to use other versions of Ubuntu and Xubuntu to do this procedure, but your mileage may vary. If you are able to get this procedure to work with another version, please post your findings in the comments section for the rest of us.

As always, be careful when following advice and procedures from this site or any other, as you can do serious damage to your Linux system if a mistake is made. See our disclaimer for details.

Introduction
The standard LTSP server-client model works well over wired Ethernet connections, but there are some situations where it just can't cope. Wireless clients usually don't have the ability to boot from the network, and if you want people to connect to your LTSP server over dial-up, standard LTSP is too slow.

One thing to note before we get too far is that setting up your LTSP lab this way will greatly increase the load on your server. The X sessions (the graphical session that displays the desktop) for each of the clients will be run on the server itself, instead of locally on each client. That means that the server has to have enough horsepower to handle as many graphical X sessions as you have clients. Also, keep in mind that running anything computationally intensive (like programs that do a lot of calculations) will add to the stress on the server. I can't really give you a hard and fast rule on how much horsepower you need, but if you've got over 20 to 30 clients, you're probably going to need a high end single core processor or a dual core processor computer with plenty of RAM (at least 1 gigabyte). If you have a lower end server already though, I would suggest you try this procedure out before you go and get another one. You might be able to get away with it and it's not too hard to replace that server later if you need to.

The Procedure
The first thing that you want to do is to follow the procedure outlined in our post LTSP Server Setup The (Relatively) Easy Way. Once you have finished that procedure, you should have a functioning LTSP server that is ready to have the FreeNX server software (more on that later) installed on it. Be sure to check out the troubleshooting section in that post and also the various other updates that we've written in the Additional Reading section below.

The next thing I would suggest is updating your new server installation. To do this, make sure you have a connection to the Internet, Open the Update Manager (Applications > System > Update Manager), and click the Install Updates button. It will probably ask you to enter your administrative password. It will take awhile for all the updates to be downloaded and installed, but once the computer is done updating, you can move to the next step.

Once you have your LTSP server humming along the way you want it, make sure it has a connection to the Internet and install FreeNX. Lucky for us there's now a set of packages available from the Ubuntu community Ubuntu FreeNX Team PPA (Personal Package Archive). The instructions for installing FreeNX from the PPA are different depending on whether you're running Xubuntu 9.10, or an older version. The next section outlines the instructions for 9.10, you can skip over them to the next section if you're running an older version.

Install FreeNX In Xubuntu 9.10
You need to first open a terminal window if you don't have one open already (Applications > Accessories > Terminal). Once the terminal window is open, type the following and hit Enter after typing (or copying) each line.

sudo apt-get install python-software-properties

sudo add-apt-repository ppa:freenx-team

These lines make sure that you have the command to install the PPA repository installed (add-apt-repository), and then adds the repository.

Once that has finished, we need to update the local cache so that our system knows what packages have been added from the PPA repository.
sudo apt-get update

And finally we'll install the FreeNX package and run a setup script.

sudo aptitude install freenx

sudo /usr/lib/nx/nxsetup --install

You may be asked to hit Y multiple times to finish the installation.

Install FreeNX In A Previous Xubuntu Version
If you're running a version of Xubuntu earlier than 9.10, you will need to follow the instructions on the FreeNX team's Ubuntu documentation page. Look for the Installing the FreeNX server on older Ubuntu Versions section.

Beginning The FreeNX/LTSP Integration
After the FreeNX server is finished installing, you can download the Symbiont Workstation Manager files for LTSP/FreeNX integration. You should be able to download them directly at http://downloads.sourceforge.net/symbiont/NX1.5.0-141_LTSP_0.8.tgz?modtime=1149606780&big_mirror=0 , but since broken or incorrect links are always a danger, I'll give you a less direct and more sure-fire way to get to it. Go to www.sourceforge.net and search symbiont workstation manager under the Software category. The main hit should be the one that you want, so click on it. Click on their Downloads tab and look at the Miscellaneous downloads category. To get the LTSP/FreeNX downloads to show up you'll probably have to click the link View older releases from the Miscellaneous package. Once the full list pops up, click on the NX_LTSP link, and then click the NX1.5.0-141_LTSP_0.8.tgz link. That should get you what you need.

Once you have the file downloaded, you need to extract it. You can do this by double clicking on the file in Thunar (the file manager in XFCE) and clicking the Extract button on the window that comes up. If you extract the the file you downloaded this way, you can now skip down to "Installing The FreeNX Files."

If you want to extract the file from the command line, you can go back to the terminal and type

cd ~/Desktop

and hit Enter. You should replace the ~/Desktop portion above with the directory where you downloaded the NX_LTSP file to. If you're using Firefox (which I would guess you probably are), the default is almost always to the Desktop directory. The ~ above is the same thing as your home directory. So, instead of typing /home/user/Desktop I would type ~/Desktop .

Anyway, now that you're in the directory where the NX_LTSP file is, type

tar -zxvf NX1.5.0-141_LTSP_0.8.tgz

and hit the Enter key.

Installing The FreeNX Files
Once the file is done extracting you need to copy the files to the LTSP server directory, being careful to preserve all the files and their properties (including symbolic links). You can do this graphically through Thunar, but I prefer using the terminal for this. So, follow me back to your trusty X term (that is already cd'd to the desktop with cd ~/Desktop) and type

cd NX1.5.0-141_LTSP

and hit Enter to go into the NX_LTSP directory, then type

sudo cp -a i386/ /opt/ltsp/

and hit Enter to copy the files to where they need to go. You may be asked to enter your adminstrative (root) password after hitting Enter, but that's normal.

Now that all of the new files are copied over, we need to copy the authentication key for the FreeNX server over so that it will be used by the LTSP clients. Once you get more familiar with FreeNX, you'll want to regenerate this key, since using the default key is a security concern, but that's for after you have the server running. To copy the key, switch back to the terminal window and type (copying this line would be easier)

sudo cp /var/lib/nxserver/home/.ssh/client.id_dsa.key /opt/ltsp/i386/usr/NX/share/client.id_dsa.key.session

(all on one line) and hit Enter.

Now we need to make the LTSP server software aware of the FreeNX server, so type the following line and hit Enter.

sudo mousepad /opt/ltsp/i386/etc/lts.conf

You can replace mousepad in the line above with the command for your favorite plain text editor. Once the file is open, add the line

SCREEN_02 = startnx

(preserving the case and spacing) at the end of the indented section that starts with the line [default] (add the [default] entry if you have to). The file should now look like Figure 3. Save the file and exit the text editor.

Figure 3

Now the last thing you have to do is type the following line and hit Enter.

sudo ltsp-update-image


That's it, you should be able to restart your new FreeNX-LTSP hybrid server and then log in with the client(s) that you will set up in the second and final post in this mini-series. Normal LTSP server maintenance and administration procedures should apply directly to this setup. One quick tip I will give you is to make sure that your FreeNX users don't have the permissions to shut the computer down. When people are logged in using FreeNX in full screen mode, the natural thing to do is to try to log out or shut down when they're done. Shutting down via their account will shut your server down though - a bad thing for the other users.

Troubleshooting
See the troubleshooting section at the end of Part 2.

Conclusion
Well, there it is in all its geeky glory. I hope that gets you started off in the right direction. Please keep us up to date, since as I said in the introduction, this procedure is a work in progress and is still being tested out in the wild. Please don't try these instructions on a server that you can't afford to kill. Start out with an isolated test setup to see if this is going to work for your situation, and remember to keep us up to date on what you find.

Enjoy!

Additional Reading
Linux Terminal Server Project Homepage
FreeNX Homepage
Finding The LTSP Option With Xubuntu 8.04
Build chroot Fails During LTSP Server Install
An LTSP Update
LTSP Client Shuts Down Server - The Fix
LTSP Server Setup - The (Relatively) Easy Way
Ubuntu Community FreeNX Installation

Created Date:06-16-08
Revision Date:01-13-10

No comments: