Weblog entry #1 for lykwydchykyn
I'm a KDE fan so I've tried doing this using kioskTool. Unfortunately, the results are unpredictable and it doesn't seem to work consistently (such as with the KDE menu-- I would edit and edit but the changes never stuck. Apparently it's a bug that is not addressed in the current version).
Anyone had any experience doing something like this? Can you point me to some resources?
And no, for the record I'm not interested in diskless terminals.
Comments on this Entry
[ Send Message | View emeitner's Scratchpad | View Weblogs ]
[ Parent | Reply to this comment ]
Thanks; I've been digging a bit deeper into KDE's kiosk framework and I see that there's a lot more to it that just kioskTool. One thing that might go a long way towards doing what I want is just making the public user's home read-only. Unfortunately this causes KDE to fail at login... or so I thought. I found this at KDE.org:
For kiosk setups it might sometimes be desirable to have the home-directory read-only. In that case $ICEAUTHORITY and $DCOPAUTHORITY should be pointed to writable locations. Normally KDE will abort when the home-directory is not writable. Since KDE 3.1.4 this can be prevented by setting the environment variable $KDE_HOME_READONLY to a non-empty value.The wheels are still turning in my brain, but basically with this tidbit of information and a bit of rsync and chmod I think I might just be on to an idea.
[ Parent | Reply to this comment ]
[ Parent | Reply to this comment ]
I suspect that you are dealing with "user environment variables" that are employed by KDE, as opposed to "KDE environment variables". So try adding something like the following to your .bashrc or .bash_profile, then exit and log back in to activate: export KDE_HOME_READONLY=1
export OTHER_VAR='value'
export YET_ANOTHER_VAR='value'
cheers and good luck,
ybiC
[ Parent | Reply to this comment ]
I guess what I'm looking for is the proper file to define environment variables when logging into the desktop from KDM. I suppose I could stick them in the Xsession script or something, but surely if the KDE folks came up with all these environment variables they had a good place in mind for me to define them. Just wondering if anyone knew this.
[ Parent | Reply to this comment ]
It will need some refining, I think; so far if you try to do any writing or changing, you just get an error. But I can work with that... Now to see which programs will actually work with a read-only homedir.[ -d /tmp/dood ] || mkdir /tmp/dood [ -f /tmp/dood/.ICEauthority ] || touch /tmp/dood/.ICEauthority [ -f /tmp/dood/.DCOPserver ] || touch /tmp/dood/.DCOPserver export KDE_HOME_READONLY=1 export ICEAUTHORITY=/tmp/dood/.ICEauthority export DCOPAUTHORITY=/tmp/dood/.DCOPserver
[ Parent | Reply to this comment ]
Yeah, I was pretty sure the ~/.bashrc or /etc/bashrc stuff would do the trick for you. The key is to understand the following hierarchy:
Desktop environments and window managers both operate *on top of* the underlying shell. Since the user dot-files (.bash_logout, .bash_profile, .bashrc) are all read and acted on when establishing the user shell during initial login, their resulting behaviors are inherited by any overlying GUI. This is true whether you login to a CLI shell and use startx to launch X11, or use a display manager for a GUI login screen.
And in case you have any curiosity for the underlying shell stuff, Bash Guide for Beginners looks to be a good reference.
And regarding read-only home directories, perhaps setting up a RAM-disk would help work around any potential show-stopping snags. Although that might support an undesired degree of user-tweaking-ness for your kiosk needs. *shrug* cheers and good luck,
ybic
[ Parent | Reply to this comment ]
But it's probably better to set this outside the home folder for kiosk mode. The debian way (global env vars): /etc/environment -- this is sourced by pam.
________________
Ionut Ciocirlan
[ Parent | Reply to this comment ]