Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:jberkman
gdm
gdm-xdm-sessions.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdm-xdm-sessions.patch of Package gdm
--- gdm-2.16.1/config/Xsession.in +++ gdm-2.16.1/config/Xsession.in @@ -1,247 +1,3 @@ #!@XSESSION_SHELL@ -# -# This is SORT OF LIKE an X session, but not quite. You get a command as the -# first argument (it could be multiple words, so run it with "eval"). As a -# special case, the command can be: -# failsafe - Run an xterm only -# default - Run the appropriate Xclients startup (see the code below) -# custom - Run ~/.xsession and if that's not available run 'default' -# -# (Note that other arguments could also follow, but only the command one is -# right now relevant and supported) -# -# The output is ALREADY redirected to .xsession-errors in GDM. This way -# .xsession-errors actually gets more output such as if the PreSession script -# is failing. This also prevents DoS attacks if some app in the users session -# can be prodded to dump lots of stuff on the stdout/stderr. We wish to be -# robust don't we? In case you wish to use an existing script for other DM's, -# you can just not redirect when GDMSESSION is set. GDMSESSION will always -# be set from gdm. -# -# Also note that this is not run as a login shell, this is just executed. -# This is why we source the profile files below. -# -# based on: -# $XConsortium: Xsession /main/10 1995/12/18 18:21:28 gildea $ -command="$@" - -if [ -z "$command" ] ; then - command=failsafe -fi - -# this will go into the .xsession-errors along with all other echo's -# good for debugging where things went wrong -echo "$0: Beginning session setup..." - -# First read /etc/profile and .profile -test -f /etc/profile && . /etc/profile -test -f "$HOME/.profile" && . "$HOME/.profile" -# Second read /etc/xprofile and .xprofile for X specific setup -test -f /etc/xprofile && . /etc/xprofile -test -f "$HOME/.xprofile" && . "$HOME/.xprofile" - -# Translation stuff -if [ -x "@libexecdir@/gdmtranslate" ] ; then - gdmtranslate="@libexecdir@/gdmtranslate" -else - gdmtranslate= -fi - -# Note that this should only go to zenity dialogs which always expect utf8 -gettextfunc () { - if [ "x$gdmtranslate" != "x" ] ; then - "$gdmtranslate" --utf8 "$1" - else - echo "$1" - fi -} - -OLD_IFS=$IFS - -gdmwhich () { - COMMAND="$1" - OUTPUT= - IFS=: - for dir in $PATH - do - if test -x "$dir/$COMMAND" ; then - if test "x$OUTPUT" = "x" ; then - OUTPUT="$dir/$COMMAND" - fi - fi - done - IFS=$OLD_IFS - echo "$OUTPUT" -} - -zenity=`gdmwhich zenity` - -if [ x"$command" = xfailsafe ] ; then - if [ -n "$zenity" ] ; then - disptext=`gettextfunc "This is the failsafe xterm session. Windows now have focus only if you have your cursor above them. To get out of this mode type 'exit' in the window in the upper left corner"` - "$zenity" --info --text "$disptext" - else - echo "$0: Starting the failsafe xterm session." - fi - exec xterm -geometry 80x24+0+0 -fi - -# Note: ~/.xsession-errors is now done in the daemon so that it -# works for ALL sessions (except ones named 'Failsafe') - -# clean up after xbanner -freetemp=`gdmwhich freetemp` -if [ -n "$freetemp" ] ; then - "$freetemp" -fi - -userresources="$HOME/.Xresources" -usermodmap="$HOME/.Xmodmap" -userxkbmap="$HOME/.Xkbmap" - -sysresources=/etc/X11/Xresources -sysmodmap=/etc/X11/Xmodmap -sysxkbmap=/etc/X11/Xkbmap - -rh6sysresources=/etc/X11/xinit/Xresources -rh6sysmodmap=/etc/X11/xinit/Xmodmap - - -# merge in defaults -if [ -f "$rh6sysresources" ]; then - xrdb -merge "$rh6sysresources" -fi - -if [ -f "$sysresources" ]; then - xrdb -merge "$sysresources" -fi - -if [ -f "$userresources" ]; then - xrdb -merge "$userresources" -fi - -# merge in keymaps -if [ -f "$sysxkbmap" ]; then - setxkbmap `cat "$sysxkbmap"` - XKB_IN_USE=yes -fi - -if [ -f "$userxkbmap" ]; then - setxkbmap `cat "$userxkbmap"` - XKB_IN_USE=yes -fi - -# -# Eeek, this seems like too much magic here -# -if [ -z "$XKB_IN_USE" -a ! -L /etc/X11/X ]; then - if grep '^exec.*/Xsun' /etc/X11/X > /dev/null 2>&1 && [ -f /etc/X11/XF86Config ]; then - xkbsymbols=`sed -n -e 's/^[ ]*XkbSymbols[ ]*"\(.*\)".*$/\1/p' /etc/X11/XF86Config` - if [ -n "$xkbsymbols" ]; then - setxkbmap -symbols "$xkbsymbols" - XKB_IN_USE=yes - fi - fi -fi - -# xkb and xmodmap don't play nice together -if [ -z "$XKB_IN_USE" ]; then - if [ -f "$rh6sysmodmap" ]; then - xmodmap "$rh6sysmodmap" - fi - - if [ -f "$sysmodmap" ]; then - xmodmap "$sysmodmap" - fi - - if [ -f "$usermodmap" ]; then - xmodmap "$usermodmap" - fi -fi - -unset XKB_IN_USE - -# Normalize languages, some places/distros screw us up in /etc/profile, -# so in case the user did select a language -if [ -n "$GDM_LANG" ]; then - LANG="$GDM_LANG" - export LANG - - if [ -n "$LC_ALL" ]; then - if [ "$LC_ALL" != "$LANG" ]; then - LC_ALL="$LANG" - fi - else - unset LC_ALL - fi - - if [ -n "$LANGUAGE" ]; then - if [ "$LANGUAGE" != "$LANG" ]; then - LANGUAGE="$LANG" - fi - else - unset LANGUAGE - fi - - if [ -n "$LINGUAS" ]; then - if [ "$LINGUAS" != "$LANG" ]; then - LINGUAS="$LANG" - fi - else - unset LINGUAS - fi -fi - -# run all system xinitrc shell scripts. -if [ -d /etc/X11/xinit/xinitrc.d ]; then - for i in /etc/X11/xinit/xinitrc.d/* ; do - if [ -x "$i" ]; then - . "$i" - fi - done -fi - -if [ "x$command" = "xcustom" ] ; then - if [ -x "$HOME/.xsession" ]; then - command="$HOME/.xsession" - else - echo "$0: Cannot find ~/.xsession will try the default session" - command="default" - fi -fi - -if [ "x$command" = "xdefault" ] ; then - if [ -x "$HOME/.Xclients" ]; then - command="$HOME/.Xclients" - elif [ -x /etc/X11/xinit/Xclients ]; then - command="/etc/X11/xinit/Xclients" - elif [ -x /etc/X11/Xclients ]; then - command="/etc/X11/Xclients" - else - echo "$0: Cannot find Xclients" - # FIXME: kind of an evil failsafe - command="xsm" - fi -fi - -# add ssh-agent if found -sshagent="`gdmwhich ssh-agent`" -if [ -n "$sshagent" ] && [ -x "$sshagent" ] && [ -z "$SSH_AUTH_SOCK" ]; then - command="$sshagent -- $command" -elif [ -z "$sshagent" ] ; then - echo "$0: ssh-agent not found!" -fi - -echo "$0: Setup done, will execute: $command" - -eval exec $command - -echo "$0: Executing $command failed, will run xterm" - -if [ -n "$zenity" ] ; then - disptext=`gettextfunc "Failed to start the session, so starting a failsafe xterm session. Windows will have focus only if the mouse pointer is above them. To get out of this mode type 'exit' in the window in the upper left corner"` - "$zenity" --info --text "$disptext" -fi - -exec xterm -geometry 80x24+0+0 +exec /etc/X11/xdm/Xsession $1 $GDM_LANG
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor