* '''Launchpad Entry''': UbuntuSpec:customize-guest-session * '''Created''': 2010-09-12 * '''Contributors''': [[GunnarHj|Gunnar Hjalmarsson]] * '''Packages affected''': [[http://packages.ubuntu.com/lucid/gdm-guest-session|gdm-guest-session]] == Summary == To facilitate for computer owners/system admins to customize the appearance and behavior of a guest session, I suggest the addition of a hook in each of these gdm-guest-session files: `/usr/share/gdm/guest-session/guest-session-launch`<
> `/usr/share/gdm/guest-session/guest-session-setup.sh`<
> `/etc/apparmor.d/gdm-guest-session` Details in the Code Changes section below. == Release Note == Addition of a couple of hooks that make it possible to customize/configure a guest session without changing any gdm-guest-session files. == Rationale == I have noticed a few feature requests with respect to gdm-guest-session, and some of them are asking for rather trivial customization possibilities. I'm demonstrating a few customization opportunities in the tutorial [[http://ubuntuforums.org/showthread.php?t=1566078|Customize guest session]], but currently the install script that is attached to that document edits some gdm-guest-session files. I would feel more comfortable with the tutorial if there was no need to alter any files in the gdm-guest-session package, and that wish would be satisfied by the hooks I suggest be implemented. I believe that giving computer owners better control is almost always desirable. == Assumptions == Implicitly I suggest that the files `/etc/guest-session/prepare.sh` and `/etc/guest-session/prefs.sh` are established as preferred files for configuration code. I also suggest that the directory `/var/guest-data` is established as the preferred place for guests to save files permanently when the admin opts to allow it. == Implementation == === Code Changes === These three diffs make up the specific code changes that I would like to see. {{{ --- /usr/share/gdm/guest-session/guest-session-launch 2010-04-15 01:24:01 +0200 +++ guest-session-launch 2010-09-09 21:40:04 +0200 @@ -3,6 +3,10 @@ # Author: Martin Pitt # License: GPL v2 or later # + +# prepare possible local guest session preferences +test -f /etc/guest-session/prepare.sh && . /etc/guest-session/prepare.sh + # Convenience wrapper to lock the screen and trigger a guest session if [ -z "$GDMSESSION" ] ; then }}} {{{ --- /usr/share/gdm/guest-session/guest-session-setup.sh 2010-04-15 01:24:01 +0200 +++ guest-session-setup.sh 2010-09-08 01:45:11 +0200 @@ -79,8 +79,11 @@ dmrc="[Desktop]\nSession=${1}-guest-restricted" fi /bin/echo -e "$dmrc" > /var/cache/gdm/"$USER"/dmrc +# set possible local guest session preferences +test -f /etc/guest-session/prefs.sh && . /etc/guest-session/prefs.sh + echo #TODO: bug workaround, gdm expects to find a newline # report user name to gdm echo "$USER" }}} {{{ --- /etc/apparmor.d/gdm-guest-session 2010-04-15 01:24:01 +0200 +++ gdm-guest-session 2010-09-08 01:45:11 +0200 @@ -40,6 +40,7 @@ /usr/** rmixk, /var/ r, /var/** rmixk, + /var/guest-data/** rw, # allow to store files permanently /var/tmp/ rw, /var/tmp/** rwlkm, /var/run/** rmwkix, # necessary for writing to sockets, etc. }}} === User information === I'm not sure of the best way to point users to this opportunity. Possibly the [[http://ubuntuforums.org/showthread.php?t=1566078|Customize guest session]] tutorial can play a role. == Unresolved issues == Not everyone is able or likes to tweak shell code, and I'm sure that some would like to see a configuration GUI under '''System -> Preferences -> Guest Session'''. Obviously this specification does not address such wishes, but possibly the hooks will make it easier to start develop such a UI. == Comments == Implemented in [[https://code.launchpad.net/~ubuntu-branches/ubuntu/natty/gdm-guest-session/natty|lp:ubuntu/gdm-guest-session]]. Thanks, [[https://launchpad.net/~pitti|Martin]]! / GunnarHj 2010-10-18 ---- CategorySpec