From adf956f1687b3e277b0ed35e48547b2ab1d7f70c Mon Sep 17 00:00:00 2001 From: Dirk von Suchodoletz Date: Sat, 14 Jul 2007 13:11:12 +0000 Subject: Fixes for gdm/kdm configuration in Ubuntu. Cleanup of functions-7.04 (unneeded duplicate of default) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1241 95ad53e4-c205-0410-b2fa-d234c58c8868 --- initramfs/distro-specs/ubuntu/functions-6.10 | 17 ++-- initramfs/distro-specs/ubuntu/functions-7.04 | 125 ------------------------ initramfs/distro-specs/ubuntu/functions-default | 53 +++++----- 3 files changed, 34 insertions(+), 161 deletions(-) diff --git a/initramfs/distro-specs/ubuntu/functions-6.10 b/initramfs/distro-specs/ubuntu/functions-6.10 index 59038ce4..e84898da 100644 --- a/initramfs/distro-specs/ubuntu/functions-6.10 +++ b/initramfs/distro-specs/ubuntu/functions-6.10 @@ -103,18 +103,15 @@ rllinker "console-screen.sh" 31 3 # configure kdm as display manager config_kdm () { # first define directories for kdm -kdmrcdir=/etc/kde3/kdm -xdmdir=/etc/kde3/kdm - +local kdmrcdir=/etc/kde3/kdm +local xdmdir=/etc/kde3/kdm testmkd /mnt/${kdmrcdir} -#if [ "x$late_dm" = "xyes" ] ; then - rllinker "kdm" 3 1 - if [ "x$start_xdmcp" = "xkdm" ]; then - echo /usr/bin/kdm > /mnt/etc/X11/default-display-manager - fi -# write configuration file -# use general config in /etc/functions +rllinker "kdm" 3 1 +if [ "x$start_xdmcp" = "xkdm" ]; then + echo /usr/bin/kdm > /mnt/etc/X11/default-display-manager +fi +# write configuration file; use general config in /etc/functions config_kdm_template } diff --git a/initramfs/distro-specs/ubuntu/functions-7.04 b/initramfs/distro-specs/ubuntu/functions-7.04 index e670278f..1a4678ee 100644 --- a/initramfs/distro-specs/ubuntu/functions-7.04 +++ b/initramfs/distro-specs/ubuntu/functions-7.04 @@ -14,128 +14,3 @@ # initial ramfs - stage3) It may overwrite settings from the default config # file (/etc/functions) - -# configure gdm as display manager -config_gdm () { -ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/K20gdm -if [ "x$start_xdmcp" = "xgdm" ]; then - echo /usr/sbin/gdm > /mnt/etc/X11/default-display-manager -fi -if [ "x$late_dm" = "xyes" ] ; then - ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/S01gdm -else - # gdm can not be started before mounting of kernelfs' - ln -sf ../${D_INITDIR}/gdm /mnt/etc/rcS.d/S91gdm -fi -# append gdm user -echo "gdm:x:113:">>/etc/group -echo "gdm:x:106:113:Gnome Display Manager" >> /etc/shadow - -# fixme: check if a gdm.conf was provided via ConfTGZ -# [ -f /rootfs/etc/gdm/gdm.conf ??? ] || \ -echo -e "# /etc/gdm/gdm.conf - file generated by $0\n\ - -[daemon] -AutomaticLoginEnable=false -AutomaticLogin= -TimedLoginEnable=false -TimedLogin= -TimedLoginDelay=30 -Greeter=/usr/lib/gdm/gdmgreeter -DefaultPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games -RootPath=/usr/local/bin:/usr/local/sbin:/sbin:/usr/sbin:/bin:/usr/bin:/usr/bin/X11:/usr/games -User=gdm -Group=gdm -LogDir=/var/log/gdm -PidFile=/var/run/gdm.pid -PostLoginScriptDir=/etc/gdm/PostLogin/ -PreSessionScriptDir=/etc/gdm/PreSession/ -PostSessionScriptDir=/etc/gdm/PostSession/ -DisplayInitDir=/etc/gdm/Init -XKeepsCrashing=/etc/gdm/XKeepsCrashing -RebootCommand=/sbin/shutdown -r now \"Rebooted from gdm menu.\" -HaltCommand=/sbin/shutdown -h now \"Halted from gdm menu.\" -SuspendCommand=/usr/sbin/pmi action sleep -HibernateCommand=/usr/sbin/pmi action hibernate -ServAuthDir=/var/lib/gdm -BaseXsession=/etc/gdm/Xsession -SessionDesktopDir=/etc/X11/sessions/:/etc/dm/Sessions/:/usr/share/gdm/BuiltInSessions/:/usr/share/xsessions/ -DefaultSession=default.desktop -UserAuthDir= -UserAuthFBDir=/tmp -UserAuthFile=.Xauthority -StandardXServer=${D_XORGBIN} -Xnest=/usr/X11R6/bin/Xnest -br -audit 0 -name Xnest -FirstVT=7 -VTAllocation=true -SoundProgram=/usr/lib/gdmplay -[security] -AllowRoot=false -AllowRemoteRoot=false -AllowRemoteAutoLogin=false -RelaxPermissions=0 -CheckDirOwner=true -DisallowTCP=true -[xdmcp] -Enable=false -[gui] -GtkTheme=Human -AllowGtkThemeChange=true -GtkThemesToAllow=Human,HighContrast,HighContrastInverse,LowContrast -[greeter] -ConfigAvailable=false -Browser=true -MinimalUID=1000 -Exclude=bin,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,gdm,postgres,pvm,rpm -IncludeAll=true -LocaleFile=/etc/gdm/locale.conf -SystemMenu=true -SecureSystemMenu=false -DefaultWelcome=true -DefaultRemoteWelcome=true -BackgroundColor=#523921 -UseCirclesInEntry=true -GraphicalTheme=Human -GraphicalThemeDir=/usr/share/gdm/themes/ -GraphicalThemeRand=false -SoundOnLogin=true -SoundOnLoginFile=/usr/share/sounds/question.wav -[chooser] -HostImageDir=/usr/share/hosts/ -Hosts= -Broadcast=true -Multicast=false -[debug] -Enable=false -[servers] -0=Standard -[server-Standard] -name=Standard server -command=/usr/X11R6/bin/X -br -audit 0 -flexible=true -[server-Terminal] -name=Terminal server -command=/usr/X11R6/bin/X -br -audit 0 -terminate -flexible=false -handled=false -[server-Chooser] -name=Chooser server -command=/usr/X11R6/bin/X -br -audit 0 -flexible=false -chooser=true - -[debug] -Enable=$debug" >/mnt/etc/gdm/gdm.conf -if [ "x$start_x" = "xindirect" ] ; then - # when X server consumes to much mem set X -terminate - echo -e "\n[servers]\n0=Terminal -audit 0 -indirect \ -$host_name\n\n\ -[server-Terminal]\nname=Terminal server\ncommand=/usr/X11R6/bin/X \ --audit 0\n\ -flexible=true\nhandled=true\nchooser=true" >>/mnt/etc/gdm/gdm.conf -else - echo -e "\n[servers]\n0=Standard\n\n\ -[server-Standard]\nname=Standard server\ncommand=/usr/X11R6/bin/X\n\ -flexible=true\nhandled=true" >>/mnt/etc/gdm/gdm.conf -fi -} diff --git a/initramfs/distro-specs/ubuntu/functions-default b/initramfs/distro-specs/ubuntu/functions-default index 52705a5d..5f4a1edf 100644 --- a/initramfs/distro-specs/ubuntu/functions-default +++ b/initramfs/distro-specs/ubuntu/functions-default @@ -191,19 +191,24 @@ config_acpi () { config_gdm () { ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/K20gdm if [ "x$start_xdmcp" = "xgdm" ]; then - echo /usr/sbin/gdm > /mnt/etc/X11/default-display-manager + # configure fallback if no gdm binary present + if ! binfinder gdm; then + config_kdm + # error "" nonfatal + else + echo $(binfinder gdm) > /mnt/etc/X11/default-display-manager + fi fi -if [ "x$late_dm" = "xyes" ] ; then - ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/S01gdm -else - echo -e "\t/etc/${D_INITDIR}/gdm start >${LOGFILE} 2>&1\n\ - \t( sleep 60; ln -sf /etc/${D_INITDIR}/gdm /etc/rc3.d/S01gdm \ - >${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.slx +ln -sf ../${D_INITDIR}/gdm /mnt/etc/rc3.d/S01gdm +# append gdm user; check for presence first +if ! grep "gdm:" /etc/passwd >/dev/null 2>&1; then + echo "gdm:x:113:" >>/mnt/etc/group + echo "gdm:x:106:113:Gnome Display Manager:/var/lib/gdm:/bin/false" \ + >>/mnt/etc/passwd fi -# append gdm user -echo "gdm:x:113:">>/etc/group -echo "gdm:x:106:113:Gnome Display Manager" >> /etc/shadow - +testmkd /mnt/var/lib/gdm/.fontconfig +echo -e "\tchown gdm:gdm /var/lib/gdm/.fontconfig\n\t\chown root:gdm \ +/var/lib/gdm" >> /mnt/etc/${D_INITDIR}/boot.slx # fixme: check if a gdm.conf was provided via ConfTGZ # [ -f /rootfs/etc/gdm/gdm.conf ??? ] || \ echo -e "# /etc/gdm/gdm.conf - file generated by $0\n\ @@ -318,21 +323,17 @@ config_kdm () { # first define directories for kdm kdmrcdir=/etc/kde3/kdm xdmdir=/etc/kde3/kdm - testmkd /mnt/${kdmrcdir} - -#if [ "x$late_dm" = "xyes" ] ; then - rllinker "kdm" 25 1 - if [ "x$start_xdmcp" = "xkdm" ]; then - echo /usr/bin/kdm > /mnt/etc/X11/default-display-manager - fi -#else -# ln -sf ../${D_INITDIR}/kdm /mnt/etc/rc3.d/K20kdm -# echo -e "\t/etc/${D_INITDIR}/kdm start >${LOGFILE} 2>&1\n\ -# \t( sleep 120; ln -sf /etc/${D_INITDIR}/kdm /etc/rc3.d/S01kdm \ -# >${LOGFILE} 2>&1) &\n" >>/mnt/etc/${D_INITDIR}/boot.slx -#fi - +rllinker "kdm" 25 1 +if [ "x$start_xdmcp" = "xkdm" ]; then + # configure fallback if no kdm binary is present + if ! binfinder kdm; then + config_gdm + # error "kdm configured but bin not found" nonfatal + else + echo $(binfinder kdm) >/mnt/etc/X11/default-display-manager + fi +fi # write configuration file # use general config in /etc/functions config_kdm_template @@ -359,7 +360,7 @@ case "$switch" in from $0\n# after you applied changes to the creation scripts you have to \ rerun\n# the mkdxsinitrd script to get them applied\n\n\ . /lib/lsb/init-functions\n" >/mnt/etc/${D_INITDIR}/$name - echo -e "\n\ncase \"\$1\" in\n start)\n\tlog_begin_msg \"* $info\"" \ + echo -e "\n\ncase \"\$1\" in\n start)\n\tlog_begin_msg \"$info\"" \ >>/mnt/etc/${D_INITDIR}/$name chmod u+x /mnt/etc/${D_INITDIR}/$name ;; -- cgit v1.2.3-55-g7522