From: frank Date: Tue, 17 Jan 2012 11:45:58 +0000 (+0100) Subject: committing changes in /etc after emerge run X-Git-Url: https://git.uhu-banane.org/?a=commitdiff_plain;h=1be746055a89838bc1752e39060d20e815f9796c;p=config%2Fbruni%2Fetc.git committing changes in /etc after emerge run Package changes: +gnome-base/gdm-2.20.11-r1 --- diff --git a/.etckeeper b/.etckeeper index b6be0b6a..c406e65b 100755 --- a/.etckeeper +++ b/.etckeeper @@ -87,7 +87,27 @@ maybe chmod 0644 './X11/app-defaults/XDvi' maybe chmod 0755 './X11/chooser.sh' maybe chmod 0755 './X11/dm' maybe chmod 0755 './X11/dm/Sessions' +maybe chmod 0755 './X11/dm/Sessions/custom.desktop' maybe chmod 0644 './X11/dm/Sessions/wmaker.desktop' +maybe chmod 0755 './X11/gdm' +maybe chmod 0755 './X11/gdm/Init' +maybe chmod 0755 './X11/gdm/Init/Default' +maybe chmod 0755 './X11/gdm/PostLogin' +maybe chmod 0755 './X11/gdm/PostLogin/Default.sample' +maybe chmod 0755 './X11/gdm/PostSession' +maybe chmod 0755 './X11/gdm/PostSession/Default' +maybe chmod 0755 './X11/gdm/PreSession' +maybe chmod 0755 './X11/gdm/PreSession/Default' +maybe chmod 0755 './X11/gdm/XKeepsCrashing' +maybe chmod 0755 './X11/gdm/Xsession' +maybe chmod 0644 './X11/gdm/custom.conf' +maybe chmod 0644 './X11/gdm/gdmprefetchlist' +maybe chmod 0644 './X11/gdm/locale.alias' +maybe chmod 0755 './X11/gdm/modules' +maybe chmod 0644 './X11/gdm/modules/AccessDwellMouseEvents' +maybe chmod 0644 './X11/gdm/modules/AccessKeyMouseEvents' +maybe chmod 0644 './X11/gdm/modules/factory-AccessDwellMouseEvents' +maybe chmod 0644 './X11/gdm/modules/factory-AccessKeyMouseEvents' maybe chmod 0755 './X11/mwm' maybe chmod 0644 './X11/mwm/system.mwmrc' maybe chmod 0755 './X11/startDM.sh' @@ -99,6 +119,8 @@ maybe chmod 0755 './X11/xinit/xinitrc.d/10-user-dirs-update-gnome' maybe chmod 0755 './X11/xinit/xinitrc.d/10-xdg-menu-gnome' maybe chmod 0755 './X11/xinit/xinitrc.d/11-xdg-menu-kde-4' maybe chmod 0755 './X11/xinit/xinitrc.d/15-xdg-data-gnome' +maybe chmod 0755 './X11/xinit/xinitrc.d/49-keychain' +maybe chmod 0755 './X11/xinit/xinitrc.d/50-ssh-agent' maybe chmod 0755 './X11/xinit/xinitrc.d/70-seahorse-agent' maybe chmod 0755 './X11/xinit/xinitrc.d/80-dbus' maybe chmod 0755 './X11/xinit/xinitrc.d/90-consolekit' @@ -459,6 +481,7 @@ maybe chmod 0644 './env.d/99R' maybe chmod 0644 './env.d/99editor' maybe chmod 0644 './env.d/99fltk-1' maybe chmod 0644 './env.d/99gentoolkit-env' +maybe chmod 0644 './env.d/99xdg-gdm' maybe chmod 0755 './env.d/binutils' maybe chmod 0644 './env.d/binutils/config-x86_64-pc-linux-gnu' maybe chmod 0644 './env.d/binutils/x86_64-pc-linux-gnu-2.21.1' @@ -1074,6 +1097,9 @@ maybe chmod 0644 './pam.d/chsh' maybe chmod 0644 './pam.d/cron' maybe chmod 0644 './pam.d/cups' maybe chmod 0644 './pam.d/cvs' +maybe chmod 0644 './pam.d/gdm' +maybe chmod 0644 './pam.d/gdm-autologin' +maybe chmod 0644 './pam.d/gdmsetup' maybe chmod 0644 './pam.d/gnome-screensaver' maybe chmod 0644 './pam.d/groupadd' maybe chmod 0644 './pam.d/groupdel' @@ -1313,6 +1339,8 @@ maybe chmod 0600 './securetty' maybe chmod 0755 './security' maybe chmod 0644 './security/access.conf' maybe chmod 0644 './security/capability.conf' +maybe chmod 0755 './security/console.apps' +maybe chmod 0644 './security/console.apps/gdmsetup' maybe chmod 0644 './security/group.conf' maybe chmod 0644 './security/limits.conf' maybe chmod 0755 './security/limits.d' diff --git a/X11/dm/Sessions/custom.desktop b/X11/dm/Sessions/custom.desktop new file mode 100755 index 00000000..ea737608 --- /dev/null +++ b/X11/dm/Sessions/custom.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Encoding=UTF-8 +# The names/descriptions should really be better +Name=Custom Session +Comment=This starts a custom session +Exec=custom +# The "custom" Exec is a very special one and is handled specially in +# the Xsession script and just runs "~/.xsession" directly +Icon= +Type=Application diff --git a/X11/gdm/Init/Default b/X11/gdm/Init/Default new file mode 100755 index 00000000..de036f4a --- /dev/null +++ b/X11/gdm/Init/Default @@ -0,0 +1,89 @@ +#!/bin/sh +# Stolen from the debian kdm setup, aren't I sneaky +# Plus a lot of fun stuff added +# -George + +PATH=/usr/bin:$PATH +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" +} + +sysresources=/etc/X11/Xresources + +# merge in defaults +if [ -f "$sysresources" ]; then + xrdb -merge "$sysresources" +fi + +sysmodmap=/etc/X11/Xmodmap + +XMODMAP=`gdmwhich xmodmap` +if [ "x$XMODMAP" != "x" ] ; then + if [ "x$GDM_PARENT_DISPLAY" = "x" ]; then + if [ -f $sysmodmap ]; then + $XMODMAP $sysmodmap + fi + else + ( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $XMODMAP -pke ) | $XMODMAP - + fi + + # + # Switch Sun's Alt and Meta mod mappings + # + + UNAME=`gdmwhich uname` + PROCESSOR=`$UNAME -p` + if [ "x$PROCESSOR" = "xsparc" ]; then + if $XMODMAP | /usr/bin/grep mod4 | /usr/bin/grep Alt > /dev/null 2>/dev/null + then + $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 + fi +fi + +SETXKBMAP=`gdmwhich setxkbmap` +if [ "x$SETXKBMAP" != "x" ] ; then + # FIXME: is this all right? Is this completely on crack? + # What this does is move the xkb configuration from the GDM_PARENT_DISPLAY + # FIXME: This should be done in code. Or there must be an easier way ... + if [ -n "$GDM_PARENT_DISPLAY" ]; then + XKBSETUP=`( DISPLAY=$GDM_PARENT_DISPLAY XAUTHORITY=$GDM_PARENT_XAUTHORITY $SETXKBMAP -v )` + if [ -n "$XKBSETUP" ]; then + XKBKEYMAP=`echo "$XKBSETUP" | grep '^keymap' | awk '{ print $2 }'` + XKBTYPES=`echo "$XKBSETUP" | grep '^types' | awk '{ print $2 }'` + XKBCOMPAT=`echo "$XKBSETUP" | grep '^compat' | awk '{ print $2 }'` + XKBSYMBOLS=`echo "$XKBSETUP" | grep '^symbols' | awk '{ print $2 }'` + XKBGEOMETRY=`echo "$XKBSETUP" | grep '^geometry' | awk '{ print $2 }'` + if [ -n "$XKBKEYMAP" ]; then + $SETXKBMAP -keymap "$XKBKEYMAP" + elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" -a -n "$XKBGEOMETRY" ]; then + $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" -geometry "$XKBGEOMETRY" + elif [ -n "$XKBTYPES" -a -n "$XKBCOMPAT" -a -n "$XKBSYMBOLS" ]; then + $SETXKBMAP -types "$XKBTYPES" -compat "$XKBCOMPAT" -symbols "$XKBSYMBOLS" + elif [ -n "$XKBSYMBOLS" ]; then + $SETXKBMAP -symbols "$XKBSYMBOLS" + fi + fi + fi +fi + +exit 0 diff --git a/X11/gdm/PostLogin/Default.sample b/X11/gdm/PostLogin/Default.sample new file mode 100755 index 00000000..a61c0989 --- /dev/null +++ b/X11/gdm/PostLogin/Default.sample @@ -0,0 +1,8 @@ +#!/bin/sh +# +# Note: this is a sample and will not be run as is. Change the name of this +# file to /PostLogin/Default for this script to be run. This +# script will be run before any setup is run on behalf of the user and is +# useful if you for example need to do some setup to create a home directory +# for the user or something like that. $HOME, $LOGNAME and such will all be +# set appropriately and this script is run as root. diff --git a/X11/gdm/PostSession/Default b/X11/gdm/PostSession/Default new file mode 100755 index 00000000..fa753167 --- /dev/null +++ b/X11/gdm/PostSession/Default @@ -0,0 +1,22 @@ +#!/bin/sh + +PATH="/usr/bin:$PATH:/bin:/usr/bin" +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" +} + +exit 0 diff --git a/X11/gdm/PreSession/Default b/X11/gdm/PreSession/Default new file mode 100755 index 00000000..dc523c6e --- /dev/null +++ b/X11/gdm/PreSession/Default @@ -0,0 +1,67 @@ +#!/bin/sh +# +# Note that output goes into the .xsession-errors file for easy debugging +# +PATH="/usr/bin:$PATH:/bin:/usr/bin" +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" +} + +# Set background color +XSETROOT=`gdmwhich xsetroot` +if [ "x$XSETROOT" != "x" ] ; then + + CHECKBACKCOLOR="OK" + if [ "x$GDM_GREETER_TYPE" = "xTHEMED" ]; then + BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/GraphicalThemedColor $DISPLAY"` + + CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'` + if [ "x$CHECKBACKCOLOR" = "xOK" ]; then + BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'` + else + BACKCOLOR="" + fi + fi + + # If we tried to load the themed backgroundcolor, but failed, then try loading plain color + if [ "x$CHECKBACKCOLOR" != "xOK" ] || [ "x$GDM_GREETER_TYPE" = "xPLAIN" ]; then + + # Background type can be 0=None, 1=Image & Color, 2=Color, or 3=Image + BACKTYPE=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundType $DISPLAY"` + + # Skip if background type does not include a color + if [ "x$BACKTYPE" = "xOK 1" ] || [ "x$BACKTYPE" = "xOK 2" ]; then + BACKCOLOR=`gdmflexiserver --command="GET_CONFIG greeter/BackgroundColor $DISPLAY"` + + CHECKBACKCOLOR=`echo $BACKCOLOR | sed 's/^\([^ ]*\) .*$/\1/'` + if [ "x$CHECKBACKCOLOR" = "xOK" ]; then + BACKCOLOR=`echo $BACKCOLOR | sed 's/^.* \(.*\)$/\1/'` + else + BACKCOLOR="" + fi + fi + fi + + # Default value + if [ "x$BACKCOLOR" = "x" ]; then + BACKCOLOR="#76848F" + fi + + "$XSETROOT" -cursor_name left_ptr -solid "$BACKCOLOR" +fi + +exit 0 diff --git a/X11/gdm/XKeepsCrashing b/X11/gdm/XKeepsCrashing new file mode 100755 index 00000000..5b7c4a88 --- /dev/null +++ b/X11/gdm/XKeepsCrashing @@ -0,0 +1,194 @@ +#!/bin/sh + +if test "x$UNSAFE_TO_TRANSLATE" = "xyes" ; then + LANG=C + unset LC_ALL + unset LC_MESSAGES +fi + +if test -x "$LIBEXECDIR/gdmtranslate" ; then + GDMTRANSLATE="$LIBEXECDIR/gdmtranslate" +else + GDMTRANSLATE= +fi + +gettextfunc () { + if test "x$GDMTRANSLATE" != "x" ; then + "$GDMTRANSLATE" "$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" +} + +MSG3=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. You will need to log in on a console and reconfigure the X server. Then restart GDM."` +MSG4=`gettextfunc "Would you like to try to configure the X server? Note that you will need the root password for this."` +MSG5=`gettextfunc "Please type in the root (privileged user) password."` +MSG6=`gettextfunc "Trying to restart the X server."` +MSG7=`gettextfunc "The X server is now disabled. Restart GDM when it is configured correctly."` +MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It is likely that it is not set up correctly. Would you like to view the X server output to diagnose the problem?"` +MSG9=`gettextfunc "Would you like to view the detailed X server output as well?"` + +# there are some env vars defined: +# XLOG = the log file for the X server +# BINDIR = location of gdm binaries +# SBINDIR = location of gdm system binaries +# LIBEXECDIR = location of gdm libexec binaries (gdmaskpass, gdmopen) + +# return values are +# 0 = try again, runs this server again +# 1 = abort this display, removes this server from the list +# 32 = something went very wrong, things will just get logged. +# this means this script didnt work so do alternative things +# to tell the user if possible + +# +# First see if we can find an X configuration program +# (first one in the list will be used) +# +XCONFIGURATOR= +for n in \ + /usr/bin/system-config-display \ + /usr/bin/redhat-config-xfree86 \ + /usr/sbin/XFdrake \ + /usr/bin/X11/XF86Setup \ + /usr/bin/X11/Xconfigurator \ + /usr/bin/X11/xf86cfg \ + ; do + # standard shell test has no or and loops have no breaks, eek + if test "x$XCONFIGURATOR" = "x" ; then + if test -x "$n" ; then + XCONFIGURATOR="$n" + fi + fi +done + +# +# Now we check for dialog and gdmaskpass +# +DIALOG=`gdmwhich dialog` +if test "x$DIALOG" = "x" ; then + DIALOG=`gdmwhich whiptail` +fi +if test -x "$LIBEXECDIR/gdmaskpass" ; then + ASKPASS="$LIBEXECDIR/gdmaskpass" +else + ASKPASS= +fi + +# +# If this is a mouse problem try mouseconfig and modify some +# messages +# +if grep '^\(Cannot open mouse\|No core pointer\)' "$XLOG" 2> /dev/null ; then + + MSG8=`gettextfunc "Failed to start the X server (your graphical interface). It seems that the pointer device (your mouse) is not set up correctly. Would you like to view the X server output to diagnose the problem?"` + + if test -x /usr/sbin/mouseconfig ; then + XCONFIGURATOR=/usr/sbin/mouseconfig + # Note: we know this is a mouse problem and yay we have mouseconfig + MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."` + fi + + if test -x /usr/bin/system-config-mouse ; then + XCONFIGURATOR=/usr/bin/system-config-mouse + # Note: we know this is a mouse problem and yay we have system-config-mouse + MSG4=`gettextfunc "Would you like to try to configure the mouse? Note that you will need the root password for this."` + fi + +fi + +# we require 'gdmopen', to open a console, because we really dont +# have one. Perhaps someone should try to figure out some shell +# black magic to get this to work on other then linux systems +if test ! -x "$LIBEXECDIR/gdmopen" ; then + exit 32 +fi + +# when we run ourselves from the open we will pass a -noopen argument +if test "x$1" = "x-noopen" ; then + shift +else + # + # We do a lot of work wastefully over again, but oh well, + # perhaps this needs fixing. + # + "$LIBEXECDIR/gdmopen" -l /bin/sh -c "$0 -noopen $@" + exit $? +fi + +clear + +# Note, dialog required, though this script could be fixed to not require it +# I suppose +if test "x" = "x$DIALOG" ; then + echo ======================================================================= + echo + cat "$XLOG" + echo + echo ======================================================================= + echo + if test -x /usr/bin/fmt ; then + echo "$MSG3" | /usr/bin/fmt + else + echo "$MSG3" + fi + echo + echo ======================================================================= + read + exit 1 +fi + +if "$DIALOG" --yesno "$MSG8" 10 50 ; then + "$DIALOG" --textbox "$XLOG" 22 76 + # Support XFree86 v4 logfile thingie + if grep '^(..) Log file: "' "$XLOG" 2> /dev/null ; then + XLOG_DETAIL=`grep '^(..) Log file: "' "$XLOG" | sed 's/^[^"]*"\([^"]*\)".*$/\1/'` + if "$DIALOG" --yesno "$MSG9" 10 50 ; then + "$DIALOG" --textbox "$XLOG_DETAIL" 22 76 + fi + fi +fi + +if test "x$XCONFIGURATOR" = "x" ; then + "$DIALOG" --msgbox "$MSG7" 8 50 + exit 1 +fi + +if "$DIALOG" --yesno "$MSG4" 10 50 ; then + clear + echo + echo "$MSG5" + if test "x$ASKPASS" = "x" ; then + # dirty trick to fool su into asking the root password even if were + # root + su nobody -c "su -c $XCONFIGURATOR" + else + if "$ASKPASS" ; then + "$XCONFIGURATOR" + fi + fi + clear + "$DIALOG" --msgbox "$MSG6" 8 50 + exit 0 +else + "$DIALOG" --msgbox "$MSG7" 8 50 + exit 1 +fi diff --git a/X11/gdm/Xsession b/X11/gdm/Xsession new file mode 100755 index 00000000..aa198378 --- /dev/null +++ b/X11/gdm/Xsession @@ -0,0 +1,227 @@ +#!/bin/sh +# +# 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: +# 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="$@" + +# 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 "/usr/libexec/gdmtranslate" ] ; then + gdmtranslate="/usr/libexec/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` + +# 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 + +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 + if [ -n "$zenity" ] ; then + disptext=`gettextfunc "System has no Xclients file, 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."` + "$zenity" --info --text "$disptext" + else + echo "$0: Cannot find Xclients" + fi + exec xterm -geometry 80x24+0+0 + 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 + +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."` + "$zenity" --info --text "$disptext" +fi + +exec xterm -geometry 80x24+0+0 diff --git a/X11/gdm/custom.conf b/X11/gdm/custom.conf new file mode 100644 index 00000000..559823b8 --- /dev/null +++ b/X11/gdm/custom.conf @@ -0,0 +1,80 @@ +# GDM Custom Configuration file. +# +# This file is the appropriate place for specifying your customizations to the +# GDM configuration. If you run gdmsetup, it will automatically edit this +# file for you and will cause the daemon and any running GDM GUI programs to +# automatically update with the new configuration. Not all configuration +# options are supported by gdmsetup, so to modify some values it may be +# necessary to modify this file directly by hand. +# +# This file overrides the default configuration settings. These settings +# are stored in the GDM System Defaults configuration file, which is found +# at the following location. +# +# /usr/share/gdm/defaults.conf. +# +# This file contains comments about the meaning of each configuration option, +# so is also a useful reference. Also refer to the documentation links at +# the end of this comment for further information. In short, to hand-edit +# this file, simply add or modify the key=value combination in the +# appropriate section in the template below this comment section. +# +# For example, if you want to specify a different value for the Enable key +# in the "[debug]" section of your GDM System Defaults configuration file, +# then add "Enable=true" in the "[debug]" section of this file. If the +# key already exists in this file, then simply modify it. +# +# Older versions of GDM used the "gdm.conf" file for configuration. If your +# system has an old gdm.conf file on the system, it will be used instead of +# this file - so changes made to this file will not take effect. Consider +# migrating your configuration to this file and removing the gdm.conf file. +# +# If you hand edit a GDM configuration file, you can run the following +# command and the GDM daemon will immediately reflect the change. Any +# running GDM GUI programs will also be notified to update with the new +# configuration. +# +# gdmflexiserver --command="UPDATE_CONFIG " +# +# e.g, the "Enable" key in the "[debug]" section would be "debug/Enable". +# +# You can also run gdm-restart or gdm-safe-restart to cause GDM to restart and +# re-read the new configuration settings. You can also restart GDM by sending +# a HUP or USR1 signal to the daemon. HUP behaves like gdm-restart and causes +# any user session started by GDM to exit immediately while USR1 behaves like +# gdm-safe-restart and will wait until all users log out before restarting GDM. +# +# For full reference documentation see the gnome help browser under +# GNOME|System category. You can also find the docs in HTML form on +# http://www.gnome.org/projects/gdm/ +# +# NOTE: Lines that begin with "#" are considered comments. +# +# Have fun! + +[daemon] + +[security] + +[xdmcp] + +[gui] + +[greeter] + +[chooser] + +[debug] + +# Note that to disable servers defined in the GDM System Defaults +# configuration file (such as 0=Standard, you must put a line in this file +# that says 0=inactive, as described in the Configuration section of the GDM +# documentation. +# +[servers] + +# Also note, that if you redefine a [server-foo] section, then GDM will +# use the definition in this file, not the GDM System Defaults configuration +# file. It is currently not possible to disable a [server-foo] section +# defined in the GDM System Defaults configuration file. +# diff --git a/X11/gdm/gdmprefetchlist b/X11/gdm/gdmprefetchlist new file mode 100644 index 00000000..45cbbfc6 --- /dev/null +++ b/X11/gdm/gdmprefetchlist @@ -0,0 +1,43 @@ +# If GDM is built with the --with-prefetch option, then this file +# is installed on the system, and the gdm.conf PreFetchProgram +# value should be set properly to cause the first login program +# managed to preload this list of libraries. It has been shown that +# preloading these libraries improves first-time login performance +# for the GNOME desktop. +# +# This list of libraries has been optimized for a GNOME session running +# on Solaris. People who want to contribute alternative lists of +# libraries for other distributions or desktop environments can +# contribute them to the "gdm" category in http://bugzilla.gnome.org/, +# and these can be made available in future releases of GDM. +# +/usr/share/icons/hicolor/icon-theme.cache +/usr/share/icons/blueprint/icon-theme.cache +/usr/share/icons/gnome/icon-theme.cache +/usr/bin/nautilus +/usr/bin/gnome-panel +/usr/lib/libbonoboui-2.so +/usr/lib/libwnck-1.so +/usr/lib/libgnomevfs-2.so +/usr/bin/metacity +/usr/lib/libeel-2.so +/usr/lib/libbonobo-2.so +/usr/openwin/lib/libXt.so +/usr/lib/libgnomeui-2.so +/usr/lib/clock-applet +/usr/lib/libORBit-2.so +/usr/X11/lib/libGL.so +/usr/openwin/lib/X11/fonts/TrueType/VeraMoIt.ttf +/usr/lib/libgnome-desktop-2.so +/usr/lib/wnck-applet +/usr/lib/libgstreamer-0.10.so +/usr/dt/lib/libXm.so +/usr/lib/libpoppler.so +/usr/lib/libgconf-2.so +/usr/sfw/lib/libcrypto.so +/usr/lib/nautilus/extensions-1.0/libevince-properties-page.so +/usr/lib/gnome-vfs-2.0/modules/libmapping.so +/usr/lib/libpoppler-glib.so +/usr/lib/libpanel-applet-2.so +/usr/lib/libstartup-notification-1.so +/usr/lib/libatk-1.0.so diff --git a/X11/gdm/locale.alias b/X11/gdm/locale.alias new file mode 100644 index 00000000..8134963c --- /dev/null +++ b/X11/gdm/locale.alias @@ -0,0 +1,147 @@ +# NOTE! This is a broken way to do things. GDM currently reads languages ONLY +# from this file. This is Broken(tm). This setup will be replaced in some +# future version to be replaced by some automatic detection of available +# locales. This file is not really a locale.alias file and the first word +# is used as a label in case gdm doesn't know this language personally, +# else it's ignored. +# +# The format of this file is SIMILAR (but not the same to the locale.alias +# format). You could however point gdm at a real locale.alias and it would +# still concievably work. Note that the first word cannot contain any spaces. +# The second word can be a comma separated list of locales to try. GDM will +# try if each locale exists and only if it does will it show that locale. The +# list is tried in order and the first working one is used. +# +# - George + +C(POSIX) C,POSIX +Afrikaans af_ZA.UTF-8,af_ZA +Albanian sq_AL.UTF-8,sq_AL +Amharic am_ET.UTF-8,am_ET +Arabic(Egypt) ar_EG.UTF-8,ar_EG +Arabic(Lebanon) ar_LB.UTF-8,ar_LB +Arabic(SaudiArabia) ar_SA.UTF-8,ar_SA +Armenian hy_AM.UTF-8,hy_AM +Azerbaijani az_AZ.UTF-8,az_AZ +Azerbaijani(Iran) az_IR.UTF-8,az_IR +Basque eu_ES.UTF-8,eu_ES +Belarusian be_BY.UTF-8,be_BY +Belarusian(Latin) be_BY.UTF-8@latin,be_BY@latin +Bengali bn_BD.UTF-8,bn_BD +Bengali(India) bn_IN.UTF-8,bn_IN +Bosnian bs_BA.UTF-8,bs_BA +Breton br_FR.UTF-8,br_FR +Bulgarian bg_BG.UTF-8,bg_BG +Catalan ca_ES.UTF-8,ca_ES +Chinese(ChinaMainland) zh_CN.UTF-8,zh_CN +Chinese(GB18030) zh_CN.GB18030 +Chinese(Hong-Kong) zh_HK.UTF-8,zh_HK +Chinese(Singapore) zh_SG.UTF-8,zh_SG +Chinese(Taiwan) zh_TW.UTF-8,zh_TW +Croatian hr_HR.UTF-8,hr_HR +Czech cs_CZ.UTF-8,cs_CZ +Danish da_DK.UTF-8,da_DK +Dutch nl_NL.UTF-8,nl_NL +Dutch(Belgium) nl_BE.UTF-8,nl_BE +English(Australia) en_AU.UTF-8,en_AU +English(Canada) en_CA.UTF-8,en_CA +English(Ireland) en_IE.UTF-8,en_IE +English(Malta) en_MT.UTF-8,en_MT +English(NewZealand) en_NZ.UTF-8,en_NZ +English(SouthAfrica) en_ZA.UTF-8,en_ZA +English(UK) en_GB.UTF-8,en_GB +English(USA) en_US.UTF-8,en_US +Esperanto eo.UTF-8,eo +Estonian et_EE.UTF-8,et_EE +Finnish fi_FI.UTF-8,fi_FI +French fr_FR.UTF-8,fr_FR +French(Belgium) fr_BE.UTF-8,fr_BE +French(Canada) fr_CA.UTF-8,fr_CA +French(Luxembourg) fr_LU.UTF-8,fr_LU +French(Switzerland) fr_CH.UTF-8,fr_CH +Galician gl_ES.UTF-8,gl_ES +German de_DE.UTF-8,de_DE +German(Austria) de_AT.UTF-8,de_AT +German(Switzerland) de_CH.UTF-8,de_CH +German(Luxembourg) de_LU.UTF-8,de_LU +Greek el_GR.UTF-8,el_GR +Greek(Cyprus) el_CY.UTF-8,el_CY +Gujarati gu_IN.UTF-8,gu_IN +Hebrew he_IL.UTF-8,he_IL +Hindi hi_IN.UTF-8,hi_IN +Hungarian hu_HU.UTF-8,hu_HU +Icelandic is_IS.UTF-8,is_IS +Indonesian id_ID.UTF-8,id_ID +Interlingua ia.UTF-8,ia +Irish ga_IE.UTF-8,ga_IE +Italian it_IT.UTF-8,it_IT +Japanese ja_JP.UTF-8,ja_JP +Kannada kn_IN.UTF-8,kn_IN +Kazakh kk_KZ.UTF-8,kk_KZ +Kinyarwanda rw_RW.UTF-8,rw_RW +Korean ko_KR.UTF-8,ko_KR +Latvian lv_LV.UTF-8,lv_LV +Limburgish li_NL.UTF-8,li_NL +Limburgish(Belgium) li_BE.UTF-8,li_BE +Limburgish(Germany) li_DE.UTF-8,li_DE +Lithuanian lt_LT.UTF-8,lt_LT +Macedonian mk_MK.UTF-8,mk_MK +Malayalam ml_IN.UTF-8,ml_IN +Malay ms_MY.UTF-8,ms_MY +Maltese mt_MT.UTF-8,mt_MT +Maori mi_NZ.UTF-8,mi_NZ +Marathi mr_IN.UTF-8,mr_IN +Mongolian mn_MN.UTF-8,mn_MN +Nepali ne_NP.UTF-8,ne_NP +NorthernSotho nso_ZA.UTF-8,nso_ZA +Norwegian(bokmal) nb_NO.UTF-8,nb_NO,no_NO.UTF-8,no_NO +Norwegian(nynorsk) nn_NO.UTF-8,nn_NO +Oriya or_IN.UTF-8,or_IN +Persian fa_IR.UTF-8,fa_IR +Polish pl_PL.UTF-8,pl_PL +Portuguese(Brazilian) pt_BR.UTF-8,pt_BR +Portuguese pt_PT.UTF-8,pt_PT +Punjabi pa_IN.UTF-8,pa_IN +Romanian ro_RO.UTF-8,ro_RO +Russian ru_RU.UTF-8,ru_RU +Serbian sr_CS.UTF-8,sr_CS,sr_YU@cyrillic,sr_YU +Serbian(Montenegro) sr_ME.UTF-8 +Serbian(Serbia) sr_RS.UTF-8 +Serbian(Bosnia) sh_BA.UTF-8,sh_BA +Serbian(Latin) sr_CS.UTF-8@Latn,sr_CS@Latn,sr_YU@Latn +Serbian(Jekavian) sr_CS.UTF-8@ije,sr_CS@ije,sr_YU@ije +Slovak sk_SK.UTF-8,sk_SK +Slovenian sl_SI.UTF-8,sl_SI +Spanish es_ES.UTF-8,es_ES +Spanish(Argentina) es_AR.UTF-8,es_AR +Spanish(Bolivia) es_BO.UTF-8,es_BO +Spanish(Chile) es_CL.UTF-8,es_CL +Spanish(Colombia) es_CO.UTF-8,es_CO +Spanish(CostaRica) es_CR.UTF-8,es_CR +Spanish(Ecuador) es_EC.UTF-8,es_EC +Spanish(Guatemala) es_GT.UTF-8,es_GT +Spanish(Mexico) es_MX.UTF-8,es_MX +Spanish(Nicaragua) es_NI.UTF-8,es_NI +Spanish(Panama) es_PA.UTF-8,es_PA +Spanish(Peru) es_PE.UTF-8,es_PE +Spanish(Paraguay) es_PY.UTF-8,es_PY +Spanish(ElSalvador) es_SV.UTF-8,es_SV +Spanish(Uruguay) es_UY.UTF-8,es_UY +Spanish(Venezuela) es_VE.UTF-8,es_VE +Swedish(Finland) sv_FI.UTF-8,sv_FI +Swedish sv_SE.UTF-8,sv_SE +Tagalog tl_PH.UTF-8,tl_PH +Tajik tg_TJ.UTF-8,tg_TJ +Tamil ta_IN.UTF-8,ta_IN +Telugu te_IN.UTF-8,te_IN +Thai th_TH.UTF-8,th_TH +Turkish tr_TR.UTF-8,tr_TR +Ukrainian uk_UA.UTF-8,uk_UA +Uzbek uz_UZ.UTF-8,uz_UZ +Uzbek(Latin) uz_UZ.UTF-8@Latn,uz_UZ@Latn +Vietnamese vi_VN.UTF-8,vi_VN +Walloon wa_BE.UTF-8,wa_BE +Welsh cy_GB.UTF-8,cy_GB +Xhosa xh_ZA.UTF-8,xh_ZA +Yiddish yi.UTF-8,yi +Zulu zu_ZA.UTF-8,zu_ZA diff --git a/X11/gdm/modules/AccessDwellMouseEvents b/X11/gdm/modules/AccessDwellMouseEvents new file mode 100644 index 00000000..ee07f1ad --- /dev/null +++ b/X11/gdm/modules/AccessDwellMouseEvents @@ -0,0 +1,62 @@ +# This is the configuration file for the keymouselistener.so module. +# The confiuration syntax is as follows: +# +# crossing inital_direction timeout executable_path +args +# +# For executable_path give the full executable path path of the program or the +# DefaultPath is used. +# +# where: +# +# + crossing is a string that includes any combination of TBLR characters, where +# T means Top, B means Bottom, L means Left, and R means Right. +# +# + initial_direction can be either the I or O character which indicates +# that the initial crossing is a motion In or Out of the window. +# +# e.g. +# TBLR I 10000 /usr/bin/gok --login --access-method=dwellselection +# +# Means the user crosses into the top border, out the bottom border, into the left +# border, and then out the right border (in that order). The initial_direction +# value of I is what specifies that the first crossing is into the top border +# rather than out of the top border. Each border crossing must occur within +# 10000ms of the last border crossing for the gesture to be valid. +# +# It is possible to invoke multiple actions from a single gesture using the +# keyword. Action specified with are invoked by the previous gesture +# defined in the file. If the action is the first action defined in the +# file, then it is ignored. +# +# e.g. +# +# /usr/bin/orca -n -d main-window +# + +# AT Progarm - GOK (GNOME On-screen Keyboard) +# +# Support several different options for different user needs. Note these +# gestures all start by moving the mouse into the top window border. +# +TBLR I 10000 /usr/bin/gok --login --access-method=dwellselection +TLBR I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1 +TRBL I 10000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2 +TBRL I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3 + +# AT Program - ORCA +# +# Note these gestures all start by moving the mouse into the bottom window +# border. +# +# Speech +# +BTRL I 10000 /usr/bin/orca -n -d main-window + +# Magnifier +# +BTLR I 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier + +# Speech and Magnifier +# +BRTL I 10000 /usr/bin/orca -n -d main-window -e magnifier + diff --git a/X11/gdm/modules/AccessKeyMouseEvents b/X11/gdm/modules/AccessKeyMouseEvents new file mode 100644 index 00000000..90abd9b0 --- /dev/null +++ b/X11/gdm/modules/AccessKeyMouseEvents @@ -0,0 +1,91 @@ +# This is the configuration file for the keymouselistener.so module. +# The confiuration syntax is as follows: +# +# For keyboard gestures: +# +# [...]key #times duration timeout executable_path +args +# +# For executable_path give the full executable path path of the program or the +# DefaultPath is used. For key, this can be one of the normal keys such as 'k' +# for the letter 'k', or 'F10' for the F10 key. If you wish to use one of the +# 'modifier' keys you have to specify which one exactly, meaning usually +# appending _L or _R depending on if it's the left or right one. The useful +# ones are: Shift_L, Shift_R, Control_L, Control_R, Meta_L, Meta_R, Alt_L, Alt_R. +# Do note that the modifier is optional. +# +# e.g. +# +# k 1 1000 10000 /usr/bin/gok --login --access-method=directselection +# +# Means press Contol-k 5 times, holding each keypress down for at least 1000ms +# (1s) each time and with no greater interval than 10000ms (10s) between each +# event in the sequence. A duration value of 0 indicates that a keypress of +# any length is accepted. The timeout value is only meaningful if the #times +# value is > 1. Completing the above example sequence will invoke the gnome on +# screen keyboard program, gok. Note that you cannot release the key +# while pressing otherwise the sequence will be lost. +# +# e.g. +# Shift_L 5 1000 10000 /usr/bin/gok --login --access-method=directselection +# Shift_R 5 1000 10000 /usr/bin/gok --login --access-method=directselection +# +# Will start gok if you press either shift key 5 times holding it down for more +# then 1 second each time. +# +# For mouse button gestures the format is the same except the mouse button number +# is specified instead of a key gesture: +# +# #times duration timeout executable_path +args +# +# e.g. +# +# 4 3000 6000 /usr/bin/orca -n -d main-window +# +# Note that mouse numbers are 1-based so is the left mouse button, +# is the right mouse button and is the middle mouse button. +# +# It is possible to invoke multiple actions from a single gesture using the +# keyword. Actions specified with are invoked by the previous gesture +# defined in the file. If the action is the first action defined in the +# file, then it is ignored. +# +# e.g. +# +# /usr/bin/gnome-mag +# + +# AT Program - GOK (GNOME On-screen Keyboard) +# +# Include a gesture for both right and left mouse button, for both right +# and left handed users. +# +# hold right or left mouse button 3 times for 3 seconds each time. + 3 3000 10000 /usr/bin/gok --login --access-method=directselection + 3 3000 10000 /usr/bin/gok --login --access-method=directselection + +# Also support Xinput switches +# + 1 5000 0 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1 + 3 50 3000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2 + 3 1000 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3 + +# Although most GOK users would want to use a mouse/switch button to start GOK, +# also include a keybinding for starting GOK with direct selection mode. +# +k 1 1000 10000 /usr/bin/gok --login --access-method=directselection + +# AT Program - ORCA +# +# press ctrl-s for 1 second to launch orca in speech mode +# +s 1 1000 10000 /usr/bin/orca -n -d main-window + +# press ctrl-m for 1 second to launch orca in mag mode +# +m 1 1000 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier + +# press ctrl-o or ctrl-g for 1 second to launch orca in speech and mag mode +# +o 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier +g 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier + diff --git a/X11/gdm/modules/factory-AccessDwellMouseEvents b/X11/gdm/modules/factory-AccessDwellMouseEvents new file mode 100644 index 00000000..ee07f1ad --- /dev/null +++ b/X11/gdm/modules/factory-AccessDwellMouseEvents @@ -0,0 +1,62 @@ +# This is the configuration file for the keymouselistener.so module. +# The confiuration syntax is as follows: +# +# crossing inital_direction timeout executable_path +args +# +# For executable_path give the full executable path path of the program or the +# DefaultPath is used. +# +# where: +# +# + crossing is a string that includes any combination of TBLR characters, where +# T means Top, B means Bottom, L means Left, and R means Right. +# +# + initial_direction can be either the I or O character which indicates +# that the initial crossing is a motion In or Out of the window. +# +# e.g. +# TBLR I 10000 /usr/bin/gok --login --access-method=dwellselection +# +# Means the user crosses into the top border, out the bottom border, into the left +# border, and then out the right border (in that order). The initial_direction +# value of I is what specifies that the first crossing is into the top border +# rather than out of the top border. Each border crossing must occur within +# 10000ms of the last border crossing for the gesture to be valid. +# +# It is possible to invoke multiple actions from a single gesture using the +# keyword. Action specified with are invoked by the previous gesture +# defined in the file. If the action is the first action defined in the +# file, then it is ignored. +# +# e.g. +# +# /usr/bin/orca -n -d main-window +# + +# AT Progarm - GOK (GNOME On-screen Keyboard) +# +# Support several different options for different user needs. Note these +# gestures all start by moving the mouse into the top window border. +# +TBLR I 10000 /usr/bin/gok --login --access-method=dwellselection +TLBR I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1 +TRBL I 10000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2 +TBRL I 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3 + +# AT Program - ORCA +# +# Note these gestures all start by moving the mouse into the bottom window +# border. +# +# Speech +# +BTRL I 10000 /usr/bin/orca -n -d main-window + +# Magnifier +# +BTLR I 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier + +# Speech and Magnifier +# +BRTL I 10000 /usr/bin/orca -n -d main-window -e magnifier + diff --git a/X11/gdm/modules/factory-AccessKeyMouseEvents b/X11/gdm/modules/factory-AccessKeyMouseEvents new file mode 100644 index 00000000..90abd9b0 --- /dev/null +++ b/X11/gdm/modules/factory-AccessKeyMouseEvents @@ -0,0 +1,91 @@ +# This is the configuration file for the keymouselistener.so module. +# The confiuration syntax is as follows: +# +# For keyboard gestures: +# +# [...]key #times duration timeout executable_path +args +# +# For executable_path give the full executable path path of the program or the +# DefaultPath is used. For key, this can be one of the normal keys such as 'k' +# for the letter 'k', or 'F10' for the F10 key. If you wish to use one of the +# 'modifier' keys you have to specify which one exactly, meaning usually +# appending _L or _R depending on if it's the left or right one. The useful +# ones are: Shift_L, Shift_R, Control_L, Control_R, Meta_L, Meta_R, Alt_L, Alt_R. +# Do note that the modifier is optional. +# +# e.g. +# +# k 1 1000 10000 /usr/bin/gok --login --access-method=directselection +# +# Means press Contol-k 5 times, holding each keypress down for at least 1000ms +# (1s) each time and with no greater interval than 10000ms (10s) between each +# event in the sequence. A duration value of 0 indicates that a keypress of +# any length is accepted. The timeout value is only meaningful if the #times +# value is > 1. Completing the above example sequence will invoke the gnome on +# screen keyboard program, gok. Note that you cannot release the key +# while pressing otherwise the sequence will be lost. +# +# e.g. +# Shift_L 5 1000 10000 /usr/bin/gok --login --access-method=directselection +# Shift_R 5 1000 10000 /usr/bin/gok --login --access-method=directselection +# +# Will start gok if you press either shift key 5 times holding it down for more +# then 1 second each time. +# +# For mouse button gestures the format is the same except the mouse button number +# is specified instead of a key gesture: +# +# #times duration timeout executable_path +args +# +# e.g. +# +# 4 3000 6000 /usr/bin/orca -n -d main-window +# +# Note that mouse numbers are 1-based so is the left mouse button, +# is the right mouse button and is the middle mouse button. +# +# It is possible to invoke multiple actions from a single gesture using the +# keyword. Actions specified with are invoked by the previous gesture +# defined in the file. If the action is the first action defined in the +# file, then it is ignored. +# +# e.g. +# +# /usr/bin/gnome-mag +# + +# AT Program - GOK (GNOME On-screen Keyboard) +# +# Include a gesture for both right and left mouse button, for both right +# and left handed users. +# +# hold right or left mouse button 3 times for 3 seconds each time. + 3 3000 10000 /usr/bin/gok --login --access-method=directselection + 3 3000 10000 /usr/bin/gok --login --access-method=directselection + +# Also support Xinput switches +# + 1 5000 0 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch1 --select-action=switch1 + 3 50 3000 /usr/bin/gok --login --access-method=inversescanning --scan-action=switch1 --select-action=switch2 + 3 1000 10000 /usr/bin/gok --login --access-method=automaticscanning --scan-action=switch3 --select-action=switch3 + +# Although most GOK users would want to use a mouse/switch button to start GOK, +# also include a keybinding for starting GOK with direct selection mode. +# +k 1 1000 10000 /usr/bin/gok --login --access-method=directselection + +# AT Program - ORCA +# +# press ctrl-s for 1 second to launch orca in speech mode +# +s 1 1000 10000 /usr/bin/orca -n -d main-window + +# press ctrl-m for 1 second to launch orca in mag mode +# +m 1 1000 10000 /usr/bin/orca -n -d main-window -d speech -e magnifier + +# press ctrl-o or ctrl-g for 1 second to launch orca in speech and mag mode +# +o 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier +g 1 1000 10000 /usr/bin/orca -n -d main-window -e magnifier + diff --git a/X11/xinit/xinitrc.d/49-keychain b/X11/xinit/xinitrc.d/49-keychain new file mode 100755 index 00000000..77310b2a --- /dev/null +++ b/X11/xinit/xinitrc.d/49-keychain @@ -0,0 +1,9 @@ +#!/bin/bash + +# source keychain variables + +keychain="`which keychain`" +if [ -n "$keychain" ] && [ -x "$keychain" ] && [ -f "$HOME/.bash_profile" ] +then + . "${HOME}/.bash_profile" +fi diff --git a/X11/xinit/xinitrc.d/50-ssh-agent b/X11/xinit/xinitrc.d/50-ssh-agent new file mode 100755 index 00000000..28af2672 --- /dev/null +++ b/X11/xinit/xinitrc.d/50-ssh-agent @@ -0,0 +1,10 @@ +#!/bin/sh + +# add ssh-agent if found + +sshagent="`which 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 diff --git a/env.d/99xdg-gdm b/env.d/99xdg-gdm new file mode 100644 index 00000000..4a904c63 --- /dev/null +++ b/env.d/99xdg-gdm @@ -0,0 +1 @@ +XDG_DATA_DIRS="/usr/share/gdm" diff --git a/pam.d/gdm b/pam.d/gdm new file mode 100644 index 00000000..e51d98f2 --- /dev/null +++ b/pam.d/gdm @@ -0,0 +1,11 @@ +#%PAM-1.0 +auth optional pam_env.so +auth include system-login +auth required pam_nologin.so + +account include system-login + +password include system-login + +session include system-auth +session optional pam_gnome_keyring.so auto_start diff --git a/pam.d/gdm-autologin b/pam.d/gdm-autologin new file mode 100644 index 00000000..191c4630 --- /dev/null +++ b/pam.d/gdm-autologin @@ -0,0 +1,10 @@ +#%PAM-1.0 +auth optional pam_env.so +auth required pam_nologin.so +auth required pam_permit.so +account include system-login +password include system-login +session include system-auth +# For the keyring to unlock with autologin, you need to set an empty +# password on the keyring. +session optional pam_gnome_keyring.so auto_start diff --git a/pam.d/gdmsetup b/pam.d/gdmsetup new file mode 100644 index 00000000..b42700bd --- /dev/null +++ b/pam.d/gdmsetup @@ -0,0 +1,8 @@ +#%PAM-1.0 +auth sufficient pam_rootok.so +auth include system-login + +session required pam_permit.so +session optional pam_xauth.so + +account required pam_permit.so diff --git a/security/console.apps/gdmsetup b/security/console.apps/gdmsetup new file mode 100644 index 00000000..f55f862d --- /dev/null +++ b/security/console.apps/gdmsetup @@ -0,0 +1,5 @@ +USER=root +PROGRAM=/usr/sbin/gdmsetup +SESSION=false +FALLBACK=true +