Raspy thin client based on x2go


7 posts
by mackyb » Wed Aug 01, 2012 12:03 pm
Hi folks!

I've been trying to create a perfect thin client for quite some time and I was thrilled when raspy was announced. Specs fitted perfectly in my development of the super efficient client-server concept called Genie. I started developing Genie out of idea that SMB market and public service companies (especially schools, kindergartens, district departments etc...) needs better tools, but without the premium price tag. This was also my pain. Basically it is a complete IT environment with hardware, OSS software, services and server based desktops (similar to vmware view). However I got mine raspy almost a year later :(... Now It's finally complete and would like to share with the community how to create a very efficient thin client out of a raspy.

About x2go/x2goclient:
x2go is a terminal service like system where users can have different configuration of the same system. It is similar to template VDI, but much more efficient, and above all free. It is loosely based on NX protocol. As I found out it overall performs better than the ubuntu LTSP. On local network one can achieve almost native like performance and the server is very scalable.

Prerequisites:
raspbian image
x2go server and x2goserver-session installed on server (follow guide on http://www.x2go.org, pretty straightforward)
root account enabled (sudo passwd)

Install:
There is a compressed file attached. Login as root and unzip it to /opt/thinclient and:
cp /opt/thinclient

...look at the sessions file and change parameters. more or less is self explanatory, important params is server address, user and session. however you can change that at anytime.

sudo sh ./thinclient_install

This will start the install script that would add repository, install x2goclient and set the startup script and seesion data for root user. However the installation will start the x2go client before the completion since the x2goclient session environment has to be set for root user. The client will not work without server counterpart. By default gnome environment is defined in a session, LXDE does not work with raspbian. Also I had mixed success with LDAP, it seems that LDAP should also be ldaps configured on the ldap server (636 port, out of the scope of this info).

After reboot raspy will boot into the thin client environment. This is readonly mode (session is defined in /root/.x2goclient/sessions). Upon first connect to server ssh handshake is done is written to the /root/.ssh/known-hosts file. If there is a problem you can always leave thin client environment and change session params. or even start x.
There is a modest wifi support embeded in the raspbian kernel, so usb wifi sticks should work.

Now you got a nice 25€ thin client!
Cheers!

martin
fasecor.com
Attachments
raspy_thinclient.zip
raspy thin client config
(55.93 KiB) Downloaded 417 times
Posts: 1
Joined: Wed Aug 01, 2012 11:24 am
by pascal_dher » Mon Sep 24, 2012 1:59 pm
Great work :-)
It works quite well on mine as well. :D
However I'm currently experiencing to much lag to be able to push it as thin clients where I work :cry:
Problem is that as soon as I start pulling windows around, X starts to max out the CPU. This is after having overclocked the Pi to 1000mhz, so to give a smooth experience we need to have accelerated X.

Have you played around with it anymore?
Posts: 2
Joined: Mon Sep 24, 2012 1:46 pm
by weqtgz » Thu Nov 29, 2012 7:50 pm
I'm sorry but I've been trying to install x2go and I'm not sure it's a easy as you say. When you say installing the x2goserver, you don't mean on the raspberry pi do you? 1) I'm not sure why you would need the server on the raspberry pi if it's the thin client.

Second, and this is what I'm trying to do: I would like to install x2goserver on the pi and connect to it remotely. So if you did manage to install x2go server and connect to the pi can you tell me how? I've compiled x2go server from source. I am currently getting 'sh: 1: x2golistsessions: not found'. On a second pi, it's starting but I get no screen. All I did is compile from source following the example in the INSTALL file in the x2goserver source. So if you know how to install the server, please let me know.

Thanks!
Posts: 1
Joined: Thu Nov 29, 2012 7:45 pm
by MaxMaxwell » Sun Jan 13, 2013 4:19 am
Martin,
I too have been seeking a low cost solution. It also must be open source for many reasons.
Your info appears to be exactly what I am looking for. It seems that the Raspy will provide a superior thin client solution allowing distributive processing and reducing load on the server, thus increasing capacity of network.
I envision an educational school intranet virtual desktop like system running Linux not Windows. The system that I hope to develop would also include an S-Pad. (Under $100.00 7" tablet.)
This S-Pad would run in two different modes.
One mode would be like a Smart Mouse, or a control panel providing touch pad control for the desk top operation and display on larger flat screen.
The second mode of operation would be a standalone reader/student study computer. (This might run on Android OS) We would need a standard user friendly interface which the server would regularly update with lesson plan content as the particular student progressed.
The student would carry the S-Pad home or anywhere.
To sign on at Virtual Desktop work station the student would simply plug their S-Pad in to USB connector. The S-Pad would communicate with server and identify user.
This would be a hard wired network.
I am a fast learner, and capable. What I am seeking to do is to work out the whole solution plan, and then study up on what I need to learn so as to develop and implement it. It appears that all of the pieces are out there for The New School Model. I am just trying to find the best and most economical means to pull them all together.
Please provide me any feedback that you can regarding feasibility and etc.
Sincerely
Max Maxwell
rmaxfe@hotmail.com
Houston, TX
Posts: 2
Joined: Sun Jan 13, 2013 3:37 am
by ghans » Sun Jan 13, 2013 9:44 am
I thonk adb (Android Debig Bridge ) has the features you need ...

ghans
• Don't like the board ? Missing features ? Change to the prosilver theme ! You can find it in your settings.
• Don't like to search the forum BEFORE posting 'cos it's useless ? Try googling : yoursearchtermshere site:raspberrypi.org
Posts: 4396
Joined: Mon Dec 12, 2011 8:30 pm
Location: Germany
by aoakley » Tue Jan 15, 2013 11:30 am
Note that the x2goclient packages are now available in Raspbian. There is no longer any need to use the pre-built zip in this thread unless you specifically want your Pi to be solely an X2Go thin client.

To use X2Go from the normal Raspbian distribution (i.e. with LXDE desktop):

* Set up your remote server as outlined at:
http://www.x2go.org/doku.php/wiki:components:x2goserver

* Install the x2goclient on your Raspberry Pi running Raspbian. From a terminal session:
sudo apt-get update
sudo apt-get install x2goclient

* You will now find x2goclient in the LXDE start menu - Internet.

I have found extremely good performance on the Raspberry Pi as an X2Go client over ADSL by selecting ADSL from the Settings tab and reducing image quality down from 9 to 5.

My remote machine was a 2GB RAM, single-core 2GHz Intel machine with Ubuntu 12.04 and LXDE at 1024x768 resolution, virtualised at the Blue Square datacentre in Maidenhead near London; my Raspberry Pi was located at my home 100 miles away over 6MBit ADSL in Gloucestershire. I was able to browse the web with Firefox, including scrolling complex pages such as Facebook and viewing Youtube Flash video (windowed, not full-screen), at approximately 8-10 frames per second, a vast improvement on browsing heavy web pages locally using Midori, Chrome or Iceweasel/Firefox.

I found this performance to be perfectly usable for browsing the web and checking webmail with Firefox, cropping and resizing images using GIMP, playing the Solitaire card game using Aisleriot and dragging and dropping files between multiple PCMAN-FM file manager windows.

Limitations were a 10fps limit on video and animations due to bandwidth limitations, a few JPG artefacts on some images and some pixelation of colour gradients due to compression.

I haven't tried sound, printing or file transfer yet.
--
Andrew Oakley, Gloucestershire
Posts: 7
Joined: Fri May 11, 2012 10:27 pm
by MaxMaxwell » Tue Jan 15, 2013 11:42 am
Thank You. I copied and saved this info.
Max Maxwell
Posts: 2
Joined: Sun Jan 13, 2013 3:37 am