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 meta-flag On                # разрешить 8-битный ввод (например, диакритические знаки)

set convert-meta Off            # не выдалять 8-битные символы

set output-meta On              # корректно отображать 8-битные символы

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

Banner.Novgorod.Ru