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...