diff options
Diffstat (limited to 'os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm')
-rw-r--r-- | os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm index 45c8548a..24d22c6d 100644 --- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm +++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm @@ -48,9 +48,11 @@ sub setupGDMScript my $script = $self->SUPER::setupGDMScript($repoPath); my $configFile = $self->GDMPathInfo->{config}; - + + # include common stuff (independent of display manager used) + $script = _setupCommonDmScript($script); + $script .= unshiftHereDoc(<<' End-of-Here'); - rllinker xdm 1 10 sed -i 's/DISPLAYMANAGER=.*/DISPLAYMANAGER="gdm"/' \ /mnt/etc/sysconfig/displaymanager [ $(grep -q DISPLAYMANAGER /mnt/etc/sysconfig/displaymanager) ] && \ @@ -94,9 +96,11 @@ sub setupKDMScript symlink("/etc/opt/kdm/kdmrc", "/var/adm/kdm/kdmrc.sysconfig"); my $script = $self->SUPER::setupKDMScript($repoPath); - + + # include common stuff (independent of display manager used) + $script = _setupCommonDmScript($script); + $script .= unshiftHereDoc(<<' End-of-Here'); - rllinker xdm 1 10 sed -i 's/DISPLAYMANAGER=.*/DISPLAYMANAGER="kdm"/' \ /mnt/etc/sysconfig/displaymanager [ $(grep -q DISPLAYMANAGER /mnt/etc/sysconfig/displaymanager) ] && \ @@ -113,4 +117,25 @@ sub setupKDEHOME return; } +sub _setupCommonDmScript +{ + my $script = shift; + + $script .= unshiftHereDoc(<<' End-of-Here'); + rllinker xdm 1 10 + # cleanup after users Xorg session + sed 's,^#!.*,,' /mnt/etc/X11/xdm/Xreset \ + > /mnt/etc/X11/xdm/Xreset.system + echo -e '#!/bin/sh\n#\n# modified by desktop plugin in Stage3\n#\n + # remove safely any remaining files of the leaving user in /tmp + ( su -c "rm -rf /tmp/*" - $USER + echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) & + . /etc/X11/xdm/Xreset.system' >/mnt/etc/X11/xdm/Xreset + chmod a+x /mnt/etc/X11/xdm/Xreset* + + End-of-Here + + return $script; +} + 1; |