Changes RSS

====== Differences ====== This shows you the differences between two versions of the page.

Link to this comparison view

testing:readonly-lenny [2009/03/18 14:08]
fishy
testing:readonly-lenny [2009/03/18 14:29] (current)
fishy New section...
Line 16: Line 16:
   * Partitioning: Manual, one partition, no swap   * Partitioning: Manual, one partition, no swap
   * Tasksel Install: Base system only.   * Tasksel Install: Base system only.
 +  * Non-root user: kitteh
  
 Post install:  Post install: 
Line 251: Line 252:
 <code> <code>
 ro ro
 +</code>
 +
 +===== Setting up the Kiosk function... =====
 +
 +With X up and running, and the filesystem back in read-only mode, make sure the non-root user crated during install is available for use, by setting up the home directory:
 +
 +<code>
 +mkdir /home/kitteh
 +chown kitteh.kittteh /home/kitteh
 +</code>
 +
 +Now, either switch to a different VT, or log out root. Log in as the non-root user created during install, create a simple ~/.xinitrc:
 +
 +<code>
 +# File: /home/kitteh/.xinitrc
 +xterm &
 +blackbox
 +</code>
 +
 +Start up X:
 +
 +<code>
 +startx
 +</code>
 +
 +Now, start up iceweasel (yeah, firefox is not called firefox, but iceweasel on Debian, due to licensing issues). Install the Autohide extension from http://www.krickelkrackel.de/autohide/, and configure it for the local user. By enabling this extension, and exiting iceweasel while it is displayed fullscreen, iceweasel will "always" start in full-screen mode.
 +
 +After setting iceweasel up, update the .xinitrc:
 +
 +<code>
 +# File: /home/kitteh/.xinitrc
 +xsetroot -solid white &
 +xset -dpms s off &
 +unclutter &
 +xterm -iconic &
 +iceweasel http://the.url.of.the.kiosk.example.com &
 +blackbox
 +</code>
 +
 +After this, exit X11, test that it works OK, and exit the non-root login completely.
 +
 +Now, we need to retain the settings made from boot to boot. /home is mounted as a tmpfs, so we need to clone the kitteh
 +home directory somewhere else on the file system, and push it back in place on boot. Log in as root..
 +
 +<code>
 +rw
 +cp -pRv /home/kitteh /usr/local/kitteh
 +</code>
 +
 +Add  the following to /etc/rc.local to clone the saved homedir content on boot:
 +<code>
 +cp -R /usr/local/kitteh /home/kitteh
 +chown -R kitteh.kitteh /home/kitteh
 +</code>
 +
 +I have opted to force X to start on boot by running it from /etc/rc.local as well, by adding this line
 +just above "exit 0":
 +
 +<code>
 +su -c "startx" kitteh
 +</code>
 +
 +Now, X will normally not start unless the user starting it is also controlling the console. As I am starting X from an rc-script, that is not the case. So, to allow rc.local starting X as the user "kitteh", put the following content in 
 +/etc/X11/Xwrapper.config
 +
 +<code>
 +# Keeping the old setting as a comment, for clarity...
 +# allowed_users=console
 +#
 +# This is not really seen as "safe", but in our case, it is needed..
 +allowed_users=anybody
 +#
 +# Niceness value? Nah....
 +nice_value=0
 +</code>
 +
 +That should really be enough for starters. Close everything up, set the file system as read only again, and reboot.
 +
 +<code>
 +ro
 +reboot
 </code> </code>