Linux Surfterminal HOWTO ======================== v. 13.5.2003 (C) Jens Wilke 2003 Set up a Linux box as a surf terminal and only as a surf terminal. There's just a web browser (Mozilla Firebird) running on it, even any console access provided. No user login is required to surf. Root has to access over ssh. This howto is NOT a step by step tutorial, you should be familiar with linux, better debian. At boot time there's no login required, wm2 windowmanager and Mozilla firebird start with UID gast (guest). If Firebird is closed or XFree or wm2 do crash (which is more hypothetical) they will be started again after a few seconds. On each start of Firebird, the default settings are copied from /etc/skel/.phoenix to /home/gast/.phoenix Due to the demand of Firebird, /home/gast/.phoenix needs to be writable, this is a security hole. Further Versions might fix this. You're free to use any other Browser, which fits to your Hardware. Everything else under /home/gast belongs root and is write protected for the user. What you need: Pentium PC, may be even 486 do work (reports welcome) P133 needs some minutes to boot and start firebird. Debian Woody CD1, net access How to install: Install the base system. Don't use @euro locales as standard, they don't work with wm2! Configure the net and apt. It's a good idea to upgrade to "testing". Insttall XFree86, xbase-clients and some fonts you will also need to install and link some libs, which are out of my history now. :) Get Mozilla Firebird from www.mozilla.org NOTE: Phoenix 0.5, the last Version before the project changed its name, doesn't work properly for this job! I decided to unpack the firebird tar to /usr/opt apt-get source wm2 wm2 is not configurable, we have to do some changes in the source: In Buttons.C after line 131, at the beginning of void WindowManager::menu(XButtonEvent *e) add one line: return; this prevents the windowmanager to be closed by the user. I didn't figure out, how to delete or change the "new" entry from the menu. Until you didn't change this entry, don't install xterm! "make depend" will tell you, which librarys are missing "make" will build wm2 binary, copy it to /usr/bin Ok, to start all the stuff on boot time, and to keep XFree, wm2 and firebird running all the time, i've created a runx script in /etc/init.d and linked it to /etc/rc*.d/S50X Shut down script is not yet finished ;) # runx #!/bin/sh PATH=/bin:/usr/bin:/usr/bin/X11:/usr/sbin export LANG=de_DE export DISPLAY=:0.0 export HOME=/home/gast xhost +localhost while true do if ! ( ps -ef | awk '{ print($8) }' | grep XFree ) then XFree86 & sleep 2 fi if ! ( ps -ef | awk '{ print($8) }'| grep wm2 ) then su gast -pc wm2& sleep 2 xsetroot -solid black -display :0.0 fi if ! ( ps -ef | awk '{ print($8) }' | grep phoenix-bin ) then rm -R /home/gast/.phoenix cp -R /etc/skel/.phoenix /home/gast chown -R gast.gast /home/gast/.phoenix su gast -pc '/usr/opt/phoenix/phoenix -width 800 -height 600 &' fi sleep 2 done & # while will loop in the background and check if XFree, wm2 and Phoenix are running. xsetroot is able to add an background image to the desktop, see manpage. The first two were for testing, or if you guess X might crash on your mashine, they shouldn't be required inside the while but before, because of some adjustments in /etc/X11XFree86-Config-4: Add these lines out of DEBCONF SECTION: Section "ServerFlags" DontZap Option "DontVTSwitch" "On" EndSection This prevents X to be closed by pressing or to switch to a virtual console by . If you don't want this, be aware, that you'll need strong passwords, even for user gast. At least, steal the users home, just let him his .phoenix dir and chmod o-w /tmp. It's recommended to make an own partitition for /home so long as the user needs write access. If you ever want to change the firebird adjustments, do it as user, login via ssh as root and copy /home/gast/.phoenix to /etc/skel/. Don't forget to remove the lock file in /etc/skel/.phoenix/default/xy/. This is a very quick notice of a linux terminal i set up, mainly not to forget it myself. If you have suggestions, feel free to contact me.