Полезная информация

Next Previous Contents 

3. Настройка приложений

Вот перечень файлов, которые мы будем настраивать: /etc/profile /etc/bashrc .bashrc .bash_profile .inputrc .less .lessrc .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc. .abbrevs.sl .joerc .emacs . Не добавляйте пользователей, пока вы не закончили настраивать вашу систему; вы можете положить общие файлы в /etc/skel.

3.1 bash(1)

Чтобы определить поведение bash, нужно редактировать следующие файлы: Примеры этих файлов приведены ниже. Первый и наиболее важный : /etc/profile. Он содержит настройки многих свойств вашей системы, как вы увидите в следующих секциях.


# /etc/profile

# Системные переменные окружения и программы начальной загрузки
# Функции и псевдонимы перенесены в /etc/bashrc

# Этот файл определяет следующие свойства:
#
#   o пути
#   o приглашения командной строки
#   o некоторые переменные окружения
#   o цвет ls
#   o less
#
# Пользователи могут переопределить эти установки и/или добавить другие
# $HOME/.bash_profile

# установим нужный путь

echo $PATH | grep X11R6 > /dev/null
if [ $? = 1 ] ; then   # добавим новые пути
  PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
fi

# предупреждение пльзователя: регистрирующий или нерегистрирующий shell. Если регистрирующий, то приглашение
# синего цвета; в противном случае бирюзового. Приглашение для Root'а красное.

USER=`whoami`
if [ $LOGNAME = $USER ] ; then
  COLOUR=44
else
  COLOUR=45
fi

if [ $USER = 'root' ] ; then
  COLOUR=41
fi

# задать действительный escape символ вместо ^[. Чтобы сделать это:
# emacs: ^Q ESC   vi: ^V ESC   joe: ` 0 2 7   jed: ` ESC
# Уберите `;1' если вы не любите атрибут `жирный'.
ESC=^[
PS1='$ESC[$COLOUR;37;1m$USER:$ESC[37;40;1m\w\$ '
PS2="Continue> "

# не создавать дамп памяти

ulimit -c 0   

# установка umask

if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then
  umask 002
else
  umask 022
fi

# несколько переменных

USER=`id -un`
LOGNAME=$USER
MAIL="/var/spool/mail/$USER"
EDITOR=jed
HOSTNAME=`/bin/hostname`
HISTSIZE=1000
HISTFILESIZE=1000
export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

# включить цвет в ls

eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -s -T 0 --color=tty'

# настройка less

LESS='-M-Q'
LESSEDIT="%E ?lt+%lt. %f"
LESSOPEN="| lesspipe.sh %s"
VISUAL=jed
LESSCHARSET=latin1
export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

for i in /etc/profile.d/*.sh ; do
  if [ -x $i ]; then
    . $i
  fi
done

Вот пример /etc/bashrc:


# /etc/bashrc

# Общесистемные функции и псевдонимы
# Переменные окружения перенесены в /etc/profile

alias which="type -path"
alias d="ls"
alias dir="d"

Похожий и .bashrc:


# $HOME/.bashrc
# Источник глобальных определений

if [ -f /etc/bashrc ]; then
  . /etc/bashrc
fi

# необходимо предупредить пользователя, что он в нерегистрирующем shell

if [ "$GET_PS1" = "" ] ; then
  COLOUR=45
# определение действительного escape символа вместо ^[
  ESC=^[
  PS1='$ESC[$COLOUR;37m`whoami`:$ESC[37;40m\w\$ '
  export PS1
fi

# псевдонимы

alias cp='cp -i'
alias l=less
alias lyx='lyx -width 900 -height 700'
alias mv='mv -i'
alias rm='rm -i'
alias x=startx

# Несколько полезных функций

inst() # Инсталировать .tar.gz архив в текущую директорию.
{ gzip -dc $1 | tar xvf - }

cz() # Содержание .zip архива.
{ unzip -l $* }

ctgz() # Содержание .tar.gz архива.
{
  for file in $* ; do
    gzip -dc ${file} | tar tf -
  done
}

tgz() # Создать .tgz архив по типу zip.
{
  name=$1 ; tar -cvf $1 ; shift
  tar -rf ${name} $*
  gzip -S .tgz ${name}
}

Это пример .bash_profile:


# $HOME/.bash_profile

# Пользовательские переменные окружения и программы начальной загрузки
# Этот файл содержить пользовательские настройки, который переопределяют
# установленные в /etc/profile

# Взять псевдонимы и функции
if [ -f ~/.bashrc ]; then
  GET_PS1="NO"  # не изменять цвет приглашения
  . ~/.bashrc
fi
    
# назначить несколько директорий `по умолчанию'
export CDPATH="$CDPATH:$HOME:$HOME/text:$HOME/text/geology"

# исправить забой в rxvt 2.45
if [ "$COLORTERM" != "" ] ; then
  stty erase ^?
  ESC=^[  # задать действительный escape символ вместо ^[
  echo -n "$ESC[36l"
fi

Это пример .inputrc:


# $HOME/.inputrc

# клавишные привязки

"\e[1~": beginning-of-line
"\e[3~": delete-char
"\e[4~": end-of-line
# (F1 .. F5) are "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"

set bell-style visible          # убрать писк
set horizontal-scroll-mode On   # пролистывать длинные команды
set show-all-if-ambiguous On    # после нажатия TAB

Для того, чтобы backspace и delete корректно работали в  xterm и других  X11 приложениях, необходимо сделать следующее:

rxvt немного более сложный, поскольку на его поведение влияют некоторые параметры, задаваемые во время компиляции. Смотрите выше  .bash_profile.

Более детальную информацию по bash(1) и readline(3) смотрите в man.

Не надейтесь, что все программы будут работать корректно! Если вы, например, запускаете joe в xterm некоторые клавиши не будут работать; подобное верно и для версий rxvt старее 2.21.

3.2 ls(1)

ls может отображать содержание директории используя разные цвета для отображения разных типов файлов. Чтобы включить это свойство, добавьте следующие строчки в /etc/profile:
eval `dircolors /etc/DIR_COLORS -b`
export LS_OPTIONS='-F -T 0 --color=tty'
(Если у вас нет файла /etc/DIR_COLORS, удалите ссылку на него в первой строке.) Это устанавливает переменную окружения LS_COLORS,  которая содержит список цветов установленных в  /etc/DIR_COLORS. Примечание: не спрашивайте меня почему, но это не работает с версией rxvt старее v. 2.21; используйте вместо него  xterm. Схоже на то, что rxvt имеет глюк, который не позволяет ему при некоторых обстоятельствах корректно наследовать окружение.

ls в дистрибутиве Caldera  не имеет цветов, однако есть эквивалент color-ls. Добавьте это к /etc/bashrc:

alias ls="color-ls $LS_OPTIONS"

3.3 less(1)

С помощью этого прекрасного пейджера вы можете просматривать  не только обыкновенный текст, но и сжатые gzip, tar и zip архивы, man страницы и все, что хотите. Его настройка включает несколько шагов:

3.4 emacs(1)

Я не использую  emacs, поэтому я могу посоветовать вам только одно. Некоторые дистрибутивы emacs поставляются без предустановленной цветовой и синтаксической подсветки. Допишите это в ваш .emacs:
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)
Это работает только для X11. Я отправляю вас внимательно почитать всю документацию по emacs, чтобы вы смоголи настроить его под свои нужды -- потенциально, это можеть занять несколько месяцев отладки...

3.5 joe(1)

Некоторые "товарищи" сообщают, что  joe работает с цветами под X11, но не в tty. К тому же, не работают некоторые специльные клавиши. Насколько мне известно, никто не нашел решения для маленькой старой клячи; кое-кто предлагает отлаживать  /etc/termcap.

Если вы столкнулись с этой проблемой, быстрое и плохое (и неэлегантное) решение следующее:

~$ export TERM=vt100
~$ joe myfile
   (edit your file)
~$ export TERM=linux

3.6 jed(1)

Это мой любимый редактор: он делает то, что я хочу, его легче и проще настраивать чем emacs, и IMHO отлично эмулирует другие редакторы. Многие пользователи в моем университете хотят, чтобы jed эмулировал EDT, редактор системы VMS.
Настроечным файлом для jed является .jedrc и все, что в /usr/lib/jed/lib/; предыдущий может быть взят из  jed.rc  в указанной дериктории.

3.7 efax(1)

Этот пакет вероятно самый удобный для простой отправки/получения факсов. Вам нужно будет создать скрипт /usr/bin/fax; легко работающий, но с некоторыми причудами, вызвавшими у меня головную боль:

3.8 TeX и аналоги

Я предположу, что у вас дистрибутив teTeX. Остановимся здесь только на нескольких вещах:

3.9 PPP

Здесь я буду предполагать, что поддержка PPP + TCP/IP уже встроена в ядро при компиляции, активирован loopback интерфейс, вы уже имеете корректно инсталированный пакет pppd и зарегистрированы под root. Обычно ваш интернет провайдер должен поддерживать PPP.

Существует теперь два способа заставить PPP работать: a) ручная настройка, и b) с помощью конфигурационной программы, которая это делает сама. Какой бы вариант вы не выбрали, вам потребуется следующая информация:

Ручная настройка более хлопотная. Нужно отредактировать некоторые файлы и написать скрипты; не очень много работы, но легко наделать ошибок и новички часто пугаются. Здесь вам может помочь PPP-HOWTO. Как альтернатива, существуют утилиты, которые спрашивают перечисленную выше информацию и делают всю работу сами.

Будет несравненно лучше для вас, исли вы посетите товарища, который уже имеет настроенную связь с провайдером и скачаете один из следующих прекрасных инструментов:

3.10 POP клиент

Для получения вашей почты с POP сервера, вы используете таких POP клиентов как fetchpop или fetchmail. Последний более продвинут, и вероятно является единственным выбором, если PPP сервер вашего провайдера не может работать с командой LAST. Они доступны на ftp://sunsite.unc.edu/pub/Linux/system/mail/pop.

Для настройки этих клиентов:

3.11 Система X Window

Как только вы заставили X работать (правильный выбор видеокарты и т.п.), существуют безграничные возможности для настройки - все зависит от того, какой менеджер окон вы выбрали. В любом случае, все сведется к редактированию одного или нескольких ASCII файлов в вашей домашней директории. Так для менеджеров окон: К тому же, убедитесь, что у вас корректный  .xinitrc. Например:
#!/bin/sh

# $HOME/.xinitrc

# настройка корректной работы некоторых клавиш

usermodmap=$HOME/.Xmodmap 
xmodmap $usermodmap

xset s noblank  # выключить хранитель экрана
xset s 300 2    # хранитель экрана запустится через 5 минут
xsetroot -solid "medium blue" ?

# rxvt занимает меньше памяти, но у версий старше 2.21 есть глюки 
# касательно клавиш и способа наследования окружения. Обновите версию или
# используйте вместо него xterm.

xterm -ls -bg black -fg white -sb -sl 500 -j -ls -fn 10x20 -fb 10x20bold \
-title "Color xterm" -geometry 80x25+150+0 ?

fvwm95-2

3.12 Fortran

Судя по моему опыту, если вам нужен Фортран, то лучшей альтернативой использованию  g77 будет Фортран --> Си транслятор f2c и перед ним yaf77.

yaf77-X.Y.tgz можно получить на ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran .

3.13 Настройки пользователей

Хорошая идея предоставить новому пользователю несколько готовых настроечных файлов во время первой регистрации в системе. Поместите следующие файлы в /etc/skel: .bashrc .bash_profile .bash_logout .inputrc .less .xinitrc .fvwmrc .fvwm2rc95 .Xmodmap .Xdefaults .jedrc .abbrevs.sl. .joerc .emacs

Заметьте, что .pinerc  может быть не одинаковым; удостоверьтесь, что, как минимум, user-domain, smtp-server, и nntp-server установлены правильно.

3.14 Модернизация

Если вы обновляете ваш компьютер, не забудьте сохранить до этого некоторые дополнительные файлы. Некоторые из них: /etc/X11/XF86Config, /usr/bin/fax, ...


Next Previous Contents