[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-solaris
Subject:    [kde-solaris] using kdm
From:       Paul Mitcheson <pmitcheson () iee ! org>
Date:       2001-08-29 8:41:12
[Download RAW message or body]

OK, here's how to set up kdm:

move /etc/rc2.2/S99dtlogin to /etc/rc2.d/_S99dtlogin to stop it getting
run in run level 2.

cp the attatched to files into the correct places:

/etc/rc2.d/S99kdm	(ie so kdm gets run in run level 2 instead)

/usr/local/kde/share/config/kdm/kdm-config
/usr/local/kde/share/config/kdm/Xresources
/usr/local/kde/share/config/kdm/Xservers
/usr/local/kde/share/config/kdm/Xsession
/usr/local/kde/share/config/kdm/Xsetup

You may have to alter some paths if your kde install is not in
/usr/local


And there you are, a nice pretty login screen.  Works well for me on
Solaris 8 SPARC but should be fine on Sol 7 too, and I'm sure you will
not need to make any changes to put it on x86.

If you want to go back to dtlogin (although you won't - kdm is so much
nicer) just move S99kdm to _S99kdm and _S99dtlogin to S99dtlogin.

Regards,

Paul
-- 
--------------------------------------------------------
      .---.
     /     \     
     \.@-@./     Paul Mitcheson  
     /`\_/`\     mailto:pmitcheson@iee.org
    //  _  \\    http://www.mitcheson.demon.co.uk/paul
   | \     )|_   
  /`\_`>  <_/ \  
  \__/'---'\__/
--------------------------------------------------------
["S99kdm" (text/plain)]

#!/sbin/sh
#
# Script to launch kdm on Solaris.
#
#ident	"@(#)cron	1.13	98/04/19 SMI"

case "$1" in
'start')
	if [ -x /usr/local/kde/bin/kdm ]; then
		/usr/bin/rm -f /var/adm/xdm-pid
		OPENWINHOME=/usr/openwin
		PATH=/usr/local/kde/bin:/usr/local/qt/bin:/usr/local/bin:${OPENWINHOME}/bin:${PATH}
		LD_LIBRARY_PATH=/usr/local/kde/lib:/usr/local/qt/lib:/usr/local/lib:${OPENWINHOME}/lib
		MANPATH=/usr/local/kde/man:/usr/local/qt/man:/usr/local/man:${OPENWINHOME}/man:${MANPATH}
		export OPENWINHOME PATH LD_LIBRARY_PATH MANPATH
		/usr/local/kde/bin/kdm -config /usr/local/kde/share/config/kdm/kdm-config
	fi
	;;

'stop')
	/usr/bin/pkill -x -u 0 -P 1 kdm
	;;

*)
	echo "Usage: $0 { start | stop }"
	exit 1
	;;
esac
exit 0

["kdm-config" (text/plain)]

! $XConsortium: xdm-conf.cpp,v 1.2 93/09/28 14:30:32 gildea Exp $
! $Id: xdm-conf.cpp,v 1.3 1998/09/30 21:20:31 bieker Exp $
DisplayManager.servers:         /usr/local/kde/share/config/kdm/Xservers
DisplayManager.errorLogFile:    /var/adm/xdm-errors
DisplayManager.pidFile:         /var/adm/xdm-pid
DisplayManager.keyFile          /var/adm/xdm-keys
DisplayManager.authDir:         /var/run
DisplayManager.accessFile:      /usr/dt/config/Xaccess
DisplayManager.remoteAuthDir:   /var/run
DisplayManager._0.startup:      /usr/openwin/lib/X11/xdm/GiveConsole
DisplayManager._0.reset:        /usr/openwin/lib/X11/xdm/TakeConsole
DisplayManager._0.authorize:    true
DisplayManager._0.resetForAuth: false
DisplayManager._0.authName:     SUN-DES-1
DisplayManager*setup:           /usr/local/kde/share/config/kdm/Xsetup
DisplayManager*resources:       /usr/local/kde/share/config/kdm/Xresources
DisplayManager*session:         /usr/local/kde/share/config/kdm/Xsession  
DisplayManager*authorize:       true
DisplayManager*terminateServer: false
DisplayManager*userAuthDir:     /var/run
DisplayManager*userPath:        /usr/local/kde/bin:/usr/local/bin:/usr/X/bin:/usr/bin
DisplayManager*systemPath:      /usr/local/kde/bin:/usr/local/bin:/usr/X/bin:/usr/sbin:/usr/bin

["Xresources" (text/plain)]

! $XConsortium: Xresources,v 1.7 93/09/28 14:30:29 gildea Exp $
! $Id: Xresources,v 1.2 1998/09/30 21:20:27 bieker Exp $
Chooser*geometry:               700x500+300+200
Chooser*allowShellResize:       false
Chooser*viewport.forceBars:     true
Chooser*label.font:             *-new century schoolbook-bold-i-normal-*-240-*
Chooser*label.label:            XDMCP Host Menu  from CLIENTHOST
Chooser*list.font:              -*-*-medium-r-normal-*-*-230-*-*-c-*-iso8859-1
Chooser*Command.font:           *-new century schoolbook-bold-r-normal-*-180-*
["Xservers" (text/plain)]

 ############################################################################### #
#   Xservers
#
#   Common Desktop Environment
#
#   Configuration file for all Xservers started or managed by the Login Manager #
#   (c) Copyright 1993, 1994, 1995, 1996 Sun Microsystems, Inc.
#   (c) Copyright 1993, 1994 Hewlett-Packard Company
#   (c) Copyright 1993, 1994 International Business Machines Corp.
#   (c) Copyright 1993, 1994 Novell, Inc.
#
#   BEST TO NOT EDIT /usr/dt/config/Xservers directly.
#
#   /usr/dt/config/Xservers is a factory-default file and will
#   be unconditionally overwritten upon subsequent installation.
#   Before making changes to the file, should copy it to the configuration
#   directory, /etc/dt/config.
#
#   @(#)Xservers.src 1.17 99/04/16
#
############################################################################### #
#     This file should contain an entry to start the X window server on the
#     local workstation's display.
#
#     If the local display has an associated character device, it should also
#     be specified in the line.  An example is the "console" device in the
#     example line below. This allows Dtlogin to correctly monitor that device
#     when [Command Line Login] mode is selected from the login screen.
#
# <HostName>:0 <class> local@console /usr/openwin/bin/X :0 <options>
#
#     If no character device is associated directly with the display, then
#     "none" should be specified.
#
# <HostName>:0 <class> local@none    /usr/openwin/bin/X :0 <options>
#
#     By default, the ":0" display is associated with the "/dev/console"
#     character device.  If the true console on the system is not the same
#     as the ":0" graphics display, then the appropriate device or "none"
#     should be specified for the ":0" display.
#
#     An example need of "none" here would be a Sun system that had been
#     configured to direct console I/O thru a tty port instead of using
#     the workstation's display.
#
#     If you want multiple-displays running dtlogin then make sure the
#     connection number matches the display name, for example.
#
# <HostName>:1 local@none /usr/openwin/bin/X :1 <options>
#
#     This means the X-server is started on connection number "1" and the
#     display is connecting to the X-server on "1" through display name
#     "LocalHost:1".
#
#     If you have some X terminals connected which do not support XDMCP,
#     you can add them here as well. Using XDMCP is recommended over
#     entries in this file and should be used whenever possible.
#
#     Example Syntax, the items between "< >" are optional:
#
# <HostName>:0 <class> local@console           /usr/openwin/bin/X :0 <options>
# <HostName>:1 <class> local@none              /usr/openwin/bin/X :1 <options>
#  XTermName:0 <class> foreign
#
#     A "*" in the first field of the entry for a local server
#     will be expanded to "<hostname>:0" by Dtlogin. This
#     syntax is valid only within this file.
#
# * Local local@console /usr/openwin/bin/Xsun :0
#
#     If the display type of "local_uid" is used, a user name such as "root"
#     must follow in next field.  In this example, by placing "root" here,
#     Login will start a local Xserver under the user id of "root".  On Sun
#     system's this will give Xserver the ability to raise interactive
#     scheduling priority of a client with mouse/keyboard focus to increase
#     performance of the application.
#
# :0 Local local_uid@console root /usr/openwin/bin/Xsun :0
#
#     In limited situations, the Xserver should not be run under a "root" id
#     for security reasons.  Examples are usually specific to Xserver
#     extensions.
#
#     On Sun Xservers one example involves the Display Postscript extension.
#     If the DPS extension is granted access (via Xserver option line) to read
#     and write Unix files via the "-dpsfileops" option (see Xsun man page) it
#     should not be run under a "root" user id.  For increased security,
#     could instead run it as the "nobody" user.
#
# :0 Local local_uid@console nobody /usr/openwin/bin/Xsun :0 -dpsfileops
#
#     Another example of interest here for Sun's Xserver is how to start on
#     two or more screens.  A two screen example follows.
#
# :0 Local local_uid@console root /usr/openwin/bin/X -dev /dev/fb0 -dev /dev/fb1#     \
See the Xsun.1 and Xserver.1 man pages for additional options of #     interest.
#
################################################################################

   :0   Local /usr/openwin/bin/Xsun :0 -nobanner -dev /dev/fb0 defdepth 24 


["Xsession" (text/plain)]

#!/bin/sh
# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $
# $Id: Xsession,v 1.6 1998/09/29 16:49:02 bieker Exp $

# redirect errors to a file in user's home directory if we can
for errfile in "$HOME/.xsession-errors" "${TMPDIR-/tmp}/xses-$USER" "/tmp/xses-$USER"
do
	if ( cp /dev/null "$errfile" 2> /dev/null )
	then
		chmod 600 "$errfile"
		exec > "$errfile" 2>&1
		break
	fi
done

PATH=/usr/local/kde/bin:/usr/local/qt/bin:/usr/local/bin:/usr/X/bin:/usr/dt/bin:${PATH} 
LD_LIBRARY_PATH=/usr/local/kde/lib:/usr/local/qt/lib:/usr/local/lib:/usr/X/lib:/usr/dt/lib:/usr/lib
MANPATH=/usr/local/kde/man:/usr/local/qt/man:/usr/local/man:/usr/share/man 
XFILESEARCHPATH=/usr/local/lib/X11/%T/%N%S:/usr/openwin/lib/%T/%N%S
export PATH LD_LIBRARY_PATH MANPATH XFILESEARCHPATH

case $# in
1)
	case $1 in
	failsafe)
		exec xterm -geometry 132x50+64+64
		;;
	cde)
		exec /usr/dt/bin/Xsession
		;;
	kde)
		exec /usr/local/kde/bin/startkde
		;;
	esac
	;;
*)
	exec /usr/dt/bin/Xsession
	;;
esac

# windowmanager not found, tell user
message="Sorry, $1 not found."
exec kdialog --msgbox "$message"

["Xsetup" (text/plain)]

#!/bin/ksh

# ###########################################################################
#
#  Common Desktop Environment
#
#  (c) Copyright 1993, 1994 Hewlett-Packard Company
#  (c) Copyright 1993, 1994 International Business Machines Corp.
#  (c) Copyright 1993, 1994 Sun Microsystems, Inc.
#  (c) Copyright 1993, 1994 Novell, Inc.
#
#      ************** DO NOT EDIT THIS FILE **************
#
#  /usr/dt/config/Xsetup is a factory-default file and will
#  be unconditionally overwritten upon subsequent installation.
#  Before making changes to the file, copy it to the configuration 
#  directory, /etc/dt/config. You must also update the setup
#  resource in /etc/dt/config/Xconfig.
#
# ###########################################################################


#Run the KDE wallpaper changer/wallpaper stting program
/usr/local/kde/bin/kdmdesktop &         



# ###########################################################################
# 
# Directory specifications
# 
# ###########################################################################





  XDIR=/usr/openwin/bin









# ###########################################################################
#  
# Append desktop font aliases to font path
#
# ###########################################################################


ADDFONTPATH_LOCAL() {
        # Combine lines together to make arguments for the xset command
        FP=`awk '
        BEGIN { fp="fp+ " }
        /^[     ]*$/ { fp=" +fp " ; continue }
        { printf("%s%s", fp, $0) ; fp="," } ' $1`
        if [ -n "$FP" ]; then

                eval "$XDIR/xset $FP"
        fi
}

ADDFONTPATH_REMOTE() {
        nawk '  BEGIN {
                fp=" fp+ "
               XDIR=0
                }
                /^[     ]*$/ {
                fp=" +fp " ; continue }
                {cmd = sprintf("%s%s%s%s%s",XDIR,"/xset",fp, $0," 1>/dev/null");
                system(cmd); } ' XDIR=$OPENWINHOME/bin  $1
}





    # 
    # Reset Xserver font path to its default values
    #

    $XDIR/xset fp default




    #
    # Switch Sun's Alt and Meta mod mappings to work with Motif
    #
    if $XDIR/xmodmap | /bin/grep mod4 | /bin/grep Alt > /dev/null 2>/dev/null
    then
	$XDIR/xmodmap -e "clear Mod1" \
		-e "clear Mod4" \
		-e "add Mod1 = Alt_L" \
		-e "add Mod1 = Alt_R" \
		-e "add Mod4 = Meta_L" \
		-e "add Mod4 = Meta_R"
    fi


    #
    # Append desktop font paths. Note: these directories should be
    # accessable by the X server. The file precedence is:
    #
    #   /etc/dt/config/xfonts/C
    #   /usr/dt/config/xfonts/C
    #   /etc/dt/config/xfonts/$LANG
    #   /usr/dt/config/xfonts/$LANG
    #


    if [ "$DTXSERVERLOCATION" != "remote" ]; then

      #
      # Since X server is local, optimize by checking local desktop
      # font directories and making one call to xset.
      #

      if [ -r $OPENWINHOME/lib/locale/$LANG/OWfontpath ]; then
          ADDFONTPATH_LOCAL $OPENWINHOME/lib/locale/$LANG/OWfontpath
      fi

      if [ -f /etc/dt/config/xfonts/C/fonts.dir ]; then
          fontpath=/etc/dt/config/xfonts/C
      fi

      if [ -f /usr/dt/config/xfonts/C/fonts.dir ]; then
        if [ -z "$fontpath" ]; then
          fontpath=/usr/dt/config/xfonts/C
        else
          fontpath=$fontpath,/usr/dt/config/xfonts/C
        fi
      fi

      if [ "$LANG" != "C" ]; then
        if [ -f /etc/dt/config/xfonts/$LANG/fonts.dir ]; then
          if [ -z "$fontpath" ]; then
            fontpath=/etc/dt/config/xfonts/$LANG
          else
            fontpath=$fontpath,/etc/dt/config/xfonts/$LANG
          fi
        fi

        if [ -f /usr/dt/config/xfonts/$LANG/fonts.dir ]; then
          if [ -z "$fontpath" ]; then
            fontpath=/usr/dt/config/xfonts/$LANG
          else
            fontpath=$fontpath,/usr/dt/config/xfonts/$LANG
          fi
        fi
      fi


      if [ ! -z "$fontpath" ]; then
        $XDIR/xset fp+ $fontpath
      fi

    else
      #
      # Since X server not local, we don't know if the desktop font
      # directories exist on the X server machine, so we have to
      # set them one at a time.
      #

      if [ -r $OPENWINHOME/lib/locale/$LANG/OWfontpath ]; then
          ADDFONTPATH_REMOTE $OPENWINHOME/lib/locale/$LANG/OWfontpath
      fi

      $XDIR/xset fp+ /etc/dt/config/xfonts/C 1>/dev/null

      $XDIR/xset fp+ /usr/dt/config/xfonts/C 1>/dev/null

      if [ "$LANG" != "C" ]; then 
        $XDIR/xset fp+ /etc/dt/config/xfonts/$LANG 1>/dev/null
        $XDIR/xset fp+ /usr/dt/config/xfonts/$LANG 1>/dev/null
      fi

      #
      # Append Font Server to tail of path.  
      # Will server any "-dt-" fonts not found on the remote machine.
      # 
      if [ -x /usr/openwin/bin/fs ]; then
        Hostname=`/usr/bin/hostname`
        dom=`/usr/bin/domainname`
        if [ ! -z "$dom" ]; then
                dom=".`echo $dom | /usr/bin/cut -d. -f2-`"
        fi
        FS_HOSTNAME=''
        if /usr/sbin/ping "${Hostname}${dom}" 1 > /dev/null 2>&1; then
                FS_HOSTNAME="${Hostname}${dom}"
        elif /usr/bin/getent hosts "${Hostname}" > /dev/null 2>&1; then
                FS_HOSTNAME=`/usr/bin/getent hosts "${Hostname}" | \
                             /usr/bin/cut -f1`
        fi
        if [ -z "$FS_HOSTNAME" ] || \
           ! /usr/sbin/ping "$FS_HOSTNAME" 1 >/dev/null 2>&1
        then
                FS_HOSTNAME="${Hostname}"
        fi
        $XDIR/xset fp+ "tcp/${FS_HOSTNAME}:7100"
      fi

    fi








___________________________________________________
This message is from the kde-solaris mailing list.
Account management:  http://mail.kde.org/mailman/listinfo/kde-solaris.
Archives: http://lists.kde.org/.
More info: http://www.kde.org/faq.html.


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic