[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Debian] GDM meldet: Your session directory is missing or empty!"



On Wed, 19 Dec 2001 16:41:02 +0100
manuel weichselbaumer <minskiproductions@gmx.de> wrote:

>   das ist in der tat so:
> /etc/X11/gdm/sessions/ is leer
> aber wie bekomm ich da was rein?
> wenn ich die meldung ignoriere, dann bietet er mir nur 2 sessiosn zur 
> auswahl:
> gnome failsafe
> und x.... failsafe
> wenn ich mich aber ganz normal einlogge, bekomme ich meine letzte 
> session genauso wieder, wie ich sie beendet habe.
> und bei den sessionproperties stehen mir sehr wohl einige sessions zur 
> auswahl.
> wo is das problem?

das weis ich auch nicht, aber bei mir gibt es dort seit eh und je
zumindest eine Datei Debian mit den Rechten rwxr-xr-x und dem Besitzer
root:root folgenden Inhalts:

--------------------------/etc/gdm/Sessions/Debian----------------------------------------
#!/bin/sh

exec /etc/X11/Xsession
-------------------------------------end------------------------------------------------------

Gnome und KDE legen umfangreiche eigene Startskripte dorthin, du kannst
aber auch die WindowManger deiner Wahl selbst per script einbinden, hier
ein Beispiel von mir für icewm (Man kann es wahrscheinlich einfacher
machen, aber ich hab damals einfach das Gnome-Skript etwas verändert):

-------------------------/etc/gdm/Sessions/IceWM----------------------------------------
#!/bin/sh
#
# /etc/gdm/Sessions/Gnome
#
# global GNOME session file -- used by gdm

# See /etc/X11/Xsession for inspiration

# Setup standard error and standard output to user's home directory if
possible.

if [ -z "$DEBUG_GNOME_SESSION" ]; then
    for errfile in "$HOME/.gnome-errors" "${TMPDIR:-/tmp}/gnomeses-$USER"
"/tmp/gnomeses-$USER"; do
      if ( cp /dev/null "$errfile" 2> /dev/null ); then
	chmod 600 "$errfile"
	exec > "$errfile" 2>&1
	break
      fi
    done
fi

### Shell environment

# Abstract getting login options

logindefsfile=/etc/login.defs

haveloginoption() {
  optionname=$1
  echo "$0: checking $logindefsfile for option $optionname" >&2
  grep -qs ^$optionname $logindefsfile
}

loginoptionvalue() {
  optionname=$1
  optionvalue=`awk "\\$1 == \"$optionname\" { print \\$2 }"
$logindefsfile`
  echo "$0: $logindefsfile: \"$1\" is \"$optionvalue\"" >&2
  echo $optionvalue
}

if [ -z "$USER" ]; then
    USER=`whoami`
    export USER
fi

# Get defaults from /etc/login.defs
if haveloginoption UMASK; then
    umask `loginoptionvalue UMASK`
fi

# Commented out these lines since GDM does give a reasonable default path
#if haveloginoption ENV_PATH; then
#    eval `loginoptionvalue ENV_PATH`
#fi

if haveloginoption ULIMIT; then
    ulimit `loginoptionvalue ULIMIT`
fi

if [ -z "$MAIL" ]; then
    if haveloginoption MAIL_DIR; then
	MAIL=`loginoptionvalue MAIL_DIR`/$USER
	export MAIL
    elif haveloginoption MAIL_FILE; then
	MAIL=$HOME/`loginoptionvalue MAIL_FILE`
	export MAIL
    fi
fi

### X environment (resources etc)

# Get options from gnome/session.options or Xsession.options if
session.options does not exist

for optionfile in /etc/gnome/session.options /etc/X11/Xsession.options; do
  if [ -f $optionfile ]; then
    break
  fi
done
echo "$0: using $optionfile for options" >&2

# Abstract getting options

haveoption() {
  optionname=$1
  echo "$0: checking $optionfile for option $optionname" >&2
  grep -qs ^$optionname $optionfile
}

sysmodmap=/etc/X11/Xmodmap
usrmodmap=$HOME/.Xmodmap
sysresources=/etc/X11/Xresources
usrresources=$HOME/.Xresources

usrgnomerc=$HOME/.gnomerc

startssh=
sshagent=/usr/bin/ssh-agent

if [ -d $sysresources ]; then
  if [ "$(echo $sysresources/*)" != "$sysresources/*" ]; then
    for resourcefile in $(ls $sysresources/* 2> /dev/null | egrep
'^[-/_[:alnum:]]*$'); do
      xrdb -merge $resourcefile
    done
  fi
fi

if [ -x /usr/bin/X11/xmodmap ]; then
  if [ -f $sysmodmap ]; then
    xmodmap $sysmodmap
  fi
fi

if haveoption allow-user-resources; then
  if [ -f $usrresources ]; then
    xrdb -merge $usrresources
  fi
fi

if [ -x /usr/bin/X11/xmodmap ]; then
  if haveoption allow-user-modmap; then
    if [ -f $usrmodmap ]; then
      xmodmap $usrmodmap
    fi
  fi
fi

if [ -x /usr/X11R6/bin/icewm-gnome ]; then
  gnomesession="/usr/X11R6/bin/icewm-gnome"
  elif [ -x /usr/bin/x-terminal-emulator ]; then
    gnomesession=x-terminal-emulator
fi

if [ -x $sshagent -a -z "$SSH_AUTH_SOCK" ]; then
  startssh=yes
fi

if [ -n "$startssh" ]; then
  exec $sshagent -- $gnomesession
else
  exec $gnomesession
fi
--------------------------------------------end--------------------------------------------------


-- 
Klaus-M. Klingsporn               mailto: klaumikli@addcom.de
                                  http://www.klaumikli.home.pages.de

-- 
-----------------------------------------------------------
Um sich aus der Liste auszutragen schicken Sie bitte eine
E-Mail an debian-user-de-request@lehmanns.de die im Subject
"unsubscribe <deine_email_adresse>" enthaelt.
Bei Problemen bitte eine Mail an: Jan.Otto@Lehmanns.de
-----------------------------------------------------------

1087 eingetragene Mitglieder in dieser Liste.


Reply to: