From c0c45928ef64b9d3ebfe960242b624e197d6db3c Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Fri, 19 May 2006 22:45:22 +0000 Subject: kiosk mode enabled, cleanup in functions-10.1, ignore atiixp_modem module ... git-svn-id: http://svn.openslx.org/svn/openslx/ld4@222 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initrd/initrd-stuff/bin/hwautocfg | 5 ++- initrd/initrd-stuff/bin/servconfig | 33 +++++++++++----- initrd/initrd-stuff/etc/startgui | 78 ++++++++++++++++++++++++++++++++++++++ initrd/initrd-stuff/init | 6 +-- 4 files changed, 108 insertions(+), 14 deletions(-) create mode 100755 initrd/initrd-stuff/etc/startgui (limited to 'initrd/initrd-stuff') diff --git a/initrd/initrd-stuff/bin/hwautocfg b/initrd/initrd-stuff/bin/hwautocfg index 14e40345..11d22f21 100755 --- a/initrd/initrd-stuff/bin/hwautocfg +++ b/initrd/initrd-stuff/bin/hwautocfg @@ -298,7 +298,6 @@ waitfor /tmp/hwrun1 50000 || \ error " Expected information from hwsetup to appear in \ /tmp/hwsetup.info.\n Unable to configure parts of the systems hardware. \ Please check that\n hwsetup is properly installed and executable." - # load ide drivers first, takes a while to initialize for DRIVER in cmd64x hpt366 piix slc90e66 cs5520 it821x rz1000 \ triflex aec62xx cs5530 ns87415 sc1200 trm290 alim15x3 \ @@ -341,6 +340,10 @@ if [ -f /etc/sysconfig/sound ] ; then . /etc/sysconfig/sound else DRIVER="snd-dummy" fi +# special hack +#if [ "${DRIVER}" = "snd-atiixp" ] ; then +# rmmod snd_atiixp_modem snd_atiixp +#fi modprobe ${MODPRV} ${DRIVER} DRIVERLIST="${DRIVERLIST} ${DRIVER} " diff --git a/initrd/initrd-stuff/bin/servconfig b/initrd/initrd-stuff/bin/servconfig index 10963822..ba203eb8 100755 --- a/initrd/initrd-stuff/bin/servconfig +++ b/initrd/initrd-stuff/bin/servconfig @@ -4,7 +4,7 @@ # for linux diskless clients (executed within initial # ramdisk) # -# Author(s): Dirk von Suchodoletz , 18-05-2006 +# Author(s): Dirk von Suchodoletz , 19-05-2006 # # Copyright: (c) 2006 - RZ Universitaet Freiburg # @@ -36,15 +36,21 @@ cp -a /etc/sysconfig/files/* /mnt 2>/dev/null & } # set greeting +len=$(expr length $DISTRO) +dstr="$DISTRO)" +while [ $len -le 8 ] ; do + dstr="$dstr " + len=$(expr $len + 1) +done echo " - WELCOME TO \n (\l) + WELCOME TO \n (\l) __ __ ___ __ __ __ __ __ __ | | | || | || | | || |_| | | | | | | || || | | | / |__| | |___ | || | || |_| | / _ __ |______||__||__| |__| _____/ |__| |__| |__| - Diskless Workstation (v4.0) (c) + Diskless Workstation (v4.0/$dstr (c) ">/mnt/etc/issue ####################################################################### @@ -319,7 +325,7 @@ if [ "x$start_x" != "xno" ] ; then /tmp/.X11-unix ; do testmkd /mnt/$i; done chmod a+rwxt /mnt/tmp/.ICE-unix chmod a+rwxt /mnt/tmp/.X11-unix - echo "" > /mnt/etc/X11/xdm/Xservers + echo "# file emtied by $0 during initramfs" > /mnt/etc/X11/xdm/Xservers # define additional sessions offered to the user (via dhcp/ldap config) # descsession -> deprecated by new vmware integration concept # write available X display manager to /etc/X11/xdm/Xaccess @@ -358,18 +364,25 @@ $0: $date\n:0 local /usr/X11R6/bin/X :0 vt07\n" >/mnt/etc/X11/xdm/Xservers xdmcp="true" ;; *) - # fixme!! not optimal for fast start # no display manager needed in kiosk mode # in this mode you have to provide the type of X session to start [ x$start_xdmcp != "x" ] || start_xdmcp="no"; - init="#7:5:respawn:/var/X11R6/bin/kiosk /dev/tty7" + init="7:5:respawn:/var/X11R6/bin/kiosk /dev/tty7" echo -e "#!/bin/sh\n# /var/X11R6/bin/kiosk - file generated by $0: \ -$date\nresmgr login nobody tty7\nresmgr grant nobody desktop\n\ -chown nobody /dev/dsp*\n\ -su -c 'xinit /etc/init.d/startgui $start_x -- vt7 -quiet' -l nobody &>/dev/null\n\ +$date\nwhile ps aux|grep -i kiosk|grep -v \"grep\" &>/dev/null ; do\n \ +sleep 3; test -f /tmp/kiosk || break; done\n\ +touch /tmp/kiosk +resmgr login nobody tty7\nresmgr grant nobody desktop\nchown nobody \ +/dev/dsp* /dev/audio* /dev/mixer*\nsu -c 'xinit /var/X11R6/bin/startgui \ +$start_x -- vt7 -quiet' -l nobody &>/dev/null\nrm /tmp/kiosk\n\ resmgr revoke nobody\nresmgr logout tty7\nkillall X\nsleep 2" \ >/mnt/var/X11R6/bin/kiosk - chmod a+x /mnt/var/X11R6/bin/kiosk & + # early start + echo -e "\t# kiosk start added by $0\n\tsleep 4; \ +/var/X11R6/bin/kiosk &>/dev/null &" >>/mnt/etc/${D_INITDIR}/boot.ld + cp /etc/startgui /mnt/var/X11R6/bin + chmod a+x /mnt/var/X11R6/bin/kiosk /mnt/var/X11R6/bin/startgui + rm /mnt/tmp/kiosk 2>/dev/null ;; esac # enable runlevel 5 (X11 gui under SuSE linux) diff --git a/initrd/initrd-stuff/etc/startgui b/initrd/initrd-stuff/etc/startgui new file mode 100755 index 00000000..e2e97721 --- /dev/null +++ b/initrd/initrd-stuff/etc/startgui @@ -0,0 +1,78 @@ +#!/bin/sh +# +# Description: startgui runs as script replacement for xinit +# +# Author(s): Dirk von Suchodoletz , 19-05-2006 +# Michael Janczyk, 26-08-2005 +# Copyright: (c) 2003, 2006 - RZ Universitaet Freiburg +# +# Version: 0.1.0b +# +# /var/X11R6/bin/startgui +# +########################################################################### + +# functions +error () { + $2 $1 +} + +sysresources=/usr/X11R6/lib/X11/Xresources +sysmodmap=/usr/X11R6/lib/X11/Xmodmap + +# merge in defaults and keymaps + +if [ -f $sysresources ]; then + xrdb -merge $sysresources +fi + +WM=$1 +[ $WM ] || WM=kde +case "$WM" in + *fvwm*) + fvwm2 + ;; + *kde*) + mkdir ~/.kde &>/dev/null + cp -a /usr/share/dxs/WMsettings/kde ~/.kde + /opt/kde3/bin/startkde + ;; + *wmaker*|*windowmaker*) + mkdir ~/GNUstep &>/dev/null + cp -a /usr/share/dxs/WMsettings/windowmaker ~/GNUstep + wmaker + ;; + *ice*) + icewm + ;; + *gnome*) + cp -a /usr/share/dxs/WMsettings/gnome/.* ~/ + gnome + ;; + *citrix|Citrix|ICAClient|*wfica) + xsetroot -solid black + cp -a /etc/dxs/ICAClient/ ~/.ICAClient + wfica + ;; + *citrix-mgr|*citrix-indirect|*wfcmgr) + xsetroot -solid black + cp -a /etc/dxs/ICAClient/ ~/.ICAClient + # + ;; + *vmware*) + xsetroot -solid black + mkdir -p $HOME/.vmware &>/dev/null + xterm -bg black -fg white -geometry 170x30+0-0 +sb -e \ + "runvmware -i --debug 1" + ;; + *) + if which $WM; then + $WM + error "Session ended ... Click OK to restart X" xmessage + else + error "Tried: $WM - Kein sinnvoller wm angegeb." xmessage + xterm + fi + ;; +esac +exit 0 diff --git a/initrd/initrd-stuff/init b/initrd/initrd-stuff/init index 874792f7..a069f61d 100755 --- a/initrd/initrd-stuff/init +++ b/initrd/initrd-stuff/init @@ -2,7 +2,7 @@ # Description: main script for new type of initial ramdisk for # linux diskless clients version 4 # -# Author(s): Dirk von Suchodoletz , 10-05-2006 +# Author(s): Dirk von Suchodoletz , 19-05-2006 # # Copyright: (c) 2006 - RZ Universitaet Freiburg # @@ -423,13 +423,13 @@ echo -e "# /etc/fstab - file generated by $0 (initramfs from $date)\n#\ Suchodoletz, dirk@goe.net\n\nrootfs\t\t/\t\trootfs\t\tro\t\t 0 0\n\ proc\t\t/proc\t\tproc\t\tdefaults\t 0 0\ninitramdevs\t/dev\t\ttmpfs\ \t\trw\t\t 0 0\ndevpts\t\t/dev/pts\tdevpts\t\tmode=0620,gid=5\t 0 0\n\ -usbfs\t\t/proc/bus/usb\tusbfs\t\tnoauto\t\t 0 0" >>/mnt/etc/fstab || \ +usbfs\t\t/proc/bus/usb\tusbfs\t\tnoauto\t\t 0 0" >/mnt/etc/fstab || \ error "$init_fstab" echo -e "rootfs / rootfs rw 0 0\ninitramdevs /dev tmpfs rw\ 0 0" > /mnt/etc/mtab [ -z "$UNIONFS" ] && echo -e "ramfs /tmp tmpfs rw 0 0\nramfs /root\ tmpfs rw 0 0\nramfs /media tmpfs rw 0 0 \nramfs /home tmpfs rw 0 0" \ - > /mnt/etc/mtab + >> /mnt/etc/mtab # copy library cache if generated if [ -z "${NOLDSC}" ] ; then -- cgit v1.2.3-55-g7522