summaryrefslogtreecommitdiffstats
path: root/os-plugins/plugins/desktop
diff options
context:
space:
mode:
authorroot2010-04-13 15:49:09 +0200
committerroot2010-04-13 15:49:09 +0200
commit91c3a8df4be49fba4c7398413e15fc9868b94bd0 (patch)
tree7305f330b58eed9a0d9bd01b20ca0efbe8b4f23d /os-plugins/plugins/desktop
parentfix pbs stuff (diff)
parentvirtualization plugin, now with calculation of mem, run-vmgrid and run-virt u... (diff)
downloadcore-91c3a8df4be49fba4c7398413e15fc9868b94bd0.tar.gz
core-91c3a8df4be49fba4c7398413e15fc9868b94bd0.tar.xz
core-91c3a8df4be49fba4c7398413e15fc9868b94bd0.zip
Merge branch 'master' of git@openslx.org:openslx/core
Diffstat (limited to 'os-plugins/plugins/desktop')
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm10
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm8
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm4
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm68
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm161
-rw-r--r--os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm161
6 files changed, 363 insertions, 49 deletions
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm
index dfeb1d0a..1dc0482c 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Scilin.pm
@@ -69,7 +69,7 @@ sub GDMConfigHashForWorkstation
my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
$configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/sessions/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions';
+ '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions';
$configHash->{'daemon'}->{Greeter} =
'/usr/libexec/gdmgreeter';
@@ -119,10 +119,10 @@ sub _setupCommonDmScript
( 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*
-
- # enable the inittab entry again (incomplete)
- # sed -e "s,# line deleted.*,x:5:respawn:/etc/X11/prefdm -nodaemon," \
+ chmod a+x /mnt/etc/X11/xdm/Xreset*
+
+ # enable the inittab entry again (incomplete)
+ # sed -e "s,# line deleted.*,x:5:respawn:/etc/X11/prefdm -nodaemon," \
# -i /mnt/etc/inittab
End-of-Here
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
index 3d451e9e..86ae59f9 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse.pm
@@ -1,4 +1,4 @@
-# Copyright (c) 2006..2009 - OpenSLX GmbH
+# Copyright (c) 2006..2010 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -75,7 +75,7 @@ sub GDMConfigHashForWorkstation
my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
$configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/sessions/:/usr/share/xsessions/';
+ '/etc/X11/session/:/usr/share/xsessions/';
$configHash->{'daemon'}->{DefaultSession} = 'default.desktop';
$configHash->{'daemon'}->{Greeter} =
'/usr/lib/gdm/gdmgreeter';
@@ -124,9 +124,11 @@ sub setupKDMScript
sed -i "s/DISPLAYMANAGER=.*/DISPLAYMANAGER=\"kdm$kdmver\"/" \
/mnt/etc/sysconfig/displaymanager
[ $(grep -q DISPLAYMANAGER /mnt/etc/sysconfig/displaymanager) ] && \
- echo "DISPLAYMANAGER=\"kdm$kdmver\"" >> /mnt/et/sysconfig/displaymanager
+ echo "DISPLAYMANAGER=\"kdm$kdmver\"" >>/mnt/etc/sysconfig/displaymanager
sed -i "s/DEFAULT_WM=.*/DEFAULT_WM=\"$desktop_kind\"/" \
/mnt/etc/sysconfig/windowmanager
+ # needed for compatibility X11/session(s)
+ ln -s /etc/X11/session /mnt/etc/X11/sessions
End-of-Here
return $script;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm
index c7f27d65..ac14b2a5 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Suse_10_2.pm
@@ -1,4 +1,4 @@
-# Copyright (c) 2006..2009 - OpenSLX GmbH
+# Copyright (c) 2006..2010 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -44,7 +44,7 @@ sub GDMConfigHashForWorkstation
my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
$configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/sessions/:/usr/share/xsessions/';
+ '/etc/X11/session/:/usr/share/xsessions/';
$configHash->{'daemon'}->{Greeter} =
'/opt/gnome/lib/gdm/gdmgreeter';
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
index 6e69ee14..14f56b48 100644
--- a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu.pm
@@ -1,4 +1,4 @@
-# Copyright (c) 2006..2009 - OpenSLX GmbH
+# Copyright (c) 2006..2010 - OpenSLX GmbH
#
# This program is free software distributed under the GPL version 2.
# See http://openslx.org/COPYING
@@ -33,7 +33,7 @@ sub GDMPathInfo
my $pathInfo = $self->SUPER::GDMPathInfo();
# link gdm.conf-custom instead of gdm.conf
- $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
+ $pathInfo->{config} = '/etc/gdm/custom.conf';
return $pathInfo;
}
@@ -57,9 +57,10 @@ sub setupGDMScript
echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
. /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
chmod a+x /mnt/etc/gdm/PostSession/Default*
- # gdm should be started after dbus/hal
- rllinker gdm 5 10
+ # gdm should be started via upstart mechanism
+ mv /mnt/etc/init.inactive/gdm.conf /mnt/etc/init
echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
+ # possible to do this directly?
chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
chroot /mnt update-alternatives --set x-session-manager \
/usr/bin/gnome-session
@@ -67,39 +68,21 @@ sub setupGDMScript
rm -rf /mnt/var/lib/gdm
mkdir -m 1770 /mnt/var/lib/gdm
chown root:gdm /mnt/var/lib/gdm
- sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
- -i /mnt$configFile
+ #sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
+ # -i /mnt$configFile
End-of-Here
return $script;
}
-sub KDMVersion
-{
- my $self = shift;
- my $vendorOSName = $self->{'engine'}->{'vendor-os-name'};
-
- my $kdmVer;
- if ( $vendorOSName =~ /ubuntu-8.04.*/ ) {
- $kdmVer = "3";
- }
- else {
- $kdmVer = "4";
- }
-
- return $kdmVer;
-
-}
-
sub KDMPathInfo
{
my $self = shift;
my $pathInfo = $self->SUPER::KDMPathInfo();
- my $kdmVer = $self->KDMVersion();
$pathInfo = {
- config => "/etc/kde$kdmVer/kdm/kdmrc",
+ config => "/etc/kde4/kdm/kdmrc",
paths => [
'/var/lib/kdm',
'/var/run/kdm',
@@ -113,18 +96,30 @@ sub GDMConfigHashForWorkstation
{
my $self = shift;
- my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
- $configHash->{'daemon'}->{SessionDesktopDir} =
- '/etc/X11/sessions/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions/';
-
- return $configHash;
+ return {
+ 'chooser' => {
+ Multicast => 'false',
+ },
+ 'daemon' => {
+ AutomaticLoginEnable => 'false',
+ Group => 'gdm',
+ User => 'gdm',
+ DefaultSession => 'default.desktop',
+ },
+ 'security' => {
+ DisallowTCP => 'true',
+ },
+ 'xdmcp' => {
+ Enable => 'false',
+ },
+ };
}
sub KDMConfigHashForWorkstation
{
my $self = shift;
- my $kdmVer = $self->KDMVersion();
+ my $kdmVer = "4";
my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
$configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
$configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
@@ -132,7 +127,7 @@ sub KDMConfigHashForWorkstation
$configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
$configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
$configHash->{'X-:0-Core'}->{SessionsDirs} =
- '/etc/X11/sessions,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
+ '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
$configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
return $configHash;
@@ -143,14 +138,9 @@ sub setupKDMScript
my $self = shift;
my $repoPath = shift;
- my $kdmVer = $self->KDMVersion();
+ my $kdmVer = "4";
my $script = $self->SUPER::setupKDMScript($repoPath);
- # change default theme to openslx-legacy if kdm3
- if ( $kdmVer == "3" ) {
- print " * Please change to openslx-legacy theme when using kdm3\n";
- }
-
$script .= "kdmver=$kdmVer\n";
$script .= unshiftHereDoc(<<' End-of-Here');
@@ -165,7 +155,7 @@ sub setupKDMScript
. /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
- rllinker kdm 1 10
+ mv /mnt/etc/init.inactive/kdm.conf /mnt/etc/init
echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
chroot /mnt update-alternatives --set x-session-manager \
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm
new file mode 100644
index 00000000..6f00f181
--- /dev/null
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_8.pm
@@ -0,0 +1,161 @@
+# Copyright (c) 2006..2010 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# desktop/OpenSLX/Distro/Ubuntu_8.pm
+# - provides Ubuntu-specific overrides of the distro API for the desktop
+# plugin.
+# -----------------------------------------------------------------------------
+package desktop::OpenSLX::Distro::Ubuntu_8;
+
+use strict;
+use warnings;
+
+use base qw(desktop::OpenSLX::Distro::Base);
+
+use OpenSLX::Basics;
+use OpenSLX::Utils;
+
+################################################################################
+### interface methods
+################################################################################
+
+sub GDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::GDMPathInfo();
+
+ # link gdm.conf-custom instead of gdm.conf
+ $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
+
+ return $pathInfo;
+}
+
+sub setupGDMScript
+{
+ my $self = shift;
+ my $repoPath = shift;
+
+ my $script = $self->SUPER::setupGDMScript($repoPath);
+
+ my $configFile = $self->GDMPathInfo->{config};
+
+ $script .= unshiftHereDoc(<<' End-of-Here');
+ # cleanup after users Xorg session
+ sed 's,^#!.*,,' /mnt/etc/gdm/PostSession/Default \
+ >/mnt/etc/gdm/PostSession/Default.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/*"
+ echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
+ . /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
+ chmod a+x /mnt/etc/gdm/PostSession/Default*
+ # gdm should be started after dbus/hal
+ rllinker gdm 5 10
+ echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
+ chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
+ chroot /mnt update-alternatives --set x-session-manager \
+ /usr/bin/gnome-session
+ # gdm does not like AUFS/UnionFS on its var directory
+ rm -rf /mnt/var/lib/gdm
+ mkdir -m 1770 /mnt/var/lib/gdm
+ chown root:gdm /mnt/var/lib/gdm
+ sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
+ -i /mnt$configFile
+ End-of-Here
+
+ return $script;
+}
+
+sub KDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::KDMPathInfo();
+ my $kdmVer = "3";
+
+ $pathInfo = {
+ config => "/etc/kde$kdmVer/kdm/kdmrc",
+ paths => [
+ '/var/lib/kdm',
+ '/var/run/kdm',
+ ],
+ };
+
+ return $pathInfo;
+}
+
+sub GDMConfigHashForWorkstation
+{
+ my $self = shift;
+
+ my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
+ $configHash->{'daemon'}->{SessionDesktopDir} =
+ '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions/';
+
+ return $configHash;
+}
+
+sub KDMConfigHashForWorkstation
+{
+ my $self = shift;
+
+ my $kdmVer = "4";
+ my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
+ $configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
+ $configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
+ $configHash->{'X-:0-Core'}->{Startup} = "/etc/kde$kdmVer/kdm/Xstartup";
+ $configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
+ $configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
+ $configHash->{'X-:0-Core'}->{SessionsDirs} =
+ '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
+ $configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
+
+ return $configHash;
+}
+
+sub setupKDMScript
+{
+ my $self = shift;
+ my $repoPath = shift;
+
+ my $kdmVer = "4";
+ my $script = $self->SUPER::setupKDMScript($repoPath);
+
+ # change default theme to openslx-legacy if kdm3
+ if ( $kdmVer == "3" ) {
+ print " * Please change to openslx-legacy theme when using kdm3\n";
+ }
+
+ $script .= "kdmver=$kdmVer\n";
+ $script .= unshiftHereDoc(<<' End-of-Here');
+
+ # cleanup after users Xorg session
+ sed 's,^#!.*,,' /mnt/etc/kde$kdmver/kdm/Xreset \
+ >/mnt/etc/kde$kdmver/kdm/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
+ chmod 0400 /tmp/files.removed ) &
+ . /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
+ chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
+
+ rllinker kdm 1 10
+ echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
+ chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
+ chroot /mnt update-alternatives --set x-session-manager \
+ /usr/bin/startkde
+ End-of-Here
+
+ return $script;
+}
+
+1;
diff --git a/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm
new file mode 100644
index 00000000..1022d6e8
--- /dev/null
+++ b/os-plugins/plugins/desktop/OpenSLX/Distro/Ubuntu_9_04.pm
@@ -0,0 +1,161 @@
+# Copyright (c) 2006..2010 - OpenSLX GmbH
+#
+# This program is free software distributed under the GPL version 2.
+# See http://openslx.org/COPYING
+#
+# If you have any feedback please consult http://openslx.org/feedback and
+# send your suggestions, praise, or complaints to feedback@openslx.org
+#
+# General information about OpenSLX can be found at http://openslx.org/
+# -----------------------------------------------------------------------------
+# desktop/OpenSLX/Distro/Ubuntu_9_04.pm
+# - provides Ubuntu-specific overrides of the distro API for the desktop
+# plugin.
+# -----------------------------------------------------------------------------
+package desktop::OpenSLX::Distro::Ubuntu_9_04;
+
+use strict;
+use warnings;
+
+use base qw(desktop::OpenSLX::Distro::Base);
+
+use OpenSLX::Basics;
+use OpenSLX::Utils;
+
+################################################################################
+### interface methods
+################################################################################
+
+sub GDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::GDMPathInfo();
+
+ # link gdm.conf-custom instead of gdm.conf
+ $pathInfo->{config} = '/etc/gdm/gdm.conf-custom';
+
+ return $pathInfo;
+}
+
+sub setupGDMScript
+{
+ my $self = shift;
+ my $repoPath = shift;
+
+ my $script = $self->SUPER::setupGDMScript($repoPath);
+
+ my $configFile = $self->GDMPathInfo->{config};
+
+ $script .= unshiftHereDoc(<<' End-of-Here');
+ # cleanup after users Xorg session
+ sed 's,^#!.*,,' /mnt/etc/gdm/PostSession/Default \
+ >/mnt/etc/gdm/PostSession/Default.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/*"
+ echo "$USER files removed by $0" >/tmp/files.removed 2>/dev/null ) &
+ . /etc/gdm/PostSession/Default.system' >/mnt/etc/gdm/PostSession/Default
+ chmod a+x /mnt/etc/gdm/PostSession/Default*
+ # gdm should be started after dbus/hal
+ rllinker gdm 5 10
+ echo '/usr/sbin/gdm' >/mnt/etc/X11/default-display-manager
+ chroot /mnt update-alternatives --set x-window-manager /usr/bin/metacity
+ chroot /mnt update-alternatives --set x-session-manager \
+ /usr/bin/gnome-session
+ # gdm does not like AUFS/UnionFS on its var directory
+ rm -rf /mnt/var/lib/gdm
+ mkdir -m 1770 /mnt/var/lib/gdm
+ chown root:gdm /mnt/var/lib/gdm
+ sed '/^\\[daemon\\]/ a\\BaseXsession=/etc/gdm/Xsession' \
+ -i /mnt$configFile
+ End-of-Here
+
+ return $script;
+}
+
+sub KDMPathInfo
+{
+ my $self = shift;
+
+ my $pathInfo = $self->SUPER::KDMPathInfo();
+ my $kdmVer = "4";
+
+ $pathInfo = {
+ config => "/etc/kde$kdmVer/kdm/kdmrc",
+ paths => [
+ '/var/lib/kdm',
+ '/var/run/kdm',
+ ],
+ };
+
+ return $pathInfo;
+}
+
+sub GDMConfigHashForWorkstation
+{
+ my $self = shift;
+
+ my $configHash = $self->SUPER::GDMConfigHashForWorkstation();
+ $configHash->{'daemon'}->{SessionDesktopDir} =
+ '/etc/X11/session/:/usr/share/xsessions/:/usr/share/gdm/BuiltInSessions/';
+
+ return $configHash;
+}
+
+sub KDMConfigHashForWorkstation
+{
+ my $self = shift;
+
+ my $kdmVer = "4";
+ my $configHash = $self->SUPER::KDMConfigHashForWorkstation();
+ $configHash->{'General'}->{PidFile} = "/var/run/kdm.pid";
+ $configHash->{'X-:0-Core'}->{Setup} = "/etc/kde$kdmVer/kdm/Xsetup";
+ $configHash->{'X-:0-Core'}->{Startup} = "/etc/kde$kdmVer/kdm/Xstartup";
+ $configHash->{'X-:0-Core'}->{Session} = "/etc/kde$kdmVer/kdm/Xsession";
+ $configHash->{'X-:0-Core'}->{Reset} = "/etc/kde$kdmVer/kdm/Xreset";
+ $configHash->{'X-:0-Core'}->{SessionsDirs} =
+ '/etc/X11/session,/usr/share/xsessions,/usr/share/apps/kdm/sessions';
+ $configHash->{'X-:0-Core'}->{ServerAttempts} = "2";
+
+ return $configHash;
+}
+
+sub setupKDMScript
+{
+ my $self = shift;
+ my $repoPath = shift;
+
+ my $kdmVer = "4";
+ my $script = $self->SUPER::setupKDMScript($repoPath);
+
+ # change default theme to openslx-legacy if kdm3
+ if ( $kdmVer == "3" ) {
+ print " * Please change to openslx-legacy theme when using kdm3\n";
+ }
+
+ $script .= "kdmver=$kdmVer\n";
+ $script .= unshiftHereDoc(<<' End-of-Here');
+
+ # cleanup after users Xorg session
+ sed 's,^#!.*,,' /mnt/etc/kde$kdmver/kdm/Xreset \
+ >/mnt/etc/kde$kdmver/kdm/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
+ chmod 0400 /tmp/files.removed ) &
+ . /etc/kde$kdmver/kdm/Xreset.system' >/mnt/etc/kde$kdmver/kdm/Xreset
+ chmod a+x /mnt/etc/kde$kdmver/kdm/Xreset*
+
+ rllinker kdm 1 10
+ echo '/usr/bin/kdm' > /mnt/etc/X11/default-display-manager
+ chroot /mnt update-alternatives --set x-window-manager /usr/bin/kwin
+ chroot /mnt update-alternatives --set x-session-manager \
+ /usr/bin/startkde
+ End-of-Here
+
+ return $script;
+}
+
+1;