SuSEconfig is finally gone [FATE#100011]
[opensuse:fcrozats-aaa_base.git] / files / etc / profile
1 # /etc/profile for SuSE Linux
2 #
3 # PLEASE DO NOT CHANGE /etc/profile. There are chances that your changes
4 # will be lost during system upgrades. Instead use /etc/profile.local for
5 # your local settings, favourite global aliases, VISUAL and EDITOR
6 # variables, etc ...
7
8 #
9 # Check which shell is reading this file
10 #
11 if test -f /proc/mounts ; then
12   if ! is=$(readlink /proc/$$/exe 2>/dev/null) ; then
13     case "$0" in
14     *pcksh)     is=ksh  ;;
15     *)          is=sh   ;;
16     esac
17   fi
18   case "$is" in
19     */bash)     is=bash
20         case "$0" in
21         sh|-sh|*/sh)
22                 is=sh   ;;
23         esac            ;;
24     */ash)      is=ash  ;;
25     */dash)     is=ash  ;;
26     */ksh)      is=ksh  ;;
27     */ksh93)    is=ksh  ;;
28     */pdksh)    is=ksh  ;;
29     */*pcksh)   is=ksh  ;;
30     */zsh)      is=zsh  ;;
31     */*)        is=sh   ;;
32   esac
33   #
34   # `r' in $- occurs *after* system files are parsed
35   #
36   for a in $SHELL ; do
37     case "$a" in
38       */r*sh)
39         readonly restricted=true ;;
40       -r*|-[!-]r*|-[!-][!-]r*)
41         readonly restricted=true ;;
42       --restricted)
43         readonly restricted=true ;;
44     esac
45   done
46   unset a
47 else
48   is=sh
49 fi
50
51 #
52 # Call common progams from /bin or /usr/bin only
53 #
54 path ()
55 {
56     command -p ${1+"$@"}
57 }
58
59 #
60 # Initialize terminal
61 #
62 tty=`path tty 2> /dev/null`
63 test $? -ne 0 && tty=""
64 if test -O "$tty" -a -n "$PS1"; then
65     test -z "${TERM}"           && { TERM=linux; export TERM; }
66     test "${TERM}" = "unknown"  && { TERM=linux; export TERM; }
67     # Do not change settings on local line if connected to remote
68     if test -z "$SSH_TTY" -a "${TERM}" != "dumb" ; then
69         path stty sane cr0 pass8 dec
70         path tset -I -Q
71     fi
72     # on iSeries virtual console, detect screen size and terminal
73     if test -d /proc/iSeries -a \( "$tty" = "/dev/tty1" -o "$tty" = "/dev/console" \) ; then
74         LINES=24
75         COLUMNS=80
76         export LINES COLUMNS TERM
77         eval `path initviocons -q -e`
78     fi
79 fi
80 unset TERMCAP
81
82 #
83 # Time until a complete key sequence must have arrived
84 #
85 #ESCDELAY=2000
86 #export ESCDELAY
87
88 #
89 # The user file-creation mask
90 #
91 # The global umask value is stored in /etc/login.defs and
92 # will be set by pam_umask.so (see "man pam_umask").
93 #umask 022
94
95 #
96 # Setup for gzip and (t)csh users
97 #
98 if test -z "$PROFILEREAD" ; then
99     # GZIP=-9
100     # export GZIP
101     CSHEDIT=emacs
102     export CSHEDIT
103 fi
104
105 #
106 # ksh/ash sometimes do not know
107 #
108 test -z "$UID"  && readonly  UID=`path id -ur 2> /dev/null`
109 test -z "$EUID" && readonly EUID=`path id -u  2> /dev/null`
110 test -z "$USER" && USER=`path id -un 2> /dev/null`
111 test -z "$MAIL" && MAIL=/var/spool/mail/$USER
112 if test -x /bin/uname ; then
113     test -z "$HOST" && HOST=`/bin/uname -n`
114     test "$HOST" = "localhost" && HOST=`/bin/uname -n`
115     test -z "$CPU"  &&  CPU=`/bin/uname -m`
116 fi
117 # Remark: /proc/sys/kernel/domainname and the program domainname
118 # its self will provide the NIS/YP domainname, see domainname(8).
119 if test -s /etc/HOSTNAME ; then
120     test -z "$HOSTNAME" && HOSTNAME=`cat /etc/HOSTNAME`
121 else
122     test -z "$HOSTNAME" && HOSTNAME=$HOST
123 fi
124 test -z "$LOGNAME"  && LOGNAME=$USER
125 case "$CPU" in
126     i?86) HOSTTYPE=i386   ;;
127     *)    HOSTTYPE=${CPU} ;;
128 esac
129   OSTYPE=linux
130 MACHTYPE=${CPU}-suse-${OSTYPE}
131 # Do NOT export UID, EUID, USER, and LOGNAME
132 export MAIL HOST CPU HOSTNAME HOSTTYPE OSTYPE MACHTYPE
133
134 #
135 # You may use /etc/initscript, /etc/profile.local or the
136 # ulimit package instead to set up ulimits and your PATH.
137 #
138 # if test "$is" != "ash" -a ! -r /etc/initscript; then
139 #     ulimit -Sc 0              # don't create core files
140 #     ulimit -Sd $(ulimit -Hd)
141 #     ulimit -Ss $(ulimit -Hs)
142 #     ulimit -Sm $(ulimit -Hm)
143 # fi
144
145 #
146 # Make path more comfortable
147 #
148 if test -z "$PROFILEREAD" ; then
149     PATH=/usr/local/bin:/usr/bin:/bin
150     if test "$HOME" != "/" ; then
151         for dir in $HOME/bin/$CPU $HOME/bin ; do
152             test -d $dir && PATH=$dir:$PATH
153         done
154     fi
155     if test "$UID" = 0 ; then
156         test -d /opt/kde3/sbin  && PATH=/opt/kde3/sbin:$PATH
157         PATH=/sbin:/usr/sbin:/usr/local/sbin:$PATH
158     fi
159     for dir in  /usr/X11/bin \
160                 /usr/bin/X11 \
161                 /usr/X11R6/bin \
162                 /var/lib/dosemu \
163                 /usr/games \
164                 /opt/bin \
165                 /opt/kde3/bin \
166                 /opt/kde2/bin \
167                 /opt/kde/bin \
168                 /usr/openwin/bin \
169                 /opt/cross/bin
170     do
171         test -d $dir && PATH=$PATH:$dir
172     done
173     unset dir
174     export PATH
175 fi
176
177 #
178 # Many programs using readline library for line editing
179 # should know about this (e.g. bash)
180 #
181 if test -z "$INPUTRC" ; then
182     INPUTRC=/etc/inputrc
183     test -s $HOME/.inputrc && INPUTRC=$HOME/.inputrc
184     export INPUTRC
185 fi
186
187 #
188 # Most bourn shell clones knows about this
189 #
190 if test -z "$PROFILEREAD" ; then
191     HISTSIZE=1000
192     export HISTSIZE
193 fi
194
195 #
196 # Set some environment variables for TeX/LaTeX (Not used due luatex)
197 #
198 #if test -n "$TEXINPUTS" ; then
199 #    TEXINPUTS=":$TEXINPUTS:$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX"
200 #else
201 #    TEXINPUTS=":$HOME/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX"
202 #fi
203 #export TEXINPUTS
204
205 #
206 # Configure the default pager on SuSE Linux
207 #
208 if test -z "$LESS" -a -x /usr/bin/less ; then
209     LESS="-M -I -R"
210     LESSOPEN="lessopen.sh %s"
211     LESSCLOSE="lessclose.sh %s %s"
212     LESS_ADVANCED_PREPROCESSOR="no"
213     if test -s /etc/lesskey.bin ; then
214         LESSKEY=/etc/lesskey.bin
215     fi
216     PAGER=less
217     MORE=-sl
218     export LESSOPEN LESSCLOSE LESS LESSKEY PAGER LESS_ADVANCED_PREPROCESSOR MORE
219 fi
220
221 #
222 # Minicom 
223 #
224 if test -z "$PROFILEREAD" ; then
225     MINICOM="-c on"
226     export MINICOM
227 fi
228
229 #
230 # Current manpath
231 #
232 if test -z "$PROFILEREAD" ; then
233     tmp="$MANPATH"
234     unset MANPATH
235     if test -n "$tmp" ; then
236         MANPATH="${tmp}:`test -x /usr/bin/manpath && /usr/bin/manpath -q`"
237     else
238         MANPATH="`test -x /usr/bin/manpath && /usr/bin/manpath -q`"
239     fi
240     unset tmp
241     export MANPATH
242 fi
243
244 #
245 # Some applications do not handle the XAPPLRESDIR environment properly,
246 # when it contains more than one directory. More than one directory only
247 # makes sense if you have a client with /usr mounted via nfs and you want
248 # to configure applications machine dependent. Uncomment the lines below
249 # if you want this.
250 #
251 #XAPPLRESDIR="$XAPPLRESDIR:/var/X11R6/app-defaults:/usr/X11R6/lib/X11/app-defaults"
252 #export XAPPLRESDIR
253
254 #
255 # These settings are recommended for old motif applications
256 #
257 if test -z "$PROFILEREAD" ; then
258     if [ -r /usr/share/X11/XKeysymDB ]; then
259         export XKEYSYMDB=/usr/share/X11/XKeysymDB
260     else
261         export XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB
262     fi
263     if [ -d /usr/share/X11/nls ]; then
264         export XNLSPATH=/usr/share/X11/nls
265     else
266         export XNLSPATH=/usr/X11R6/lib/X11/nls
267     fi
268
269     #
270     # Midnight Commander needs this to run in color mode
271     #
272     COLORTERM=1
273     export COLORTERM
274 fi
275
276 #
277 # For RCS
278 #
279 #VERSION_CONTROL=numbered
280 #export VERSION_CONTROL
281
282 #
283 # Source profile.d files and UTF8 settings
284 #
285 # But do not source this if PROFILEREAD is already set to avoid
286 # overriding locale variables already present in the environment
287 #
288 if test -z "$PROFILEREAD" ; then
289     test -r /etc/profile.d/sh.ssh   && . /etc/profile.d/sh.ssh
290     if test -z "$SSH_SENDS_LOCALE" ; then
291         if test -r /etc/sysconfig/language -a -r /etc/profile.d/sh.utf8 ; then
292             tmp="$(. /etc/sysconfig/language; echo $AUTO_DETECT_UTF8)"
293             test "$tmp" = "yes" && . /etc/profile.d/sh.utf8
294             unset tmp
295         fi
296     fi
297 fi
298
299 #
300 # Source profile extensions for certain packages, the super
301 # may disable some of them by setting the sticky bit.
302 #
303 if test -d /etc/profile.d -a -z "$PROFILEREAD" ; then
304     for s in /etc/profile.d/*.sh ; do
305         test -r $s -a ! -k $s && . $s
306     done
307     unset s
308 fi
309
310 if test "$is" != "ash" ; then
311     #
312     # And now let's see if there is a local profile
313     # (for options defined by your sysadmin, not SuSE Linux)
314     #
315     test -s /etc/profile.local && . /etc/profile.local
316 fi
317
318 #
319 # Avoid overwriting user settings if called twice
320 #
321 if test -z "$PROFILEREAD" ; then
322     readonly PROFILEREAD=true
323     export PROFILEREAD
324 fi
325
326 #
327 # Standard ssh command does not do an login, therefore
328 # /etc/profile will be sourced by /etc/bash.bashrc
329 #
330 if test -z "$_SOURCED_FOR_SSH" ; then
331     #
332     # System BASH specials, maybe also good for other shells
333     # Note that ksh always reads /etc/ksh.kshrc
334     #
335     if test "$is" != ksh -a "$is" != zsh ; then
336         test -r /etc/bash.bashrc && . /etc/bash.bashrc
337     fi
338     if test -n "$restricted" ; then
339         readonly _HOMEBASHRC=true
340     fi
341     if test "$is" = "bash" -a -z "$_HOMEBASHRC" ; then
342         # loop detection
343         readonly _HOMEBASHRC=true
344         test -r $HOME/.bashrc && . $HOME/.bashrc
345     fi
346
347     #
348     # KSH specials
349     #
350     if test "$is" = "ksh" -a -r /etc/ksh.kshrc ; then
351         if test -n "$restricted" ; then
352             readonly _HOMEKSHRC=true
353         fi
354         if test ! /etc/bash.bashrc -ef /etc/ksh.kshrc ; then
355             test -r /etc/bash.bashrc && . /etc/bash.bashrc
356         fi
357         if test -n "$ENV" -a "$ENV" != "$HOME/.kshrc" -a -z "$_HOMEKSHRC" ; then
358             # loop detection
359             readonly _HOMEKSHRC=true
360             test -r $HOME/.kshrc && . $HOME/.kshrc
361         fi
362     fi
363 fi
364 if test -n "$restricted" ; then
365     PATH=/usr/lib/restricted/bin
366     export PATH
367 fi
368
369 #
370 # An X session
371 #
372 case "$-" in
373 *i*)
374     if test "$TERM" = "xterm" -a -O "$tty" -a -z "${SSH_TTY}" ; then
375         echo "Directory: $PWD"
376         # Last but not least
377         date
378     fi
379 esac
380
381 #
382 # End of /etc/profile
383 #