Slijedeći dio Prethodni dio Sadržaj

3. Konfiguracija programa

Ovo su datoteke koje ćemo sređivati: /etc/profile, /etc/bashrc, .bashrc, .bash_profile, .inputrc, .less, .lessrc, .xinitrc, .fvwmrc, .fvwm2rc95, .Xmodmap, .Xdefaults, .jedrc, .abbrevs.sl, joerc, .emacs. Nemojte dodavati korisnike dok ne završite s konfiguracijom sustava; te ćete datoteke staviti u /etc/skel.

3.1 bash(1)

Ovo su glavne datoteke za prilagođavanje ponašanja basha:

Ispod su prikazani primjeri ovih datoteka. Najprije, najvažnija: /etc/profile. Koristi se za konfiguriranje mnogih mogućnosti vaše Linux kante, kao što ćete vidjeti u slijedećim dijelovima.


 
# /etc/profile

# Okružje i programi koje treba pokrenuti za cijeli sustav
# Funkcije i aliasi idu u /etc/bashrc

# Ova datoteka brine se o slijedećem:
#
#   o PATH
#   o promptovi
#   o nekoliko varijabli okružja
#   o ls u boji
#   o less
#
# Korisnici mogu poništiti ove opcije i/ili dodati druge u svojem
# $HOME/.bash_profile

# postavljamo pristojan PATH

echo $PATH | grep X11R6 > /dev/null
if [ $? = 1 ] ; then   # dodajemo direktorije PATH-u
  PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."
fi

# obavještavamo korisnika: login ili ne-login ljuska. Ako je login, prompt
# je obojan u plavo; inače je u magenta!?. Prompt root-a je crven.

KORISNIK=`whoami`
if [ $LOGNAME = $KORISNIK ] ; then
  BOJA=44
else
  BOJA=45
fi

if [ $KORISNIK = 'root' ] ; then
  BOJA=41
fi

# umjesto ^[ stavite pravi escape znak. Za to vam treba:
# emacs: ^Q ESC   vi: ^V ESC   joe: ` 0 2 7   jed: ` ESC
# Maknite `;1' ako vam se ne sviđaju podebljana slova.
ESC=^[
PS1='$ESC[$BOJA;37;1m$KORISNIK:$ESC[37;40;1m\w\$ '
PS2="Nastavite> "

# molim, bez izbacivanja corea

ulimit -c 0   

# postavljamo umask

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

# nekoliko varijabli

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

# uključujemo ls u boji

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

# podešavamo 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

Evo primjera /etc/bashrc:


 
# /etc/bashrc

# Funkcije i aliasi za cijeli sustav
# Okružje ide u /etc/profile

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

Ovo je primjer .bashrc:


 
# $HOME/.bashrc
# izvodimo globalne definicije

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

# ovo je potrebno za obavijest korisniku da nisu u login ljusci

if [ "$DOBIJ_PS1" = "" ] ; then
  BOJA=45
# umjesto ^[ stavite pravi escape znak
  ESC=^[
  PS1='$ESC[$BOJA;37m`whoami`:$ESC[37;40m\w\$ '
  export PS1
fi

# aliasi

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

# Par korisnih funkcija

inst() # Instalira .tar.gz arhivu u trenutni direktorij.
{ gzip -dc $1 | tar xvf - }

cz() # Prikazuje sadržaj .zip arhive.
{ unzip -l $* }

ctgz() # Prikazuje sadržaj .tar.gz arhive.
{
  for datoteka in $* ; do
    gzip -dc ${datoteka} | tar tf -
  done
}

tgz() # Stvara .tgz arhivu kao zip.
{
  ime=$1 ; tar -cvf $1 ; shift
  tar -rf ${ime} $*
  gzip -S .tgz ${ime}
}

Evo primjera .bash_profile:


 
# $HOME/.bash_profile

# Korisničko okružje i programi koje koje treba pokrenuti
# Ova datoteka sadrži opcije korisnika koje imaju prednost nad onima iz
# /etc/profile

# Uzmi aliase i fukncije
if [ -f ~/.bashrc ]; then
  DOBIJ_PS1="NO"  # ne mijenjamo boju prompta
  . ~/.bashrc
fi
    
# postavljamo par "normalnih" direktorija
export CDPATH="$CDPATH:$HOME:$HOME/tekst:$HOME/tekst/geologija"

# sređujemo rxvt 2.45 backspace
if [ "$COLORTERM" != "" ] ; then
  stty erase ^?
  ESC=^[  # umjesto ^] stavite pravi escape znak
  echo -n "$ESC[36l"
fi

Ovo je primjer .inputrc:


 
# $HOME/.inputrc

# značenja tipki

"\e[1~": beginning-of-line      # početak reda
"\e[3~": delete-char            # brisanje znaka lijevo od kursora
"\e[4~": end-of-line            # kraj reda
# (F1 .. F5) su "\e[[A" ... "\e[[E"
"\e[[A": "info \C-m"

set bell-style visible          # molim, bez zvuka
set meta-flag On                # omogućava 8-bitni ulaz (naglašeni znakovi/hrvatska slova)
set convert-meta Off            # ne skida 8-bitne znakove
set output-meta On              # točno prikazuje 8-bitne znakove
set horizontal-scroll-mode On   # pomiče duge komandne linije
set show-all-if-ambiguous On    # nakon što je pritisnut <TAB>

Također je potrebno slijedeće da tipke Backspace i Delete rade u redu u xtermu i drugim X11 aplikacijama:

rxvt je malo složeniji jer na njegovo ponašanje utječu neke opcije za vrijeme kompajliranja. Pogledajte gornji .bash_profile.

Više informacija u man stranicama za bash(1) i readline(3).

Ne očekujte da svaka aplikacija radi kako treba! Na primjer, ako pokrenete joe u xtermu, neke tipke neće raditi; isto vrijedi i za verzije rxvta starije od 2.21.

3.2 ls(1)

ls sadržaj direktorija može prikazivati uz boje kojima su osvijetljeni različiti tipovi datoteka. Da bi osbosobili tu mogućnost, dodajte ovo /etc/profile:


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

(Ako nemate datoteku /etc/DIR_COLORS, izbrišite prvi red.) To postavlja varijablu okružja LS_COLORS koja sadrži popis boja iz /etc/DIR_COLORS. Napomena: ne pitajte me zašto, ali to ne radi u rxvtu starijem od verzije 2.21; umjesto njega koristite neku verziju xterma. Izgleda da rxvt ima grešku koja ga spriječava u točnom naslijeđivanju okružja pod određenim okolnostima.

Calderin ls nema boja, ali ima ekvivalent color-ls. Ovo dodajte /etc/bashrc:


 
alias ls="color-ls $LS_OPCIJE"

3.3 less(1)

S ovim izvrsnim alatom možete pregledavati ne samo obične tekstualne datoteke, nego i sažete gzip-om, tar i zip arhive, man stranice i što god imate. Njegova konfiguracija sastoji se od nekoliko koraka:

3.4 emacs(1)

Ne kooristim emacs, pa vam mogu dati samo jedan savjet. Neke distribucije emacsa ne dolaze podešene za boje i sintaktičko osvijetljavanje. Dodajte ovo u svoj .emacs:


 
(global-font-lock-mode t)
(setq font-lock-maximum-decoration t)

To radi samo u X11. Ostavljam vama da pregledate cijelu dokumentaciju emacsa kako bi ga prilagodili svojim potrebama -- možda će vam trebati mjeseci...

3.5 joe(1)

Neki ljudi kažu da joe radi s bojama pod X11, ali ne na konzoli. Također, neke posebne tipke ne rade. Koliko znam, nitko nije našao rješenje za tu neugodnost; čuo sam prijedloge o igranju s /etc/termcap.

Ako iskusite takav problem, brzo i prljavo (i ružno) rješenje je ovo:

 
$ export TERM=vt100
$ joe mojadatoteka 
   (editirajte svoju datoteku)
$ export TERM=linux

3.6 jed(1)

Ovo je moj omiljeni editor: radi ono što mi treba, lakše ga je konfigurirati od emacsa, a, po mom mišljenju, druge editore emulira puno bolje. Mnogi korisnici s mog sveučilišta žele da jed emulira EDT, VMS-ov editor.

jedove konfiguracijske datoteke su .jedrc i /usr/lib/jed/lib/*; prvu možete kopirati iz jed.rc u tom direktoriju.

3.7 efax(1)

Ovo je vjerojatno najprikladniji paket za jednostavno slanje/primanje fakseva. Morat ćete prilagoditi skriptu /usr/bin/fax; lak posao, ali nekoliko stvari uzrokuje glavobolje:

3.8 TeX i prijatelji

Pretpostavit ću da imate teTeX distribuciju. Samo par stvari:

3.9 PPP

Uzet ću zdravo za gotovo da vaš kernel ima PPP i TCP/IP podršku, da je uključen loopback i da već imate dobro instaliran pppd paket i suid-an na roota. Očito, vaš ISP mora podržavati PPP.

Sada PPP možete natjerati da radi na dva načina: a) ručna konfiguracija i b) konfiguracijski program koji se automatski za to brine. Što god odabrali, neka vam ove informacije budu pri ruci:

Ručna konfiguracija je mučan posao. Morate editirati datoteke i pisati skripte; nema previše posla, ali lako je pogriješiti i početnici se često boje. Tu je PPP HOWTO. Možete koristiti i alate koji pitaju za gornje informacije i obave sav posao umjesto vas.

Svakako ćete bolje proći ako nađete prijatelja koji je već spojen i skinete neki od ovih zgodnih alata:

3.10 POP klijent

Za skidanje pošte s POP poslužitelja koristite POP klijent poput fetchpopa ili fetchmaila. Drugi je napredniji i vjerojatno jedina mogućnost ako se POP poslužitelj vašeg ISP-a ne zna nositi s naredbom LAST. Dostupni su na ftp://sunsite.unc.edu/pub/Linux/system/mail/pop.

Za konfiguriranje tih klijenata:

fetchpop:

Kada ga prvi put pokrenete, pitat će vas o nekim informacijama. Odgovorite na pitanja i spremni ste za rad.

fetchmail:

Prilagodite ovaj primjer .fetchmailrc-a:


 
# $HOME/.fetchmailrc
poll mojstroj.mojisp.com with protocol pop3;
  user jura there with password _Luu%do is jura here 

Dozvole ovoj datoteci morate postaviti naredbom chmod 600 .fetchmailrc jer će inače fetchmail s pravom odbiti pokrenuti se. Primjer je vrlo jednostavan i pretpostavlja da vaš sendmail radi; postoji beskonačno mnogo mogućnosti konfiguracije. Pogledajte http://www.ccil.org/~esr/fetchmail.

3.11 X Window System

Nakon što ste natjerali X da proradi (prava grafička kartica itd.), postoji beskonačno mnogo mogućnosti konfiguracije; ovisno o window manageru koji koristite. U svakom slučaju, sve se svodi na uređivanje jedne ili više ASCII datoteka u vašem home direktoriju. A što se tiče window managera:

fvwm:

kopirajte datoteku /etc/X11/fvwm/system.fvwmrc u svoj home direktorij kao .fvwmrc, pregledajte ju i počnite eksperimentirati. Taj je system.fvwmrc po mom mišljenju malčice prejednostavan i nepravedan prema fvwmu.

fvwm95-2:

koprajte datoteku /etc/X11/fvwm95-2/fvwm2rc95 u svoj home direktorij kao .fvwm2rc95 i onda ju editirajte. Primjer je prilično dobar.

TheNextLevel:

njega je malo teže konfigurirati. Kopirajte /etc/X11/TheNextLevel/.* u svoj home direktorij, pažljivo ih pregledajte, a onda pokušajte prilagoditi. Najvažnija je .fvwm2rc.defines.

Također provjerite svoj .xinitrc. Na primjer:


 
#!/bin/sh

# $HOME/.xinitrc

# popravimo neke tipke

usermodmap=$HOME/.Xmodmap 
xmodmap $usermodmap

xset s noblank  # ugasimo screen saver
xset s 300 2    # screen saver počinje nakon 5 min
xsetroot -solid "medium blue" &

# rxvt štedi puno memorije, ali verzije starije od 2.21 imaju greške koje
# utječu tipke i nasljeđivanje okružja. Nadogradite ili koristite xterm.

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

exec fvwm95-2

3.12 Fortran

Po mom iskustvu, ako trebate Fortran dobra alternativa g77 je Fotran-u-C prevoditelj f2c i njegovo sučelje yaf77.

yaf77.X.X.tgz nalazi se na ftp://sunsite.unc.edu/pub/Linux/devel/lang/fortran/.

3.13 Korisničke konfiguracije

Dobra je ideja novim korisnicima prepustiti nekoliko gotovih konfiguracijskih datoteka kad počnu s radom. U /etc/skel stavite ove datoteke: .bashrc, .bash_profile, .bash_logout, .inputrc, .less, .xinitrc, .fvwmrc, .fvwm2rc95, .Xmodmap, .Xdefaults, .jedrc, abbrevs.sl, .joerc, .emacs.

Primjetite da se .pinerc ne može potpuno prilagoditi; provjerite barem da su polja user-domain, smtp-server i nntp-server pravilno postavljena.

3.14 Nadogradnje

Ako nadograđujete računalo, ne zaboravite na nekoliko dodatnih datoteka. Neke od njih su: /etc/X11/XF86Config, /usr/bin/fax...


Slijedeći dio Prethodni dio Sadržaj