We are a start-up, but extremely active company. Like any start-up company, we have a limited start-up capital, which we would like to spend with maximum benefit. One of the significant items of such expenses is the purchase of hardware, in particular, system units. We decided to abandon the traditional scheme “one employee - one system unit” and make an office network on thin clients. In the capacity of thin clients were used systemists written off from organizations.
Formulation of the problem')
The following "iron" is available:
- Powerful system unit (dual-core Athlon, 3GB of RAM, large hard drive)
- Several write-off Pentium III level systemists, about 256 MB of RAM, hard / dead drives, CD-drives available
It is necessary to build an office network of them so that everyone can work comfortably. The only solution in this situation is to make thin clients out of computers that are decommissioned, which can work on a powerful computer (server). Thin clients will be loaded with specially made LiveCDs. It is advisable to use a secure protocol, since in the future I would like to be able to work remotely (via the Internet).
As a server OS taken Linux (Ubuntu).
SolutionIn order to make thin clients, we use thinstation. Both the universal LiveCD and the archive can be downloaded from the
official site , from which you can further make your own iso-image. The LiveCD is suitable for the first acquaintance and contains various clients for connecting to Windows and Unix servers using various protocols (RDP, VNC, SSH, etc.). We will work with the archive and create with it our iso-image, “sharpened »For our needs.
Before we start building, we will decide which terminal server we will use. Since we have Linux, then, in theory, it is enough to tunnel graphics through SSH, but all this is dancing with a tambourine - both on the client side and on the server side. Take a ready-made solution -
NX Server . For Ubuntu, deb packages already exist. On the other hand, the NX client is also part of the thinstation. Thus, we just need to configure the server and make bootable CDs.
Making iso-images of clientsAn approximate sequence looks like this:
1. Download from the official site package ThinStation ..... tar.gz
2. Unpack: tar xzvf Thinstation-2.2.2.tar.gz
3. In the root folder, edit the build.conf and thinstation.conf.buildtime (these files are used during image build)
- In the build.conf file we leave only the necessary modules and packages (the modules are responsible for the drivers, the packages are for the programs).
- In the block where the clients are activated, we leave only the package nx - this is our NX client.
- param nxurl should point to the nxclient package ..... tar.gz (this package is loaded during the build of the iso image). You can specify an external link, you can download and put on localhost. Links to the images of other customers, of course, comment.
- param keyfile - we take from the server (ssh_host_rsa_key.pub file). I recommend writing the full path to this file to avoid confusion.
- param knownhosts - the easiest way to generate using any LiveCD. We are loading, using ssh, we are logging into our server, then the known_hosts file should appear in the profile. We copy it. You also need to register the full path to this file.
- In the thinstation.conf.buildtime file we copy the contents from /conf/nx.conf.sample and /conf/x-common.conf.sample. We configure, proceeding from the network. The easiest way to register static ip-addresses.
Sample thinstation.conf.buildtime file:
NET_HOSTNAME=ThinClient1
NET_USE_DHCP=Off
NET_IP_ADDRESS=10.0.0.3
NET_MASK=255.255.255.0
AUTOSTART=On
SESSION_0_TYPE=nx
SESSION_0_TITLE="Gnome"
SESSION_0_NX_ADVANCED_ENABLE_SSL_ENCRYPTION="true"
SESSION_0_NX_GENERAL_DESKTOP="Gnome"
SESSION_0_NX_GENERAL_SERVER_HOST="10.0.0.1"
SESSION_0_NX_GENERAL_REMEMBER_PASSWORD="true"
SESSION_0_NX_GENERAL_RESOLUTION="fullscreen"
SESSION_0_NX_GENERAL_SESSION="Unix"
SCREEN_RESOLUTION="1280x1024"
SCREEN_COLOR_DEPTH="24"
SCREEN_BLANK_TIME=10
SCREEN_STANDBY_TIME=20
SCREEN_SUSPEND_TIME=30
SCREEN_OFF_TIME=60
MOUSE_RESOLUTION=100
X_COOKIE=36d71ab85c18ef065702c181a3d21593
4. Build the image: ./build
5. We look at the assembly log. If everything is OK, the finished image will appear in / boot-images / iso /. We write it on a pig.
Install Terminal ServerWe do as indicated on the official website:
sudo dpkg -i nxclient ...
sudo dpkg -i nxnode ...
sudo dpkg -i nxserver ...
Everything should work out of the box.
To make sure that it works, you can quickly boot from any other machine through the LiveCD (Ubuntu / Xubuntu), register the network with it, put only the NX client on it, and connect to our server.
Real observationsEverything works cheerfully. For some reason, the language change is not activated in our system; I had to add this script to the profile autoload:
#!/bin/sh
setxkbmap -model pc105 -layout us,ru\(winkeys\) -option -option grp:alt_shift_toggle -option compose:ralt
There are still some glitches in firefox (black rectangles instead of some images). Judging by the records on the Internet, this is a chronic problem, you need to pick a profile.
Finally, the free version of the NX server allows only two clients to work simultaneously (total - 3 people: one on the server itself, 2 - through thin clients). If we want more, we either purchase a paid version or install virtual systems (for example, on proxmox). But this, as they say, is a completely different article ...