diff options
| author | Michael Janczyk | 2006-11-09 16:40:23 +0100 |
|---|---|---|
| committer | Michael Janczyk | 2006-11-09 16:40:23 +0100 |
| commit | efd062eee48f820443d3873590f758f8bd29b6f3 (patch) | |
| tree | d601f99d726a979bb2b2cc85b988cb884986c754 /initramfs | |
| parent | Just to ensure integrity (old boot.local via dhcp-variable will be (diff) | |
| download | core-efd062eee48f820443d3873590f758f8bd29b6f3.tar.gz core-efd062eee48f820443d3873590f758f8bd29b6f3.tar.xz core-efd062eee48f820443d3873590f758f8bd29b6f3.zip | |
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
Diffstat (limited to 'initramfs')
| -rw-r--r-- | initramfs/distro-specs/suse/functions-default | 135 | ||||
| -rwxr-xr-x | initramfs/initrd-stuff/bin/servconfig | 61 |
2 files changed, 136 insertions, 60 deletions
diff --git a/initramfs/distro-specs/suse/functions-default b/initramfs/distro-specs/suse/functions-default index 931cb711..845e4ce1 100644 --- a/initramfs/distro-specs/suse/functions-default +++ b/initramfs/distro-specs/suse/functions-default @@ -4,6 +4,7 @@ # several SuSE distro versions # # Dirk von Suchodoletz <dvs@OpenSLX.com>, 29-10-2006 +# mj0 09-11-2006 # # (c) 2006 - RZ Universitaet Freiburg # (c) 2006 OpenSLX.ORG Project @@ -282,57 +283,107 @@ fi # configure kdm as display manager config_kdm () { config_dm_entry yes +usetheme=false +themeconf=$(ls /mnt/var/lib/openslx/themes/displaymanager/*.xml 2>/dev/null) +[ -r "${themeconf}" ] && usetheme=true # check if a kdmrc was provided via ConfTGZ [ -f /rootfs/etc/opt/kde3/share/config/kdm/kdmrc ] || \ echo -e "# /etc/opt/kde3/share/config/kdm/kdmrc - \ -file generated by\n\ +file generated by #\t$0: $date\n\ -[General]\n\ -ConfigVersion=2.3\nStaticServers=:0\nExportList=LANG\n\ -PidFile=/var/run/kdm.pid\nAuthDir=/var/lib/xdm/authdir/authfiles/\n\ -ServerVTs=-7\nConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6\n\n\ -[Xdmcp]\n\ -Enable=$xdmcp\nXaccess=/etc/X11/xdm/Xaccess\n\ -Willing=/etc/X11/xdm/Xwilling\n[Shutdown]\nHaltCmd=/sbin/halt\n\ -RebootCmd=/sbin/reboot\n\n\ -[X-*-Core]\n\ -ServerCmd=/usr/X11R6/bin/X -br\n\ -ServerArgsLocal=-nolisten tcp\n\ -TerminateServer=true\n\ -Resources=/etc/X11/xdm/Xresources\nSetup=/etc/X11/xdm/Xsetup\n\ +[General] +ConfigVersion=2.3 +StaticServers=:0 +ExportList=LANG +PidFile=/var/run/kdm.pid +AuthDir=/var/lib/xdm/authdir/authfiles +ServerVTs=-7 +ConsoleTTYs=tty1,tty2,tty3,tty4,tty5,tty6 + +[Xdmcp] +Enable=$xdmcp +Xaccess=/etc/X11/xdm/Xaccess +Willing=/etc/X11/xdm/Xwilling + +[Shutdown]HaltCmd=/sbin/halt +RebootCmd=/sbin/reboot + + +[X-*-Core] +ServerCmd=/usr/X11R6/bin/X -br +ServerArgsLocal=-nolisten tcp +TerminateServer=true +Resources=/etc/X11/xdm/Xresources +Setup=/etc/X11/xdm/Xsetup UserPath=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/var/X11R6/bin SystemPath=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:\ /usr/X11R6/bin:/var/X11R6/bin -Startup=/etc/X11/xdm/Xstartup\nReset=/etc/X11/xdm/Xreset\n\ -Session=/etc/X11/xdm/Xsession\nClientLogFile=.xsession-errors-%s\n\ -AutoReLogin=false\nAllowRootLogin=true\n\ -AllowNullPasswd=true\nAllowShutdown=All\n\ +Startup=/etc/X11/xdm/Xstartup +Reset=/etc/X11/xdm/Xreset +Session=/etc/X11/xdm/Xsession +ClientLogFile=.xsession-errors-%s +AutoReLogin=false +AllowRootLogin=true +AllowNullPasswd=true +AllowShutdown=All SessionsDirs=/etc/X11/sessions,/usr/share/xsessions,\ -/opt/kde3/share/apps/kdm/sessions,$vmsessions/kdm\n\ -AuthNames=XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1\n\n\ -[X-*-Greeter]\n\ -ShowUsers=Selected\nSelectedUsers=\nUserList=false\n\ -GUIStyle=default\nLogoArea=Clock\nGreetString=Diskless Linux (%h)\n\ -GreetFont=Nimbus Sans l,20,-1,5,48,0,0,0,0,0\n\ -StdFont=Nimbus Sans l,14,-1,5,48,0,0,0,0,0\n\ -FailFont=Nimbus Sans l,14,-1,5,74,0,0,0,0,0\n\ -AntiAliasing=true\nLanguage=$lang\n\ -EchoMode=OneStar\nShowLog=false\n\ -UseTheme=true\nTheme=/opt/kde3/share/apps/kdm/themes/SUSE\n\ -UseBackground=false\n\ -BackgroundCfg=/etc/opt/kde3/share/config/kdm/backgroundrc\n\n\ -[X-:*-Greeter]\n\ -PreselectUser=None\n\ -FocusPasswd=true\nLoginMode=DefaultLocal\n\ -AllowClose=false\nUseAdminSession=true\n\n\ -[X-:0-Core]\n\ -AutoLoginEnable=false\n\ -ClientLogFile=.xsession-errors\n\ -NoPassEnable=false\n\n\ -[X-:0-Greeter]\n\ -LogSource=/dev/xconsole\n\ +/opt/kde3/share/apps/kdm/sessions +AuthNames=XDM-AUTHORIZATION-1,MIT-MAGIC-COOKIE-1 + +[X-*-Greeter] +ShowUsers=Selected +SelectedUsers= +UserList=false +GUIStyle=default +LogoArea=Clock +GreetString=Diskless Linux (%h) +GreetFont=Nimbus Sans l,20,-1,5,48,0,0,0,0,0 +StdFont=Nimbus Sans l,14,-1,5,48,0,0,0,0,0 +FailFont=Nimbus Sans l,14,-1,5,74,0,0,0,0,0 +AntiAliasing=true +Language=$lang +EchoMode=OneStar +ShowLog=false +UseTheme=${usetheme} +Theme=/var/lib/openslx/themes/displaymanager +UseBackground=true +BackgroundCfg=/var/lib/openslx/themes/displaymanager/backgroundrc + +[X-:*-Greeter] +PreselectUser=None +FocusPasswd=true +LoginMode=DefaultLocal +AllowClose=false +UseAdminSession=true + +[X-:0-Core] +AutoLoginEnable=false +ClientLogFile=.xsession-errors +NoPassEnable=false + +[X-:0-Greeter] +LogSource=/dev/xconsole UseAdminSession=false" >/mnt/etc/opt/kde3/share/config/kdm/kdmrc -echo -e "" > /mnt/etc/opt/kde3/share/config/kdm/backgroundrc + +echo -e "[Desktop0] +BackgroundMode=Flat +BlendBalance=100 +BlendMode=NoBlending +ChangeInterval=60 +Color1=0,51,102 +Color2=255,255,255 +CurrentWallpaper=0 +LastChange=0 +MinOptimizationDepth=1 +MultiWallpaperMode=NoMulti +Pattern=triangles +Program= +ReverseBlending=false +UseSHM=false +Wallpaper= +WallpaperList= +WallpaperMode=NoWallpaper" \ + >/mnt/var/lib/openslx/themes/displaymanager/backgroundrc } # configure bluetooth services 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 <dvs@OpenSLX.com>, 29-10-2006 -# Michael Janczyk <mj0>, 27-10-2006 +# Michael Janczyk <mj0@uni-freiburg.de>, 09-11-2006 # Lars Mueller <lm@OpenSLX.com>, 23-06-2006 # Oliver Tappe <ot@OpenSLX.com>, 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)" |
