From efd062eee48f820443d3873590f758f8bd29b6f3 Mon Sep 17 00:00:00 2001 From: Michael Janczyk Date: Thu, 9 Nov 2006 15:40:23 +0000 Subject: new runvmware functionality vmimages.desktop is now created automatically when not all image shown in xdm menu new variables slxgrp and xdm in .desktop-files. if slxgrp set in machine-setup, only those images will be shown. xdm=true defines if image is shown in the xdm-menu functions-default for suse, but it contains a nearly distro intependend kdmrc creation, if no theme built /w mkdxsini... -s themename then kdm will start /wo a theme git-svn-id: http://svn.openslx.org/svn/openslx/trunk@504 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/initrd-stuff/bin/servconfig | 61 ++++++++++++++++++++++++----------- 1 file changed, 43 insertions(+), 18 deletions(-) (limited to 'initramfs/initrd-stuff/bin/servconfig') diff --git a/initramfs/initrd-stuff/bin/servconfig b/initramfs/initrd-stuff/bin/servconfig index 850c4fd4..237966aa 100755 --- a/initramfs/initrd-stuff/bin/servconfig +++ b/initramfs/initrd-stuff/bin/servconfig @@ -5,7 +5,7 @@ # system is setup when servconfig starts # # Dirk von Suchodoletz , 29-10-2006 -# Michael Janczyk , 27-10-2006 +# Michael Janczyk , 09-11-2006 # Lars Mueller , 23-06-2006 # Oliver Tappe , 23-06-2006 # @@ -284,7 +284,7 @@ config_nscd # create needed directories and files if [ "x$vmware" != "x" ] && [ "x$vmware" != "xno" ] ; then for i in /var/X11R6/bin /etc/vmware/vmnet1 /etc/vmware/vmnet8 \ - /var/run/vmware /etc/X11/sessions ; do + /var/run/vmware /etc/X11/sessions/runvmware ; do testmkd /mnt/$i done # generate a runlevel script @@ -324,24 +324,55 @@ Type=Application" >/mnt/etc/X11/sessions/default.desktop > /mnt/var/X11R6/bin/desktop-session chmod 755 /mnt/var/X11R6/bin/runvmware /mnt/var/X11R6/bin/desktop-session \ >/dev/null 2>&1 + # add script for default.desktop + cd /mnt/var/X11R6/bin + ln -s desktop-session xdmmenu sessions=$(ls /mnt/var/lib/vmware/vmsessions/*.desktop 2>/dev/null) # fixme: the following part is to be tested!! if [ -n "${sessions}" ]; then - cd /mnt/var/X11R6/bin for i in /mnt/var/lib/vmware/vmsessions/*.desktop; do - #session_name=$(cat ${i} | grep -iw "exec" \ - # | awk -F "=" '{print $2}') - session_name=$(cat ${i}|sed -n "/^[Ee]xec/p"|sed -e "s,Exec=,,") - # create session links so that they con be startet via xdm - ln -s desktop-session ${session_name} + # only link if in right slxgrp + slxgrpstr=$(cat ${i} | sed -e "s/.*/\L&/;s/slxgrp=/ /;s/$/ /" \ + | sed -n "/^slxgrp/p") + [ `strinstr " ${slxgrp} " "${slxgrpstr}"` ] && slxgrptest="TRUE" + xdmshow=$(cat ${i}|sed -e "s/.*/\L&/" | sed -n "/^xdm/p"\ + |sed -e "s,xdm=,,") + if [ -z "${slxgrp}" -o "${slxgrptest}" = "TRUE" \ + -o "${slxgrp}" = "default" ]; then + #session_name=$(cat ${i} | grep -iw "exec" \ + # | awk -F "=" '{print $2}') + session_name=$(cat ${i} | sed -e "s/.*/\L&/" \ + | sed -n "/^exec/p"|sed -e "s,exec=,,") + # create session links so that they con be startet via xdm + cd /mnt/var/X11R6/bin + ln -s desktop-session ${session_name} + cd /mnt/etc/X11/sessions/runvmware + ln -s ${i#/mnt} ${i#/mnt/var/lib/vmware/vmsessions/} + vmsessionsnr=$(expr `echo ${vmsessionsnr}` + 1) + # only show in xdm if xdmshow=true + if [ "${xdmshow}" = "true" ]; then + cd /mnt/etc/X11/sessions + ln -s ${i#/mnt} ${i#/mnt/var/lib/vmware/vmsessions/} + xdmsessionsnr=$(expr `echo ${xdmsessionsnr}` + 1) + fi + fi done + # add script vmimages.desktop only if more windowsimages than shown in xdm + if [ "${vmsessionsnr}" -gt "${xdmsessionsnr}" ]; then + echo -e "[Desktop Entry]\nEncoding=UTF-8\nName=Virtual Windows XP Menu\n\ +Name[de]=Virtual Windows XP MenĂ¼\nExec=vmmenu\nTryExec=/var/X11R6/bin/vmmenu\n\ +pplication" >/mnt/etc/X11/sessions/vmmenu.desktop + cd /mnt/var/X11R6/bin + ln -s desktop-session vmmenu + fi fi - # add scripts for default.desktop and vmimages.desktop - cd /mnt/var/X11R6/bin - ln -s desktop-session xdmmenu - ln -s desktop-session vmmenu fi +# theming +testmkd /mnt/var/lib/openslx/themes/displaymanager +cp -a /usr/share/themes/displaymanager /usr/share/themes/Xdialog \ + /usr/share/themes/bootsplash /mnt/var/lib/openslx/themes >/dev/null 2>&1 + ############################################################################# # preparation of /tmp directory (partition 44, nfs scratch, ramdisk). there # might be the chance that we have a disk partition available, so wait for @@ -503,12 +534,6 @@ DisplayManager.*.reset:\t\t/etc/X11/xdm/Xreset" \ esac fi -# theming -mkdir -p /mnt/var/lib/openslx/themes -cp -a /usr/share/themes/kdm /usr/share/themes/Xdialog \ - /usr/share/themes/bootsplash /mnt/var/lib/openslx/themes >/dev/null 2>&1 -cp /usr/share/themes/kdm/kdmrc /mnt/etc/opt/kde3/share/config/kdm >/dev/null 2>&1 - # script run timer [ $DEBUGLEVEL -eq 8 ] && echo "** SW setup finished at $(sysup)" -- cgit v1.2.3-55-g7522