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.
Ovo su glavne datoteke za prilagođavanje ponašanja basha:
$HOME/.bashrc sadrži korisničke aliase i funkcije;$HOME/.bash_profile sadrži korisničko okružje i programe koje treba
pokrenuti;$HOME/.inputrc sadrži značenja tipki i druge stvari.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:
.xinitrc:
usermodmap=$HOME/.Xmodmap xmodmap $usermodmap
.Xmodmap:
keycode 22 = BackSpace keycode 107 = Delete
.Xdefaults:
xterm*VT100.Translations: #poništavamo <Key>BackSpace: string(0x7F)\n\
<Key>Delete: string(0x1b) string("[3~")\n\
<Key>Home: string(0x1b) string("[1~")\n\
<Key>End: string(0x1b) string("[4~")\n\
Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
Ctrl<Key>Next: string(0x1b) string("[41~")
nxterm*VT100.Translations: #poništavamo <Key>BackSpace: string(0x7F)\n\
<Key>Delete: string(0x1b) string("[3~")\n\
<Key>Home: string(0x1b) string("[1~")\n\
<Key>End: string(0x1b) string("[4~")\n\
Ctrl<Key>Prior: string(0x1b) string("[40~")\n\
Ctrl<Key>Next: string(0x1b) string("[41~")
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.
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"
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:
.lesskey u svoj home direktorij:
^[[A back-line ^[[B forw-line ^[[C right-scroll ^[[D left-scroll ^[OA back-line ^[OB forw-line ^[OC right-scroll ^[OD left-scroll ^[[6~ forw-scroll ^[[5~ back-scroll ^[[1~ goto-line ^[[4~ goto-end ^[[7~ goto-line ^[[8~ goto-end
lesskey. Tako ćete dobiti binarnu datoteku
.less koja sadrži značenja tipki.
#!/bin/sh
# Ovo je preprocesor za 'less'. Koristi se kada je ova varijabla okružja
# postavljena: LESSOPEN="|lesspipe.sh %s"
lesspipe() {
case "$1" in
*.tar) tar tf $1 2>/dev/null ;; # Prikazujemo sadržaj .tar i .tgz
*.tgz|*.tar.gz|*.tar.Z|*.tar.z) tar ztf $1 2>/dev/null ;;
*.Z|*.z|*.gz) gzip -dc $1 2>/dev/null ;; # Točno prikazujemo sažete datoteke
*.zip) unzip -l $1 2>/dev/null ;; # Prikazujemo arhive
*.arj) unarj -l $1 2>/dev/null ;;
*.rpm) rpm -q -p -i -l $1 2>/dev/null ;;
*.cpio) cpio --list -F $1 2>/dev/null ;;
*.1|*.2|*.3|*.4|*.5|*.6|*.7|*.8|*.9|*.n|*.man) DATOTEKA=`file -L $1`
DATOTEKA=`echo $DATOTEKA | cut -d ' ' -f 2`
if [ "$DATOTEKA" = "troff" ]; then
groff -s -p -t -e -Tascii -mandoc $1
fi ;;
*) file $1 | grep text > /dev/null ;
if [ $? = 1 ] ; then # to nije tekst
strings $1
fi ;;
esac
}
lesspipe $1
chmod 755 lesspipe.sh.
LESS="-M-Q" # dug prompt, tiho LESSEDIT="%E ?lt+%lt. %f" # mijenja red na vrhu LESSOPEN="| lesspipe.sh %s" # filter VISUAL=jed # editor -- stavite svoj omiljeni LESSCHARSET=latin1 # ako je potrebno prikazuje naglašene znakove/hrvatska slova export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET
LESSCHARSET zavisi o činjenici da ja živim u Italiji i
koristim ISO 8859/1. Vi iz Amerike, Japana, Rusije bolje ga nemojte
postavljati. (A nama iz Hrvatske sasvim odgovara. -- prim. prev.)
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...
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
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.
() = evalMfile("linux");
Info_Directory = "/usr/info"; i dodajte /bin/mail nakon
UCB_mailer =;
.jedrc. Ako želite koristiti + na numeričkoj
tipkovnici za brisanje riječi umjesto jednog znaka, dodajte ovo u
.jedrc:
unsetkey("\eOl");
unsetkey("\eOP\eOl");
setkey("edt_wdel", "\eOl");
setkey("edt_uwdel", "\eOP\eOl");
() = evalMfile("edt");.
.Xmodmap:
keycode 77 = KP_F1 keycode 112 = KP_F2 keycode 63 = KP_F3 keycode 82 = KP_F4 keycode 86 = KP_Separator
# ServerNumLock # mora se zakomentirati
XkbDisable
.Xdefaults:
xjed*Geometry: 80x32+150+50 xjed*font: 10x20 xjed*background: midnight blue
create_abbrev_table ("Global", "");
define_abbrev ("Global", "GG", "Guido Gonzato");
create_abbrev_table ("TeX", "\\A-Za-z0-9");
define_abbrev ("TeX", "\\beq", "\\begin{equation}");
define_abbrev ("TeX", "\\eeq", "\\end{equation}");
% i tako dalje...
<ESC> x abbrev_mode. Ako hoćete kraćenje
po defaultu, dodajte ovakve naredbe u svoj .jedrc:
define text_mode_hook ()
{
set_abbrev_mode (1);
}
%
define fortran_hook ()
{
set_abbrev_mode (1);
use_abbrev_table ("Fortran");
}
% i tako dalje...
Ovo je vjerojatno najprikladniji paket za jednostavno slanje/primanje fakseva. Morat ćete prilagoditi skriptu /usr/bin/fax; lak posao, ali nekoliko stvari uzrokuje glavobolje:
Pretpostavit ću da imate teTeX distribuciju. Samo par stvari:
# texconfig init ; texconfig hyphen
texhash da teTeX
prepozna novi paket;
XDvi*mfmode:
.Xdefault. Trebalo bi pomoći.
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:
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:
Kada ga prvi put pokrenete, pitat će vas o nekim informacijama. Odgovorite na pitanja i spremni ste za rad.
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.
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:
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.
koprajte datoteku /etc/X11/fvwm95-2/fvwm2rc95 u svoj
home direktorij kao .fvwm2rc95 i onda ju editirajte. Primjer je
prilično dobar.
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
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/.
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.
Ako nadograđujete računalo, ne zaboravite na nekoliko dodatnih datoteka. Neke od njih su: /etc/X11/XF86Config, /usr/bin/fax...