[K12OSN] A little K12LTSP Firefox Kiosk HOWTO

Ritchie, Josiah S. jritchie at bible.edu
Fri Jan 27 12:52:01 UTC 2006


That would be great for that PDF magazine that was being talked about
last month.

JSR/

> -----Original Message-----
> From: k12osn-bounces at redhat.com [mailto:k12osn-bounces at redhat.com] On
> Behalf Of Mike Thostenson
> Sent: Thursday, January 26, 2006 5:27 PM
> To: k12osn at redhat.com
> Subject: [K12OSN] A little K12LTSP Firefox Kiosk HOWTO
> 
> I have written a few custom PHP/MySQL apps that required a locked down
> kiosk for patrons at the front desk so that they can sign in and out
by
> themselves. I did not want the user to be able to easily close the web
> browser or see any toolbars including the address bar. I thought I
would
> write a few of these notes from this project down to help me remember
> what I did and then also save someone else the hassle of battling this
> in the future.
> 
> Hardware:
> 1 - Dell PowerEdge SC430 3.0Ghz EMT64 1GB RAM SATA HDD
> 2 - Wyse S50 Terminals
> 2 - Wyse VESA Monitor Mounts (wrap the mount onto the stem of the dell
> LCD base then clip the S50 to it...the pressure holds it to the stem
> perfectly)
> 2 - Dell E156FP Flat Panel LCD Monitors
> 
> Software:
> K12LTSP-4.2.3EL x86_64
> Stock Mozilla Firefox 1.5 from mozilla.com
> R-kiosk 0.2 Firefox Extension written by Kimmo Heinaaro
> 
> Some Notes:
> I won't go into detail about everything that was done due to the lack
of
> time, but the following info should give the average linux dude a good
> idea of what to do (if they would like to use my method).
> 
> I started by installing and setting up k12ltsp and creating some user
> accounts that automatically login. You will need to edit the following
> files to make this happen:
> /etc/X11/gdm/gdm.conf (to get gdm to work in kiosk mode)
> **hints:
> AutomaticLoginEnable=false
> AutomaticLogin=/usr/bin/autologin.sh|
> TimedLoginEnable=true
> TimedLogin=/usr/bin/autologin.sh|
> TimedLoginDelay=0
> ***end hints (lots more...just short on time)
> /etc/dhcpd.conf (to get ip address based on mac address)
> /opt/ltsp/i386/etc/ltsp.conf (configure drivers and hw settings for a
> specific node)
> /etc/hosts (to insure ip address assigned matches host name)
> 
> Once you have k12ltsp logging in automatically you will want to set
your
> default window manager to IceWM.desktop and disable Gnome and KDE. (I
> won't get into that here)
> 
> Tell IceWM not to start Nautilus (resource hog):
> ICEWM_USE_SESSION=YES
> ICEWM_USE_NAUTILUS=NO
> 
> Edit /usr/share/icewm/preferences and disable your taskbar, logout
> prompting, and anything else you desire.
> 
> You should now have IceWM being automatically logged in with just a
bare
> desktop...nothing else.
> 
> Next, we will setup firefox
> 
> Download the stock firefox 1.5, untar and unzip it.
> Put this in a users home directory just as /home/john/firefox
> Run firefox/firefox and install the R-Kiosk 2 Extension as that user
> Setup firefox the exact way you want it locking things down by doing:
> cd greprefs
> create a file called mozilla.cfg.txt with the following inside it:
> //
> 
> try {
> 
> lockPref("network.proxy.http", "192.168.10.1");
> lockPref("network.proxy.http_port", 8080);
> lockPref("network.proxy.type", 1);
> lockPref("network.proxy.no_proxies_on", "localhost, 127.0.0.1,
> www.YOURSITE.com");
> lockPref("browser.startup.homepage", "http://www.YOURSITE.com");
> lockPref("browser.startup.homepage_override.mstone", "rv:1.7");
> lockPref("browser.cache.disk.capacity", 10000);
> lockPref("signon.rememberSignons", false);
> lockPref("security.warn_entering_secure", false);
> lockPref("security.warn_leaving_secure", false);
> lockPref("security.warn_submit_insecure", false);
> lockPref("security.warn_viewing_mixed", false);
> lockPref("print.always_print_silent", true);
> lockPref("print.show_print_progress", false);
> 
> }
> 
> catch(e){
> displayError("lockedPref", e);
> }
> 
> Save and exit this file
> Download moz-byteshift.pl (Google it...you will find it)
> ./moz-byteshift.pl -s 13 <mozilla.cfg.txt >mozilla.cfg
> mv mozilla.cfg /home/john/firefox
> Edit /home/john/firefox/greprefs/all.js and add the following to the
> bottom:
> pref("general.config.filename","mozilla.cfg");
> 
> Save and exit then launch firefox again...your firefox config should
be
> set.
> Do cp -R /home/john/firefox /etc
> You will need to change some permissions on some of the extension
files
> for my icewm startup script which blows away /home/$USER/firefox and
> /home/$USER/.mozilla everytime icewm is started. This was designed so
> that if firefox freaks out...a power off and on of the terminal will
> cure everything.
> Permission changes needed in this directory and subdirectories:
>
/home/john/firefox/extensions/\{4D498D0A-05AD-4fdb-97B5-8A0AABC1FC5B\}/c
> hrome/
> I changed them like:
> chmod 644 contents.rdf rkioskbrowser.js rkioskbrowser.xul
> chmod 644 rkiosk.jar
> 
> Now what I did was setup icewm to blow away each stations firefox
> program and settings everytime icewm is started.
> Edit /usr/share/icewm/startup and add something like:
> pkill -U $USER firefox
> rm -Rf /home/$USER/.mozilla
> rm -Rf /home/$USER/firefox
> cp -R /etc/firefox /home/$USER/firefox
> chown -R $USER:$USER /home/$USER/firefox
> /home/$USER/firefox/firefox www.YOURSITE.com &
> 
> Now when IceWM starts it will first killall any stale firefox process
> for that station. (Needed cause the terminals are just shutoff)
> All firefox program for that user and settings are nuked.
> A fresh copy is then loaded into the users home directory
> Firefox is then launched and set to visit www.YOURSITE.com
> 
> That should give you a place to start. I will try to replace these
notes
> with a formal HOWTO in the future but at least this will give you a
> place to start.
> 
> Please feel free to comment and provide a more efficient means that is
> bullet proof and reliable.
> 
> Mike Thostenson
> 
> _______________________________________________
> K12OSN mailing list
> K12OSN at redhat.com
> https://www.redhat.com/mailman/listinfo/k12osn
> For more info see <http://www.k12os.org>




More information about the K12OSN mailing list