[X2Go-User] x2gothinclient w/o pxe

Jonathan Brown jbssfl at gmail.com
Fri Feb 24 01:05:52 CET 2012


Hi all,

A cursory reading of the online lit I found relating to x2gothinclient
seems to require that the stations all pxeboot...

I don't want thinclients that pxeboot.. what I need is a minimal OS that is
setup to autologin to X and then pyhoca-cli to the x2go-server... can the
x2gothinclient packages do this say on a minimal debian install for the
thinclient.. ?

Since I did not see this capability, I already built from scratch a minimal
Debian 6 that does an autologin into X using gdm/matchbox wm, and then
created a script that force loops a username/pw graphical dialog using yad
(zenity fork)... suffice it to say this works well... but I'm thinking if
x2gothinclient already had the capability to do this then I did it all for
nought.. except it was definitely a good exercise...

The steps and scripts that I did do make this pxe-less x2g0
thin-client/kiosk follow ... I'm sure this can be quite improved...
actually the main thing I'd like to improve is to have the matchbox wm/X on
the local thin client be aware when there is no activity in the x2go
session, and if no activity, then kill or suspend the pyhoca-cli session,
thus going back to the yad login prompt, but I haven't found a way to do
this (normal logout of the x2go session of course works fine and brings you
back to the yad login prompt)... I think the problem is that matchbox wm/X
always thinks there is activity when the x2go session is logged in/active,
even when there is no activity in the x2go session itself...

Any thoughts on any of the above would be appreciated!

Steps/scripts etc for x2g0 thin-client/kiosk:

OK so I pretty much used the guide from:
http://www.alandmoore.com/blog/2011/11/05/creating-a-kiosk-with-linux-and-x11-2011-edition/

and went from there...

After initial Debian squeeze install with only ssh server:

Add x2go sources and install pyhoca-cli
apt-get install xorg
apt-get install gdm --no-install-recommends
apt-get install xautolock feh
wget
http://archive.ualinux.com/ubuntu/main/lucid/yad_0.15.0-1~webupd8~lucid_i386.deb
dpkg -i yad_0.15.0-1~webupd8~lucid_i386.deb
(the above is an ubuntu lucid yad deb package but it worked so I didn't ask
any further questions :)  ... there might be a better yad package for
squeeze but I could not find one)
adduser kiosk (or whatever)
cp -r /home/kiosk /opt/;
cd /opt/kiosk/;
chmod -R a+r .;
touch .xprofile
chmod a+x .xprofile

my .xprofile:

root at lxtrms-thinclient-colodesk:~# cat /home/sagotech/.xprofile
xset s off
xset -dpms
matchbox-window-manager &
eval `cat /home/sagotech/.fehbg` &
xautolock -secure -time 10 -locker /usr/local/bin/suspend_pyhoca-cli.sh &
while true; do
    rsync -qr --delete --exclude='.Xauthority' /opt/sagotech/ $HOME/
    exec /home/sagotech/start_pyhoca.sh
done

suffice it to say xautolock does not detect non-activity in an x2go session
so the suspend_pyhoca-cli.sh never ran:

root at lxtrms-thinclient-colodesk:~# cat /usr/local/bin/suspend_pyhoca-cli.sh
#!/bin/bash
pyhoca-cli -S

(for background behind the yad login prompt):
root at lxtrms-thinclient-colodesk:~# cat /home/sagotech/.fehbg
feh --bg-scale '/usr/share/wallpaper/custom-bk-2.jpg'

The script that brings up the yad login prompt loop called from .xprofile
follows... so we have this loop inside the loop of the .xprofile script...
not sure if this necessary or a good thing etc.

root at lxtrms-thinclient-colodesk:~# cat /home/sagotech/start_pyhoca.sh
#!/bin/bash
while true; do
frmdata=$(yad --center --undecorated
--image=/usr/share/wallpaper/sago-header-mod.jpg --image-on-top
--button="gtk-ok:0" --title "Login to Sago Linux Terminal Server" --form
--field="AD username" --field="Password:H")
frmusername=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $1 }')
frmpassword=$(echo $frmdata | awk 'BEGIN {FS="|" } { print $2 }')
pyhoca-cli --server X.X.X.X -u $frmusername --password $frmpassword -c
startkde --sound none --kbd-layout us --kbd-type pc105/us -g fullscreen
--add-to-known-hosts
done

The above basically gives you a login prompt and forces you to enter a
login AND password and the password is hidden when you type it it puts a
nice header image at the top of the prompt.. it only gives an OK button (no
cancel)...  then passes off the username/pw to pyhoca-cli

So yeah I would like to improve this so that inactive x2go sessions get
suspended and go back to the yad login prompt... perhaps there is a
pyhoca-cli switch that does this that I'm not aware of... But even without
that feature this works real nice as a non-pxe x2go thin-client station.

Anyway this is all probably very messy and amateurish, but I am not exactly
a programmer or very proficient bash scripter so.. :)  Also I might be
missing a few steps and if any of the above does not make sense please
advise and I'll try to see if I missed something in the steps given above...

Any thoughts on any of the above would be appreciated!

-- 
*"It is only when each individual has achieved inner peace that we will see
lasting outer peace in the world"
*
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x2go.org/pipermail/x2go-user/attachments/20120223/45bec0a0/attachment.html>


More information about the x2go-user mailing list