/etc/X11/Xsession-debian-edu is in debian-edu-config 1.702.
This file is owned by root:root, with mode 0o755.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 | #!/bin/sh
#
# /etc/X11/Xsession
#
# global Xsession file -- used by display managers and xinit (startx)
set -e
message () {
# pretty-print messages of arbitrary length
echo "$*" | fold -s -w ${COLUMNS:-80} >&2;
if [ ! -z "$DISPLAY" ] ; then
echo "$*" | fold -s -w ${COLUMNS:-80} | xmessage -file -
fi
}
message_nonl () {
# pretty-print messages of arbitrary length (no trailing newline)
echo -n "$*" | fold -s -w ${COLUMNS:-80} >&2;
if [ ! -z "$DISPLAY" ] ; then
echo -n "$*" | fold -s -w ${COLUMNS:-80} | xmessage -file -
fi
}
errormsg () {
# exit script with error
message "$*"
exit 1;
}
internal_errormsg () {
# exit script with error; essentially a "THIS SHOULD NEVER HAPPEN" message
message "$*\n"
"Please report the package name, version, and the text of the" \
"above error message(s) to <debian-x@lists.debian.org>.";
exit 1;
}
run_parts () {
# until run-parts --noexec is implemented
if [ -z "$1" ]; then
internal_errormsg "internal run_parts called without an argument"
fi
if [ ! -d "$1" ]; then
internal_errormsg "internal run_parts called, but $1 does not exist or is not a directory."
fi
for F in $(ls $1); do
if expr "$F" : '[[:alnum:]_-]\+$' > /dev/null 2>&1; then
if [ -f "$1/$F" ]; then
echo "$1/$F"
fi
fi
done;
}
# initialize variables for use by all session scripts
OPTIONFILE=/etc/X11/Xsession.options
SYSMODMAP=/etc/X11/Xmodmap
USRMODMAP=$HOME/.Xmodmap
SYSRESOURCES=/etc/X11/Xresources
USRRESOURCES=$HOME/.Xresources
SYSSESSIONDIR=/etc/X11/Xsession.d
STARTUP=$HOME/.xsession
ALTSTARTUP=$HOME/.Xsession
ERRFILE=$HOME/.xsession-errors
# attempt to create an error file; abort if we cannot
if touch $ERRFILE 2> /dev/null && [ -w $ERRFILE ]; then
chmod 600 "$ERRFILE"
elif ERRFILE=$(tempfile 2> /dev/null); then
if ! ln -sf "$ERRFILE" "${TMPDIR:=/tmp}/xsession-$USER"; then
message "Xsession: unable to symlink \"$TMPDIR/xsession-$USER\" to" \
"\"$ERRFILE\"."
fi
else
errormsg "Xsession: unable to create X session log/error file. Aborting."
fi
exec > "$ERRFILE" 2>&1
# sanity check; is our session script directory present?
if [ ! -d "$SYSSESSIONDIR" ]; then
errormsg "Xsession: no $SYSSESSIONDIR directory found. Aborting." >&2
fi
# use run-parts to source every file in the session directory; we source
# instead of executing so that the variables and functions defined above
# are available to the scripts, and so that they can pass variables to each
# other
SESSIONFILES=$(run_parts $SYSSESSIONDIR)
if [ -n "$SESSIONFILES" ]; then
for SESSIONFILE in $SESSIONFILES; do
. $SESSIONFILE
done
fi
exit 0
# vim:ai:et:sts=2:sw=2:tw=80:
|