Рейтинг@Mail.ru
[Войти] [Зарегистрироваться]

Наши друзья и партнеры

UnixForum
Альтернативная энергия



Книги по Linux (с отзывами читателей)

Библиотека сайта или "Мой Linux Documentation Project"

Исследуем процесс загрузки Linux

(C) В.А.Костромин, 2007
(версия файла от 6.10.2007 г.)


Назад Оглавление Вперед

Приложение 4. Скрипты из каталога /etc/profile.d/ системы Mandriva Free 2007.

Листинг 17. Файл /etc/profile.d/10lang.sh системы Mandriva Free 2007.1.

# /etc/profile.d/lang.sh - set i18n stuff

# revert special console/X11 settings if needed
if [ "$LC_SOURCED_CONSOLE" = 1 -a -n "$DISPLAY" ]; then
	unset LC_SOURCED
	unset LC_SOURCED_CONSOLE
elif [ "$LC_SOURCED_X11" = 1 -a -z "$DISPLAY" ]; then
	unset LC_SOURCED
	unset LC_SOURCED_X11
fi

# if GDM_LANG is defined that means a language other than the user default
# has been chosen trough gdm login for the session; so we define
# LC_SOURCED=1 to not read the system/user i18n files
if [ -n "$GDM_LANG" ]; then
    LANG="$GDM_LANG"
    LC_SOURCED=1
    export LC_SOURCED
fi

# only source one of the possible files, and in that order;
# if system wide and user config are mixed and different, umpredictable
# things will happen...
for langfile in $HOME/.i18n /etc/sysconfig/i18n ; do
	[ -f $langfile -a "$LC_SOURCED" != 1 ] && . $langfile && LC_SOURCED=1 && export LC_SOURCED
done    

if [ "$LC_SOURCED" = 1 ]; then
    if [ -n "$LANG" ] ; then
       [ "$LANG" = "C" ] && LANG="en_US"
       export LANG
    else
       unset LANG
    fi
    [ -n "$LANG" ] && export LANG || unset LANG
    [ -n "$LC_ADDRESS" ] && export LC_ADDRESS || unset LC_ADDRESS
    [ -n "$LC_CTYPE" ] && export LC_CTYPE || unset LC_CTYPE
    [ -n "$LC_COLLATE" ] && export LC_COLLATE || unset LC_COLLATE
    [ -n "$LC_IDENTIFICATION" ] && export LC_IDENTIFICATION || unset LC_IDENTIFICATION
    [ -n "$LC_MEASUREMENT" ] && export LC_MEASUREMENT || unset LC_MEASUREMENT
    [ -n "$LC_MESSAGES" ] && export LC_MESSAGES || unset LC_MESSAGES
    [ -n "$LC_MONETARY" ] && export LC_MONETARY || unset LC_MONETARY
    [ -n "$LC_NAME" ] && export LC_NAME || unset LC_NAME
    [ -n "$LC_NUMERIC" ] && export LC_NUMERIC || unset LC_NUMERIC
    [ -n "$LC_PAPER" ] && export LC_PAPER || unset LC_PAPER
    [ -n "$LC_TELEPHONE" ] && export LC_TELEPHONE || unset LC_TELEPHONE
    [ -n "$LC_TIME" ] && export LC_TIME || unset LC_TIME
    if [ -n "$LC_ALL" ]; then
       if [ "$LC_ALL" != "$LANG" ]; then
         export LC_ALL
       else
         unset LC_ALL
       fi
    else
       unset LC_ALL
    fi
    [ -n "$LANGUAGE" ] && export LANGUAGE || unset LANGUAGE
    [ -n "$LINGUAS" ] && export LINGUAS || unset LINGUAS
    
    if [ -n "$RPM_INSTALL_LANG" ]; then
       export RPM_INSTALL_LANG
    else
       unset RPM_INSTALL_LANG
    fi

    # XIM and keyboard stuff
    [ -n "$ENC" ] && export ENC || unset ENC
    [ -n "$XIM" ] && export XIM || unset XIM
    [ -n "$XIM_PROGRAM" ] && export XIM_PROGRAM || unset XIM_PROGRAM
    [ -n "$XMODIFIERS" ] && export XMODIFIERS || unset XMODIFIERS
    [ -n "$_XKB_CHARSET" ] && export _XKB_CHARSET || unset _XKB_CHARSET
    [ -n "$GTK_IM_MODULE" ] && export GTK_IM_MODULE || unset GTK_IM_MODULE
    [ -n "$QT_IM_MODULE" ] && export QT_IM_MODULE || unset QT_IM_MODULE
    
    consoletype=$(/sbin/consoletype)

    [ -f /etc/init.d/mandrake_consmap ] && . /etc/init.d/mandrake_consmap

    unset SYSFONTACM SYSFONT

    # handling of special cases where localization is done
    # only on console or only on X11.
    # when launching an xdm-like program we are not yet in X11 (so
    # $DISPLAY is not defined) but obviously we will, so we check
    # also $DESKTOP which is defined before calling xdm-like program
    if [ -n "$DISPLAY" ]; then
	if [ "$X11_NOT_LOCALIZED" = "yes" ]; then
		LANGUAGE=C
		LC_SOURCED_X11=1
		export LC_SOURCED_X11
	fi
    elif [ -z "$DESKTOP" ]; then
	if [ "$CONSOLE_NOT_LOCALIZED" = "yes" ]; then
		LANGUAGE=C
		LC_SOURCED_CONSOLE=1
		export LC_SOURCED_CONSOLE
	fi
    fi
    
    if [ -n "$CHARSET" ]; then
	case $CHARSET in
	    8859-1|8859-2|8859-5|8859-8|8859-15|koi*)
                if [ "$TERM" = "linux" -a "$consoletype" = "vt" ]; then
                       echo -n -e '\033(K' 2>/dev/null > /proc/$$/fd/0
                fi
                ;;
        esac
    elif [ -n "$SYSFONTACM" ]; then
	case $SYSFONTACM in
	    iso01*|iso02*|iso05*|iso08*|iso15*|koi*|latin2-ucw*)
		if [ "$TERM" = "linux" -a "$consoletype" = "vt" ]; then
			echo -n -e '\033(K' 2>/dev/null > /proc/$$/fd/0
		fi
		;;
	esac
    fi
    if [ -n "$LANG" ]; then
      case $LANG in
    	*.utf8*|*.UTF-8*)
    	if [ "$TERM" = "linux" ]; then
    	    if [ "$consoletype" = "vt" ]; then
    	    	case $LANG in 
    	    		ja*) LANG=en_US.UTF-8 ;;
    	    		ko*) LANG=en_US.UTF-8 ;;
			si*) LANG=en_US.UTF-8 ;;
    	    		zh*) LANG=en_US.UTF-8 ;;
    	    		en_IN*) ;;
    	    		*_IN*) LANG=en_US.UTF-8 ;;
    	    	esac
		[ -x /bin/unicode_start ] && /sbin/consoletype fg && /bin/unicode_start $SYSFONT $SYSFONTACM
            fi
        fi
	;;
	*)
	if [ "$TERM" = "linux" ]; then
	    if [ "$consoletype" = "vt" ]; then
    	    	case $LANG in 
    	    		ja*) LANG=en_US ;;
    	    		ko*) LANG=en_US ;;
			si*) LANG=en_US ;;
    	    		zh*) LANG=en_US ;;
    	    		en_IN*) ;;
    	    		*_IN*) LANG=en_US ;;
    	    	esac
	    	[ -x /bin/unicode_stop ] && /sbin/consoletype fg && /bin/unicode_stop
	    fi
	fi
	;;
      esac
    fi
    [ -n "$LANGUAGE" ] && export LANGUAGE

fi
unset langfile

Листинг 18. Файл /etc/profile.d/10mandriva-release.sh системы Mandriva Free 2007.1.

. /etc/sysconfig/system
export META_CLASS

Листинг 19. Файл /etc/profile.d/alias.sh системы Mandriva Free 2007.1.

#!/bin/sh
# Linux-Mandrake configuration: Chmouel Boudjnah <chmouel@mandrakesoft.com>
#
# Common Aliases for a system.
#
# The Semantic is :
#	If exist a ~/.alias and the user hasn't specified a
#	LOAD_SYSTEM_ALIAS variables then don't do any system aliases
#	If there is no ~/.alias but the user has specified a
#	IGNORE_SYSTEM_ALIASES then don't do any system aliases.

[ -f ~/.alias ] && [ -z $LOAD_SYSTEM_ALIASES ] && return 0
[ -n "$IGNORE_SYSTEM_ALIASES" ] && return 0

if [ -f ~/.dir_colors ]; then
	eval `dircolors --sh ~/.dir_colors`
else
	eval `dircolors --sh /etc/DIR_COLORS`
fi

# Don't define aliases in plain Bourne shell
[ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ] || return 0

# default ls options
LS_OPTIONS="-F"

# this should be removed once the bug with ls and multibytes locales is fixed
[ -r /etc/profile.d/lang.sh ] && . /etc/profile.d/lang.sh
case "$LC_ALL$LC_CTYPE" in
    ja*|ko*|zh*) LS_OPTIONS="$LS_OPTIONS --show-control-chars" ;;
    *) if [ "`locale charmap`" = "UTF-8" ]; then
        LS_OPTIONS="$LS_OPTIONS --show-control-chars"
       fi ;;
esac

# emacs doesn't support color
if [ $TERM != "emacs" ];then
    LS_OPTIONS="$LS_OPTIONS --color=auto"
fi

alias ls="ls $LS_OPTIONS"

alias d="ls"                                                  
alias l="ls"       		# classical listing.
alias ll="ls -l"   		# List detailled. 
alias la='ls -a'     	# List all.               
alias lsd="ls -d */"		# List only the directory.
alias cd..="cd .."		
alias s="cd .."
alias p="cd -"

alias md="mkdir"
alias rd="rmdir"
alias cp="cp -i"
alias mv="mv -i"
alias rm="rm -i"

alias grep="grep --color"      # colored grep by default

# Size of a directory (by default Human Readable).
alias du='du -h'                              
                                              
# Size of a disk (by default Human Readable). 
# and don't probe supermount
alias df='df -h -x supermount'

Листинг 20. Файл /etc/profile.d/configure_keyboard.sh системы Mandriva Free 2007.1.

#!/bin/sh

# bash sets the $- variable, and puts 'c' in it if it is a non-interactive
# shell
# For other shells, I assume $- is not available
if [ "$SHELL" = "/bin/bash" ]; then
		if echo $- | grep 'c' >/dev/null; then
				return  #non-interactive
		fi
fi

# Run only in interactive sessions
if [ -n "$PS1" ]; then
    if [ -x /etc/sysconfig/keyboard ]; then
	. /etc/sysconfig/keyboard 2> /dev/null
    fi
    
    if [ -z "$BACKSPACE" ]; then
	# the code for Backspace key is arch-dependent.
	# FIXME: what really returns uname for non-PC machines ???
	case `uname -m`-`uname -p` in
	    i[3456789]86-*) BSNUM=14 ;;
	    *-amiga) BSNUM=65 ;;
	    m68k-atari) BSNUM=14 ;;
	    *-macintosh) BSNUM=51 ;;
	    mips-sun) BSNUM=43 ;;
	    *) BSNUM=999 ;;
	esac

	if [ "$BSNUM" != "999" ]; then
	    BACKSPACE=`dumpkeys 2> /dev/null | grep "^keycode  $BSNUM" | awk '{print $4}'`
	fi
    fi
    
    # BackSpace sends BackSpace
    if [ "$BACKSPACE" = "BackSpace" ]; then
    
	if tty --quiet ; then
	    : #stty erase '^H' &
	fi
    
	# xterm
	if [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" ]; then
	    echo -en '\033[36h'
	fi
    
    # BackSpace sends Delete
    else
    
	if tty --quiet ; then
	    : #stty erase '^?' &
	fi
    
	# xterm
	if [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" ]; then
	    echo -en '\033[36l'
	fi
    fi
    
    # activate keypad on xterm
    if [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" ]; then
	# activate keypad
	echo -en '\033>'
    fi
fi

# ugly hack for an ugly bug
#killall -9 stty > /dev/null >& /dev/null

Листинг 21. Файл /etc/profile.d/gconf.sh системы Mandriva Free 2007.1.

if [ -z "$GCONF_TMPDIR" ]; then
	GCONF_TMPDIR=/tmp
	export GCONF_TMPDIR
fi

Листинг 22. Файл /etc/profile.d/glib20.sh системы Mandriva Free 2007.1.

## This caused GLib2 applications to convert filenames from 
## locale encoding to UTF-8. If the locale encoding is already
## UTF-8 then it makes no difference.

G_FILENAME_ENCODING="@locale"
export G_FILENAME_ENCODING

Листинг 23. Файл /etc/profile.d/inputrc.sh системы Mandriva Free 2007.1.

#!/bin/bash

test -f $HOME/.inputrc || export INPUTRC=/etc/inputrc
export LESS=-MM
test -f $HOME/.less || export LESSKEY=/etc/.less

Листинг 24. Файл /etc/profile.d/kde3.sh системы Mandriva Free 2007.1.

#!/bin/sh
alias kde="xinit /usr/bin/startkde"

Листинг 25. Файл /etc/profile.d/less.sh системы Mandriva Free 2007.1.

#!/bin/sh
CHARSET=$(locale charmap 2> /dev/null) 
case "$CHARSET" in 
       UTF-8) 
               export LESSCHARSET="${LESSCHARSET:-utf-8}" 
       ;; 
       * ) 
               export LESSCHARSET="${LESSCHARSET:-koi8-r}" 
       ;; 
esac
# Make a filter for less
export LESSOPEN="|/usr/bin/lesspipe.sh %s"

Листинг 26. Файл /etc/profile.d/mc.sh системы Mandriva Free 2007.1.

# Don't define aliases in plain Bourne shell
[ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ] || return 0
alias mc='. /usr/share/mc/bin/mc-wrapper.sh'

Листинг 27. Файл /etc/profile.d/menustyle.sh системы Mandriva Free 2007.1.

if [ "$META_CLASS" = "desktop" ]; then 
	MDV_MENU_STYLE=discovery 
else
	MDV_MENU_STYLE=mandriva
fi

[ -r /etc/sysconfig/menustyle ] && source /etc/sysconfig/menustyle
[ -r $HOME/.menustyle ] && source $HOME/.menustyle

if [ "$MDV_MENU_STYLE" = "discovery" -a "x$XDG_CONFIG_DIRS" = "x" ]; then
	XDG_CONFIG_DIRS=/etc/xdg/discovery:/etc/xdg
	export XDG_CONFIG_DIRS
fi

export MDV_MENU_STYLE

Листинг 28. Файл /etc/profile.d/msec.sh системы Mandriva Free 2007.1.

#---------------------------------------------------------------
# Project         : Mandriva Linux
# Module          : msec
# File            : msec.sh
# Version         : $Id: msec.sh,v 1.13 2005/09/08 09:27:30 flepied Exp $
# Author          : Yoann Vandoorselaere
# Created On      : Wed Feb 13 18:35:58 2002
# Purpose         : settings according to security level
#---------------------------------------------------------------

if [ -r /etc/sysconfig/msec ]; then
	. /etc/sysconfig/msec
fi

if [ `id -u` -ge 500 ]; then
    if [ -n "$UMASK_USER" ]; then
	umask $UMASK_USER
    else
	umask 022
    fi
else
    if [ -n "$UMASK_ROOT" ]; then
	umask $UMASK_ROOT
    else
	umask 002
    fi
fi

if [ -n "$SECURE_LEVEL" ]; then
    if [ "$SECURE_LEVEL" -le 1 ] && ! echo ${PATH} | fgrep -q :.; then
	export PATH=$PATH:.
    fi
fi

export SECURE_LEVEL

[ -n "$TMOUT" ] && type typeset > /dev/null 2>&1 && typeset -r TMOUT

# msec.sh ends here

Листинг 29. Файл /etc/profile.d/numlock.sh системы Mandriva Free 2007.1.

# Linux-Mandrake configuration.
#	ReLock the NumLock key if /etc/rc.d/init.d/numlock has been run.
#	This is needed because login resets the tty.

MY_TTY=`tty`
case $MY_TTY in
    /dev/tty[0-9]*)	[ -f /var/lock/subsys/numlock ] && setleds -D +num < $MY_TTY;;
esac
unset MY_TTY

Листинг 30. Файл /etc/profile.d/python.sh системы Mandriva Free 2007.1.

#!/bin/sh
if [ -f $HOME/.pythonrc.py ] ; then
	export PYTHONSTARTUP=$HOME/.pythonrc.py
else
	export PYTHONSTARTUP=/etc/pythonrc.py
fi

Листинг 31. Файл /etc/profile.d/qtdir3.sh системы Mandriva Free 2007.1.

# Set QTDIR for Bash shell
if [ -z "$QTDIR" ]; then
   export QTDIR="/usr/lib/qt3/"
fi

PATH=$PATH:$QTDIR/bin
export PATH

Листинг 32. Файл /etc/profile.d/screen.sh системы Mandriva Free 2007.1.

#!/bin/sh
# /etc/profile.d/screen.sh

if [ -z "$SCREENDIR" ]; then
    export SCREENDIR=$HOME/tmp
fi

Листинг 33. Файл /etc/profile.d/ssh-client.sh системы Mandriva Free 2007.1.

#!/bin/sh
# fix hanging ssh clients on exit

if [ -n "$BASH_VERSION" ]; then
	shopt -s huponexit
elif [ -n "$ZSH_VERSION" ]; then
	setopt hup
fi

Листинг 34. Файл /etc/profile.d/tmpdir.sh системы Mandriva Free 2007.1.

#!/bin/sh
# $Id$
# Set TMPDIR to ~/tmp and create it if directory not exist.

if [ -f /etc/sysconfig/system ];then
    . /etc/sysconfig/system
fi

SECURE_LEVEL=3			# default level without msec
if [ -f /etc/sysconfig/msec ];then
    eval `grep ^SECURE_LEVEL= /etc/sysconfig/msec | head -1`
fi

if [ "$SECURE_TMP" = "yes" -o "$SECURE_TMP" = "1" -o "$SECURE_TMP" = "YES" -o "$SECURE_LEVEL" -ge 2 ];then
    if [ -d ${HOME}/tmp -a -w ${HOME}/tmp ];then
	export TMPDIR=${HOME}/tmp
	export TMP=${HOME}/tmp
    elif mkdir -p ${HOME}/tmp >/dev/null 2>&1;then
	chmod 700 ${HOME}/tmp
	export TMPDIR=${HOME}/tmp
	export TMP=${HOME}/tmp
    else
	export TMPDIR=/tmp/
	export TMP=/tmp/
    fi
fi

Листинг 35. Файл /etc/profile.d/xhost.sh системы Mandriva Free 2007.1.

# Export Xauthority for users not for root.

if [ ! -z "$DISPLAY" -a -z "$SSH_TTY" ];then
	if [ "`id -u`" -gt 14 ];then
		if [ -z $XAUTHORITY ];then
		    export XAUTHORITY=$HOME/.Xauthority
		fi
	fi
fi

Назад Оглавление Вперед


Эта статья еще не оценивалась
Вы сможете оценить статью и оставить комментарий, если войдете или зарегистрируетесь.
Только зарегистрированные пользователи могут оценивать и комментировать статьи.

Комментарии отсутствуют